Metadata-Version: 2.1
Name: MADAM
Version: 0.20.1
Summary: Digital asset management library
Home-page: https://github.com/eseifert/madam
Author: Michael Seifert, Erich Seifert
Author-email: mseifert@error-reports.org, dev@erichseifert.de
License: AGPLv3
Keywords: asset media processing
Platform: POSIX
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
Classifier: Topic :: Multimedia :: Sound/Audio :: Conversion
Classifier: Topic :: Multimedia :: Video :: Conversion
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.5
Requires-Dist: bidict
Requires-Dist: frozendict
Requires-Dist: piexif
Requires-Dist: pillow (>=5.0.0)
Requires-Dist: zopflipy (>=1.1)
Provides-Extra: doc
Requires-Dist: sphinx (>=1.3) ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'

MADAM
#####

Multimedia Advanced Digital Asset Management

|travis-badge|_ |coveralls-badge|_ |pypi-badge|_ |readthedocs-badge|_

.. |travis-badge| image:: https://api.travis-ci.org/eseifert/madam.svg?branch=master
.. _travis-badge: https://travis-ci.org/eseifert/madam
.. |coveralls-badge| image:: https://coveralls.io/repos/github/eseifert/madam/badge.svg?branch=master
.. _coveralls-badge: https://coveralls.io/github/eseifert/madam?branch=master
.. |pypi-badge| image:: https://img.shields.io/pypi/v/madam.svg?
.. _pypi-badge: https://pypi.python.org/pypi/MADAM
.. |readthedocs-badge| image:: https://readthedocs.org/projects/madam/badge/?version=latest
.. _readthedocs-badge: http://madam.readthedocs.io/en/latest/?badge=latest

MADAM is a digital asset management library. It aims to facilitate the handling
of image, audio, and video files by helping out with several tasks, like
storing, organizing, and transforming asset data.

.. quickstart_start

Installation
============
MADAM makes use of other software, which needs to be installed on your system. Make sure you have the following packages installed:

    - ``FFmpeg`` >=3.3 for video processing

After you installed these, MADAM can be installed by grabbing the latest release from PyPI:

.. code:: shell

    pip install madam


Usage
=====

Initialization:

.. code:: pycon

    >>> from madam import Madam
    >>> manager = Madam()

Define settings for different file formats:

.. code:: pycon

    >>> config = {
    ...     'image/jpeg': dict(
    ...         quality=85,
    ...     ),
    ... }
    >>> manager = Madam(config)

Reading a JPEG image and extracting metadata:

.. code:: pycon

    >>> with open('path/to/file.jpg', 'rb') as file:
    ...     asset = manager.read(file)
    >>> asset.mime_type
    'image/jpeg'
    >>> asset.width
    800
    >>> asset.height
    600

Changing the size of an image asset:

.. code:: pycon

    >>> processor = manager.get_processor(asset.essence)
    >>> make_thumbnail = processor.resize(width=100, height=100)
    >>> resized_asset = make_thumbnail(asset)
    >>> resized_asset.width
    100
    >>> resized_asset.height
    100

Converting an image to a different file format and saving it to a file:

.. code:: pycon

    >>> convert_to_png = processor.convert(mime_type='image/png')
    >>> png_asset = convert_to_png(asset)
    >>> with open('path/to/file.png', 'wb') as file:
    ...     manager.write(png_asset, file)


