{ "info": { "author": "Ymagis", "author_email": "support.sol@ymagis.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Multimedia :: Video", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "|Build Status| |PyPI version| |Code coverage|\n\nClairmeta\n=========\n\nClairmeta is a python package for Digital Cinema Package (DCP) probing\nand checking.\n\nFeatures\n--------\n\n- DCP Probe : metadata extraction of the whole DCP, including all XML\n fields and MXF assets inspection.\n- DCP Checker : advanced DCP validation tool, including (non\n exhaustive) :\n\n - SMPTE / Interop standard convention (naming, \u2026)\n - Integrity (MIME type, size, hash) of all assets\n - Foreign file identification\n - XSD Schema validation for XML files (VOLINDEX, ASSETMAP, CPL, PKL)\n - Digital signature validation (CPL, PKL)\n - Intra / Inter Reels integrity and coherence\n - Metadata match between CPL assets and MXF headers\n - Re-link VF / OV\n - Picture tests : FrameRate, BitRate, \u2026\n - Sound tests : Channels, Sampling, \u2026\n - Subtitle : Deep inspection of Interop and SMPTE subtitles\n\n- DSM / DCDM Checker : basic image file sequence validation with some\n specific rules.\n\nInstallation\n------------\n\nRequirements :\n\n- Python :\n\n - Should work on python 2.7 and python 3.3+\n - Tested on : python 2.7, python 3.6\n\n- Platform :\n\n - Should work on Windows, macOS, Linux\n - Tested on : macOS 10.12\n\n- External (non-python) dependencies :\n\n - asdcplib\n - mediainfo (opt)\n - sox (opt)\n\nInstall from PyPI package (reminder : this does not install external dependencies):\n\n::\n\n pip install clairmeta\n\nInstall from Debian package (all requirements will be automatically installed):\n\n::\n\n # Optional : add Bintray public key\n apt-get install dirmngr\n gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 379CE192D401AB61\n gpg --export --armor 379CE192D401AB61 | apt-key add -\n\n # Add Clairmeta repository to apt sources\n # Replace appropriately\n # Ubuntu 14.04 : use trusty\n # Ubuntu 16.04 : use xenial\n # Ubuntu 17.04 : use artful\n # Ubuntu 18.04 : use bionic\n echo \"deb https://dl.bintray.com/ymagis/Clairmeta main\" | sudo tee /etc/apt/sources.list.d/clairmeta.list\n\n sudo apt-get update\n sudo apt-get install python3-clairmeta\n\nUsage\n-----\n\nGeneral\n~~~~~~~\n\nAs a command line tool :\n\n::\n\n python3 -m clairmeta.cli probe -type dcp path/to/dcp\n python3 -m clairmeta.cli probe -type dcp path/to/dcp -format json > dcp.json\n python3 -m clairmeta.cli probe -type dcp path/to/dcp -format xml > dcp.xml\n python3 -m clairmeta.cli check -type dcp path/to/dcp\n python3 -m clairmeta.cli check -type dcp path/to/dcp -kdm /path/to/kdm -key /path/to/privatekey\n python3 -m clairmeta.cli check -type dcp path/to/dcp -progress\n\nAs a python library :\n\n::\n\n from clairmeta import DCP\n\n dcp = DCP(\"path/to/dcp\")\n # Parse DCP\n dcp.parse()\n # Check DCP\n status, report = dcp.check()\n # Check DCP VF against OV\n status, report = dcp.check(ov_path=\"/path/to/dcp_ov\")\n\n # Check DCP with console progression report\n from clairmeta.utils.file import console_progress_bar\n status, report = dcp.check(hash_callback=console_progress_bar)\n\nProfiles\n~~~~~~~~\n\nCheck profile allow custom configuration of the DCP check process such\nas bypassing some unwanted tests or criteria specification. To\nimplement a check profile, simply write a JSON file derived from this\ntemplate (actual content listed below is for demonstration purposes only) :\n\n- *criticality* key allow custom criteria level specification, check\n name can be incomplete to quickly ignore a bunch of tests, *default* is\n used if no other match where found.\n- *bypass* key allow specific test\n bypassing, incomplete names are not allowed.\n\n::\n\n {\n \"criticality\": {\n \"default\": \"ERROR\",\n \"check_dcnc_\": \"WARNING\",\n \"check_cpl_reel_duration_picture_subtitles\": \"WARNING\",\n \"check_picture_cpl_avg_bitrate\": \"WARNING\",\n \"check_picture_cpl_resolution\": \"WARNING\"\n },\n \"bypass\": [\"check_assets_pkl_hash\"]\n }\n\nCustom profile check :\n\n::\n\n python3 -m clairmeta.cli check -type dcp path/to/dcp -profile path/to/profile.json\n\n::\n\n from clairmeta import DCP\n from clairmeta.profile import load_profile\n\n dcp = DCP(\"path/to/dcp\")\n profile = load_profile(\"/path/to/profile.json\")\n status, report = dcp.check(profile=profile)\n\nLogging\n~~~~~~~\n\nLogging is customizable, see settings.py file or below. By default Clairmeta\nlogs to stdout and a rotated log file.\n\n::\n\n 'level': 'INFO' # Minimum log level\n 'enable_console': True # Enable / Disable stdout logging\n 'enable_file': True # Enable / Disable file logging\n 'file_name': '/log/path/clairmeta.log' # Log file absolute path\n 'file_size': 1e6 # Individual log file maximum size\n 'file_count': 10 # Number of files to rotate on\n\nContributing\n------------\n\n- To setup your environment, use pipenv :\n\n::\n\n pip install pipenv\n git clone https://github.com/Ymagis/ClairMeta.git\n cd clairmeta\n pipenv install --dev [\u2013two]\n pipenv check\n # Enter virtual environment\n pipenv shell\n # Code...\n # Get tests resources\n git clone https://github.com/Ymagis/ClairMeta_Data tests/resources \n # Run tests\n nosetests --nocapture --with-doctest --doctest-options=+ELLIPSIS --with-coverage --cover-package=clairmeta\n # Leave virtual environment\n exit\n\n- Open a Pull Request\n- Open an Issue\n\nChanges\n-------\n\nThe release changes are available on Github:\nhttps://github.com/Ymagis/ClairMeta/releases\n\nReferences\n----------\n\nThe following sources / software were used :\n\n- asdcp-lib : http://www.cinecert.com/asdcplib/\n- sox : http://sox.sourceforge.net/\n- mediainfo : https://mediaarea.net/\n- SMPTE Digital Cinema standards : https://www.smpte.org/\n- Interop Digital Cinema specifications : https://cinepedia.com/interop/\n- Digital Cinema Initiative specifications : http://www.dcimovies.com/specification/index.html\n- ISDCF Naming Convention : http://isdcf.com/dcnc/\n- Texas Instrument Digital Cinema Subtitles specifications\n\nAbout\n-----\n\nhttp://www.ymagis.com/\n\n.. |Build Status| image:: https://travis-ci.org/Ymagis/ClairMeta.svg?branch=1.0.0b1\n :target: https://travis-ci.org/Ymagis/ClairMeta\n.. |PyPI version| image:: https://badge.fury.io/py/clairmeta.svg\n :target: https://badge.fury.io/py/clairmeta\n.. |Code coverage| image:: https://codecov.io/gh/Ymagis/ClairMeta/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/Ymagis/ClairMeta\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Ymagis/ClairMeta", "keywords": "digital cinema dcp dcdm dsm check probe smpte interop", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "clairmeta", "package_url": "https://pypi.org/project/clairmeta/", "platform": "", "project_url": "https://pypi.org/project/clairmeta/", "project_urls": { "Homepage": "https://github.com/Ymagis/ClairMeta" }, "release_url": "https://pypi.org/project/clairmeta/1.0.5/", "requires_dist": [ "lxml", "dicttoxml", "xmltodict", "python-dateutil", "six", "pyopenssl", "pycountry", "shutilwhich" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "summary": "Digital Cinema Package (DCP) probing and checking utility", "version": "1.0.5" }, "last_serial": 5834902, "releases": { "1.0.0b10": [ { "comment_text": "", "digests": { "md5": "10d106feaab143d4ce7a9724c694fad9", "sha256": "d52451db496531f45992176c0bece19b30f8ff4472f6187c4b5f7a1637709ef4" }, "downloads": -1, "filename": "clairmeta-1.0.0b10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10d106feaab143d4ce7a9724c694fad9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 101409, "upload_time": "2018-06-27T14:53:35", "url": "https://files.pythonhosted.org/packages/b0/28/9ec6a27bdb5ecf33ac81de811c700ec7dc7476aca914519807fb31d52863/clairmeta-1.0.0b10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b1711fcb5e87f78c32cbc1e4f5275ca", "sha256": "953e23408500755a0b4d660f67eea16bf4adc13676b2f468d97d3fcaf539a76b" }, "downloads": -1, "filename": "clairmeta-1.0.0b10.tar.gz", "has_sig": false, "md5_digest": "0b1711fcb5e87f78c32cbc1e4f5275ca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 78990, "upload_time": "2018-06-27T14:53:36", "url": "https://files.pythonhosted.org/packages/6a/0e/fe4433d5dcbd0fe069a5b9fd3bdb4267c6f0063342ec1062dbbb1c8fd255/clairmeta-1.0.0b10.tar.gz" } ], "1.0.0b11": [ { "comment_text": "", "digests": { "md5": "31658b09799624ee850b49c1bf68fd9a", "sha256": "b3dd2da9aef8c286657dea3cceeb176461c261f9b01bd351a0ed019f0baec2c3" }, "downloads": -1, "filename": "clairmeta-1.0.0b11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31658b09799624ee850b49c1bf68fd9a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 101749, "upload_time": "2018-08-02T10:43:50", "url": "https://files.pythonhosted.org/packages/bd/85/1d95e0c4f3b7600fbc7432ae300362b5b70e754751d214fd73e976f580a7/clairmeta-1.0.0b11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c42ace22d7881edd194064c281f8be7", "sha256": "8a688f0b77f265165e13e3f82ae7f186c9d4ef086668285361332e78d365b16b" }, "downloads": -1, "filename": "clairmeta-1.0.0b11.tar.gz", "has_sig": false, "md5_digest": "2c42ace22d7881edd194064c281f8be7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 79275, "upload_time": "2018-08-02T10:43:51", "url": "https://files.pythonhosted.org/packages/68/03/7e8d023bac79dce947a8f740c986f8184f2dc5169123d1f5300cbe294d0b/clairmeta-1.0.0b11.tar.gz" } ], "1.0.0b12": [ { "comment_text": "", "digests": { "md5": "5bcc56061f95a96d6c472163980bd20e", "sha256": "6711a417f26d10e61f058b93738786f82bac849550e692c0b014376c80e9ff92" }, "downloads": -1, "filename": "clairmeta-1.0.0b12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5bcc56061f95a96d6c472163980bd20e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 103811, "upload_time": "2018-10-08T06:57:20", "url": "https://files.pythonhosted.org/packages/03/e5/3785039842a5525a78b46cb2821d0cbd61115ef540d9711f87e5420a03dd/clairmeta-1.0.0b12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "14c00697b8c9786ce06e52f8c2a36a35", "sha256": "1a93e3412df122657b51bebbebe5aec75073a6fc4ee757067a956f48a5b74950" }, "downloads": -1, "filename": "clairmeta-1.0.0b12.tar.gz", "has_sig": false, "md5_digest": "14c00697b8c9786ce06e52f8c2a36a35", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 80373, "upload_time": "2018-10-08T06:57:22", "url": "https://files.pythonhosted.org/packages/55/78/66879d16ab08e2b8af6772ebe9259ae50aacf0ece14db9d6991b2a9b91d9/clairmeta-1.0.0b12.tar.gz" } ], "1.0.0b13": [ { "comment_text": "", "digests": { "md5": "c4a460d7b02a46f4079172d1943f716f", "sha256": "700231ee7c175c25a25df92e57667abefe4fb1eb68ce4b3268eba9fe0a5d370e" }, "downloads": -1, "filename": "clairmeta-1.0.0b13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c4a460d7b02a46f4079172d1943f716f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 103854, "upload_time": "2018-11-01T13:02:52", "url": "https://files.pythonhosted.org/packages/31/f9/498337de729c24bf11bd18a5e44b5ee873e6b71a70078711face51c811e6/clairmeta-1.0.0b13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "563f56f650ac4daac7a788243784bb25", "sha256": "893a69c55e012642c289bf6de010366aa0c4f8084d6201805ceb1f33a92d9ccd" }, "downloads": -1, "filename": "clairmeta-1.0.0b13.tar.gz", "has_sig": false, "md5_digest": "563f56f650ac4daac7a788243784bb25", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 80418, "upload_time": "2018-11-01T13:02:53", "url": "https://files.pythonhosted.org/packages/e2/4c/5f53f48950881fe12ac9faf7723b33669babd5fad0ecade98b47a9bc3e70/clairmeta-1.0.0b13.tar.gz" } ], "1.0.0b14": [ { "comment_text": "", "digests": { "md5": "9268c9d506ed2b48ccad0baa69ab2a81", "sha256": "1e186e7784303788837089bb96f2bc8214da20491bfde643135a81a43fe528f5" }, "downloads": -1, "filename": "clairmeta-1.0.0b14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9268c9d506ed2b48ccad0baa69ab2a81", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 108563, "upload_time": "2019-01-09T08:12:03", "url": "https://files.pythonhosted.org/packages/a2/b4/7828d32130b558fdfbbe3acbe778044255c5c7b8ea41e9ba5c0ba4153cf5/clairmeta-1.0.0b14-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9394b6a7477322a8798eff397b60e24f", "sha256": "40fb7fa9013c88be43a223adc5e717398067d8564f002f83ec5a5042d47bf3ef" }, "downloads": -1, "filename": "clairmeta-1.0.0b14.tar.gz", "has_sig": false, "md5_digest": "9394b6a7477322a8798eff397b60e24f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 83356, "upload_time": "2019-01-09T08:12:05", "url": "https://files.pythonhosted.org/packages/30/de/ce0221e605134e898f8fdec966d962d89a815a51140ec2946e039933f865/clairmeta-1.0.0b14.tar.gz" } ], "1.0.0b15": [ { "comment_text": "", "digests": { "md5": "d56348342023fb00e0cc84bcdd9c7a15", "sha256": "8db0e5dfd167261073fce244ca982cc0bd2c4f6419ef27c5c4b685b07da748ac" }, "downloads": -1, "filename": "clairmeta-1.0.0b15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d56348342023fb00e0cc84bcdd9c7a15", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 108268, "upload_time": "2019-03-07T13:28:59", "url": "https://files.pythonhosted.org/packages/f6/a0/58912e1ebb133fa3139c86715283c818aea367349b4e1d07671bee6ad0ad/clairmeta-1.0.0b15-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e83f99e47fefc7437f8fefb3d225deb2", "sha256": "850261b6f3e8d9560abda4a85e54ed23e301b12fa4068bc5cd389c68813035f8" }, "downloads": -1, "filename": "clairmeta-1.0.0b15.tar.gz", "has_sig": false, "md5_digest": "e83f99e47fefc7437f8fefb3d225deb2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 83372, "upload_time": "2019-03-07T13:29:00", "url": "https://files.pythonhosted.org/packages/59/43/b54a12f20ab69511c9d70db6389229a9bf599701411e3d6ed1c47d47e1f2/clairmeta-1.0.0b15.tar.gz" } ], "1.0.0b16": [ { "comment_text": "", "digests": { "md5": "04d072ce802b90b058227d1751527bbf", "sha256": "f7bff1eb52aa48eaa547a17ca7ed1acf2ce5bb5a146f2a4d1d4ad978ae875402" }, "downloads": -1, "filename": "clairmeta-1.0.0b16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "04d072ce802b90b058227d1751527bbf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 109327, "upload_time": "2019-04-04T09:58:08", "url": "https://files.pythonhosted.org/packages/8c/10/c31de34026606286f8361bddf2dc9a66bf28a9c20b52550ba59ac055140a/clairmeta-1.0.0b16-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4ecd25fcd02c9d5fb449275fb62b4e0", "sha256": "8e058e99508082f53e8433418e0f1d483fc1c63d139737f6c713255d0d9d0ba5" }, "downloads": -1, "filename": "clairmeta-1.0.0b16.tar.gz", "has_sig": false, "md5_digest": "e4ecd25fcd02c9d5fb449275fb62b4e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 84256, "upload_time": "2019-04-04T09:58:10", "url": "https://files.pythonhosted.org/packages/2e/ef/ff43e8db688c14ec906716918b1af8a49b8897f1da673aead1d7e5bd2520/clairmeta-1.0.0b16.tar.gz" } ], "1.0.0b3": [ { "comment_text": "", "digests": { "md5": "bee7046ce00f7d01cf8ef16965e84e79", "sha256": "c7597124830da64b9f7cfc64527a9d7e4781062dda909ab8e8ecf26d502ee19d" }, "downloads": -1, "filename": "clairmeta-1.0.0b3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bee7046ce00f7d01cf8ef16965e84e79", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 99540, "upload_time": "2017-11-24T10:14:57", "url": "https://files.pythonhosted.org/packages/3d/06/b2dfdb491ff60eef7107be2d2541374edc1993d87a20b12b38fa62a51878/clairmeta-1.0.0b3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fc172a084fccd911cc782db86487ff9", "sha256": "5b28230d3b33509b192911693dcb2e99696636605e8f58a0dbca52d1b43c2d35" }, "downloads": -1, "filename": "clairmeta-1.0.0b3.tar.gz", "has_sig": false, "md5_digest": "6fc172a084fccd911cc782db86487ff9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 68780, "upload_time": "2017-11-24T10:14:59", "url": "https://files.pythonhosted.org/packages/ef/3c/a35905ff5342b421da4e81c15eae1cb7c5b1bd9f61b4aaa6cdcc84a514ae/clairmeta-1.0.0b3.tar.gz" } ], "1.0.0b4": [ { "comment_text": "", "digests": { "md5": "eafe8fb9cfc6be56c170ae41ca66eff5", "sha256": "ce91865a56ecac09a8e4d0128dd0d564e1e4e00b5d67eba28943c65d99ff73e4" }, "downloads": -1, "filename": "clairmeta-1.0.0b4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eafe8fb9cfc6be56c170ae41ca66eff5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 99414, "upload_time": "2017-11-29T15:49:01", "url": "https://files.pythonhosted.org/packages/e0/7a/c2a36acc3f1fea59b6b56ffa8ca03890f5a22f0e71830e03bbee4a5ae79c/clairmeta-1.0.0b4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ba0a79ecdff34f823de13db1d7ab637", "sha256": "2473db5b1f596183d89026b5a6bdd124412b3b0237b1a1d72b1bfa6af96b3463" }, "downloads": -1, "filename": "clairmeta-1.0.0b4.tar.gz", "has_sig": false, "md5_digest": "6ba0a79ecdff34f823de13db1d7ab637", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 72887, "upload_time": "2017-11-29T15:49:02", "url": "https://files.pythonhosted.org/packages/46/bd/e76b95777fc386ce5a69472d0d7e6ade30123c607d135e7956f03a5ac3b0/clairmeta-1.0.0b4.tar.gz" } ], "1.0.0b5": [ { "comment_text": "", "digests": { "md5": "f8fbfaf6503e8ec3cb72d1448099cd58", "sha256": "98e6d5d6e97bf2935682826e00a3666692ef4368d99dacad35a19db216e9014b" }, "downloads": -1, "filename": "clairmeta-1.0.0b5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8fbfaf6503e8ec3cb72d1448099cd58", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 99928, "upload_time": "2017-12-01T12:36:30", "url": "https://files.pythonhosted.org/packages/e0/4f/99aa17727864869d09df9a9d4f9e7047c4c2e8021f1d5950e2637eda4b35/clairmeta-1.0.0b5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56c233df0cd665ab9b06d60468bc46b4", "sha256": "bc78294a5904557a90558b3ba0ea6d4fd78c5c421265ed2e3b8d5bdc6420108e" }, "downloads": -1, "filename": "clairmeta-1.0.0b5.tar.gz", "has_sig": false, "md5_digest": "56c233df0cd665ab9b06d60468bc46b4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 73401, "upload_time": "2017-12-01T12:36:32", "url": "https://files.pythonhosted.org/packages/cd/f4/867999eecec9a7e2a20a3c3c329ab58e8ecf4de37ed7ff65601fba5a9535/clairmeta-1.0.0b5.tar.gz" } ], "1.0.0b6": [ { "comment_text": "", "digests": { "md5": "3537670d90e5eba07d27ec8bac4e7c44", "sha256": "7293581a6164a008c88235378a8a36126b8aad2069d6c311d26cf61393993067" }, "downloads": -1, "filename": "clairmeta-1.0.0b6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3537670d90e5eba07d27ec8bac4e7c44", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 102843, "upload_time": "2018-01-25T09:35:18", "url": "https://files.pythonhosted.org/packages/ff/9e/20ee0db2b343e08f4ab5c715ec7e3d3d89b50886d53bb49c3812b0cd9a73/clairmeta-1.0.0b6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6714513f840ce0cd8d54940c88b0e041", "sha256": "97d3bb84ed82afe1b97bb3cf6ec743a3762c2676b618966954d6b046bd2d47a6" }, "downloads": -1, "filename": "clairmeta-1.0.0b6.tar.gz", "has_sig": false, "md5_digest": "6714513f840ce0cd8d54940c88b0e041", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 76946, "upload_time": "2018-01-25T09:35:19", "url": "https://files.pythonhosted.org/packages/bd/83/4f5ce0a495a2bc35c48039d175ce8048813d14609caedf3eeb92aac44280/clairmeta-1.0.0b6.tar.gz" } ], "1.0.0b7": [ { "comment_text": "", "digests": { "md5": "e4c72ad5b311c3447f101afe0d5bc1c0", "sha256": "e316f5d5bb7b80dd766e42a2fbe0b511bfa204b8cb42431210926b4b6a29eb22" }, "downloads": -1, "filename": "clairmeta-1.0.0b7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4c72ad5b311c3447f101afe0d5bc1c0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 104649, "upload_time": "2018-03-06T16:51:34", "url": "https://files.pythonhosted.org/packages/a7/72/3aa9e9ac66c49e189130a0a9bca8375e38f88de26c765782e93e6b22ecc5/clairmeta-1.0.0b7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "921b5a85eea55bdba2f33117efd3c11f", "sha256": "ab3140b2d8044387b46d11ba784f273bceea510734b7eaac2448ffe71d899580" }, "downloads": -1, "filename": "clairmeta-1.0.0b7.tar.gz", "has_sig": false, "md5_digest": "921b5a85eea55bdba2f33117efd3c11f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 78665, "upload_time": "2018-03-06T16:51:35", "url": "https://files.pythonhosted.org/packages/df/f1/77259ecd51ff34ea05e29ead1f9834322e2a462822eb20e9b1f2bb1d3980/clairmeta-1.0.0b7.tar.gz" } ], "1.0.0b8": [ { "comment_text": "", "digests": { "md5": "251dd4fbb1b311cd31d2ec702997bfde", "sha256": "f34084a9fac1f2ebbe131c16b84473946ea703e09a65ffe61d7767970282eb12" }, "downloads": -1, "filename": "clairmeta-1.0.0b8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "251dd4fbb1b311cd31d2ec702997bfde", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 104882, "upload_time": "2018-03-19T16:47:19", "url": "https://files.pythonhosted.org/packages/83/49/58169c1db0c0f7eda511929d4b983bb0cae359fb937e462cb870fab93ea0/clairmeta-1.0.0b8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0517c8e74ce0b0466b4deb0f820e0c67", "sha256": "d1a63158d58ec883d13b7345e7f0cddf16478d60aa660c318b7f31333c6e339a" }, "downloads": -1, "filename": "clairmeta-1.0.0b8.tar.gz", "has_sig": false, "md5_digest": "0517c8e74ce0b0466b4deb0f820e0c67", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 78906, "upload_time": "2018-03-19T16:47:21", "url": "https://files.pythonhosted.org/packages/dc/57/4e4e4c448e6f2fe6af72e083b22e7b06289deb4b56389025b7fd0896854c/clairmeta-1.0.0b8.tar.gz" } ], "1.0.0b9": [ { "comment_text": "", "digests": { "md5": "99567ae96c531deafa319ae87bcd8bac", "sha256": "f6671c50f81ba5773ea56129b22622cbe7fa041c0542c182c09f48f1b3ea4a9a" }, "downloads": -1, "filename": "clairmeta-1.0.0b9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "99567ae96c531deafa319ae87bcd8bac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 101006, "upload_time": "2018-04-05T13:22:43", "url": "https://files.pythonhosted.org/packages/57/3e/64070a5aae67c54d0a95ffc10f933bad418fc58ea3fab2b550f2e419f7d5/clairmeta-1.0.0b9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8394a1392fe5f72926e5db18f8e8f8c8", "sha256": "fde05803401268f5183010d8b56574d842d0a58548d28eaf4f99031d6ba8e318" }, "downloads": -1, "filename": "clairmeta-1.0.0b9.tar.gz", "has_sig": false, "md5_digest": "8394a1392fe5f72926e5db18f8e8f8c8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 78590, "upload_time": "2018-04-05T13:22:44", "url": "https://files.pythonhosted.org/packages/25/67/ca1e6f0198c8c14e70230fd8918190be4b7903707ab75b978f78a61603c3/clairmeta-1.0.0b9.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e1873e2914ef26f334ccdf11c91cbb22", "sha256": "979c23c3244cef3615de6b668cb2b85a19321ceef38f35592923db609ee6bef3" }, "downloads": -1, "filename": "clairmeta-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e1873e2914ef26f334ccdf11c91cbb22", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 109631, "upload_time": "2019-07-19T16:16:37", "url": "https://files.pythonhosted.org/packages/0f/23/c88355dd0b0854c2b1abd798207c088f85ba6c363ff25a661a37863c90fd/clairmeta-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0a2540416843b8946482dcbb6315c6d", "sha256": "0f3f4afafdb7becd4830dab67ed6c9d8cb0694dd706990919a60fd47f28caad3" }, "downloads": -1, "filename": "clairmeta-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a0a2540416843b8946482dcbb6315c6d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 84537, "upload_time": "2019-07-19T16:16:39", "url": "https://files.pythonhosted.org/packages/72/bc/83be04a571127777ef265d2712a0e850b56b37f24c74619cc9115a7a383e/clairmeta-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "497f99b46390a63c7cd060b3badeed43", "sha256": "9e8f33ddd5c9d78782aa4183c2ccc395a955baa9b57c9ad3889772b1045cfe10" }, "downloads": -1, "filename": "clairmeta-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "497f99b46390a63c7cd060b3badeed43", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 110521, "upload_time": "2019-08-02T14:02:44", "url": "https://files.pythonhosted.org/packages/76/df/97b986aaf80f53b59cd8b88e891a43c99f43240c836ff5d427418f85b578/clairmeta-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d7fb4549404cd9c4e1cec5d58b1b0bb", "sha256": "ddf52407c0e42b2ca80a4d34d3985a3f09d51e1366535b97d0a3eb00b387b2e0" }, "downloads": -1, "filename": "clairmeta-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2d7fb4549404cd9c4e1cec5d58b1b0bb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 85122, "upload_time": "2019-08-02T14:02:46", "url": "https://files.pythonhosted.org/packages/98/02/c901e3adbb4e55e1032854fda2dfcba1f3ed671f126e2f5f0aabc5ab45e1/clairmeta-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "eb674e320907a5e9d5913b16423ebda3", "sha256": "c5d1c2358e06a5273e921b2025741958b748491365ab8df8fab73b84dbe4cfb3" }, "downloads": -1, "filename": "clairmeta-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb674e320907a5e9d5913b16423ebda3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 110990, "upload_time": "2019-08-29T16:30:07", "url": "https://files.pythonhosted.org/packages/82/6b/44523ed2b009b7f192a58a6bde9679080ae32984144c3b05c733cbf02938/clairmeta-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0056d3efbe2d69dda9bd8583c6c0f48", "sha256": "888179fe8da4c5621cb35a9fa40cd60e596b76fd4c8aa93342178e43940675b4" }, "downloads": -1, "filename": "clairmeta-1.0.3.tar.gz", "has_sig": false, "md5_digest": "d0056d3efbe2d69dda9bd8583c6c0f48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 85610, "upload_time": "2019-08-29T16:30:09", "url": "https://files.pythonhosted.org/packages/a1/a5/a7730fd67f3e2fbe4fb8dbe15d8a1396ad795eedfac3b8bf70eacb7b3019/clairmeta-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "72f5f085f7c1040997469a4cb5813556", "sha256": "87322fa00a272b13170ae1b4b8e5866fce8414407cf56e56d0e0298c8c0106c7" }, "downloads": -1, "filename": "clairmeta-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "72f5f085f7c1040997469a4cb5813556", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 110991, "upload_time": "2019-09-13T09:22:46", "url": "https://files.pythonhosted.org/packages/78/55/b81b46552410dcb4bf8f30ab5c0c954b4e1006c130b8a5363ca3692d308d/clairmeta-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bc141191f7d579e4299a67cb126fd17", "sha256": "f1789185e9cfba38d2352a8fc19cead49e69b9be14129e8784f7b1993644dfc8" }, "downloads": -1, "filename": "clairmeta-1.0.4.tar.gz", "has_sig": false, "md5_digest": "1bc141191f7d579e4299a67cb126fd17", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 85612, "upload_time": "2019-09-13T09:22:48", "url": "https://files.pythonhosted.org/packages/d2/9f/d301df11b442397e71fa0d7c5c93792cb20b80b223abb1d35c273c6ae054/clairmeta-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "1efc314190a917f127eb3dad01917989", "sha256": "f9a71579930355899d08739e2fb72c855904b449310c989d4737d2ddca3c8e18" }, "downloads": -1, "filename": "clairmeta-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1efc314190a917f127eb3dad01917989", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 111065, "upload_time": "2019-09-16T08:39:22", "url": "https://files.pythonhosted.org/packages/bb/b1/481154f0afdc82b8c2f0070e4c7aac6fdfc1b47f8de8af5e33ffad91d443/clairmeta-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d702d089bce18a09f0f098a35e76fa9c", "sha256": "00e3b4e56181b9548225b68183b8385bd7c0a641571302f665764053fb766e71" }, "downloads": -1, "filename": "clairmeta-1.0.5.tar.gz", "has_sig": false, "md5_digest": "d702d089bce18a09f0f098a35e76fa9c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 85698, "upload_time": "2019-09-16T08:39:24", "url": "https://files.pythonhosted.org/packages/e1/1e/632cf3b676d792674bebed2f68e3252921fff6bd7eacb4513d34e38a7e57/clairmeta-1.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1efc314190a917f127eb3dad01917989", "sha256": "f9a71579930355899d08739e2fb72c855904b449310c989d4737d2ddca3c8e18" }, "downloads": -1, "filename": "clairmeta-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1efc314190a917f127eb3dad01917989", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 111065, "upload_time": "2019-09-16T08:39:22", "url": "https://files.pythonhosted.org/packages/bb/b1/481154f0afdc82b8c2f0070e4c7aac6fdfc1b47f8de8af5e33ffad91d443/clairmeta-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d702d089bce18a09f0f098a35e76fa9c", "sha256": "00e3b4e56181b9548225b68183b8385bd7c0a641571302f665764053fb766e71" }, "downloads": -1, "filename": "clairmeta-1.0.5.tar.gz", "has_sig": false, "md5_digest": "d702d089bce18a09f0f098a35e76fa9c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4", "size": 85698, "upload_time": "2019-09-16T08:39:24", "url": "https://files.pythonhosted.org/packages/e1/1e/632cf3b676d792674bebed2f68e3252921fff6bd7eacb4513d34e38a7e57/clairmeta-1.0.5.tar.gz" } ] }