{ "info": { "author": "Johan van der Knijff", "author_email": "johan.vanderknijff@kb.nl", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3" ], "description": "# jpylyzer\n\n## About\n*Jpylyzer* is a JP2 [(JPEG 2000 Part 1)][2] image validator and properties extractor. Its development was partially supported by the [SCAPE][4] Project. The SCAPE project is co-funded by the European Union under FP7 ICT-2009.4.1 (Grant Agreement number 270137).\n\n## Jpylyzer homepage\n\n\n\n\n## Cd Status\n\n- [![Build Status](https://travis-ci.org/openpreserve/jpylyzer.svg?branch=master)](https://travis-ci.org/openpreserve/jpylyzer \"Jpylyzer Travis-CI integration build\") Travis-CI\n\n- [![Build Status](http://jenkins.opf-labs.org/buildStatus/icon?job=jpylyser)](http://jenkins.opf-labs.org/job/jpylyser/) OPF Jenkins\n\n## Downloads\n\n* [User Manual][1] - exhaustive documentation of all aspects of *jpylyzer*\n* [Windows binaries][5] - stand-alone Windows binaries that allow you to run *jpylyzer* without any *Python* dependencies\n* [Debian packages][6] - i386 (32 bit) architecture\n* [Debian packages][7] - Amd 64 (64 bit) architecture\n\n\n## Command line use\n\n### Usage\n\n usage: jpylyzer [-h] [--verbose] [--recurse] [--wrapper] [--nullxml]\n [--nopretty] [--version] jp2In [jp2In ...]\n\n### Positional arguments\n\n`jp2In` : input JP2 image(s), may be one or more (whitespace-separated) path expressions; prefix wildcard (\\*) with backslash (\\\\) in Linux.\n\n### Optional arguments\n\n`-h, --help` : show this help message and exit;\n\n`-v, --version` : show program's version number and exit;\n\n`--verbose` : report test results in verbose format;\n\n`--recurse, -r` : when analysing a directory, recurse into subdirectories (implies `--wrapper`)\n\n`--wrapper, -w` : wrap the output for individual image(s) in 'results' XML element.\n\n`--nullxml` : extract null-terminated XML content from XML and UUID boxes (doesn't affect validation)\n\n`--nopretty` : suppress pretty-printing of XML output\n\n## Output \n\nOutput is directed to the standard output device (*stdout*).\n\n### Example\n\n`jpylyzer.py rubbish.jp2 > rubbish.xml`\n\nIn the above example, output is redirected to the file 'rubbish.xml'.\n\n\n### Outline of output elements\n\n1. *toolInfo*: tool name (jpylyzer) + version.\n2. *fileInfo*: name, path, size and last modified time/date of input file.\n3. *isValidJP2*: *True* / *False* flag indicating whether file is valid JP2.\n4. *tests*: tree of test outcomes, expressed as *True* / *False* flags.\n A file is considered valid JP2 only if all tests return *True*. Tree follows JP2 box structure. By default only tests that returned *False* are reported, which results in an empty *tests* element for files that are valid JP2. Use the `--verbose` flag to get *all* test results.\n5. *properties*: tree of image properties. Follows JP2 box structure. Naming of properties follows [ISO/IEC 15444-1 Annex I][2] (JP2 file format syntax) and [Annex A][3] (Codestream syntax).\n\n## Debian packages build process\n\nThe [Vagrant directory](vagrant) of this repo contains instructions on how to build Debian packages using [VirtualBox](https://www.virtualbox.org/) and [Vagrant](https://www.vagrantup.com/). A Vagrantfile and provisioning scripts are included for a number of target platforms, which should make the process of building the packages fairly easy.\n\n## Steps in preparing a jpylyzer release\n\n(Outline only, this section is under development and needs more detail!).\n\n1. Make changes to code\n1. Update version number in *jpylyzer.py*, and *sonar-project.properties* (do we really need last file?)\n1. In case of changes to command-line interface, update [jpylyzer.pod](debian/jpylyzer.pod) file in *Debian* folder.\n1. Create new entry in changelog using `dch -i`; then manually update version number, and create list of changes.\n1. Update [User Manual](doc/jpylyzerUserManual.md) if necessary\n1. Commit all changes\n1. Add tag and commit\n1. Create and upload PyPi packages by running [`package-pypi.sh`](./package-pypi.sh) \n1. Build Linux packages using [instructions here](vagrant)\n1. Build Windows binaries using [instructions here](./BUILD_HOWTO_WINDOWS.md)\n1. Go to [*Latest Release*](https://github.com/openpreserve/jpylyzer/releases/latest) and click on the *Edit* button\n1. Upload Linux/Windows packages to the release by dragging them to the *Attach Binaries* field at the bottom\n1. Website: update *binVersion* in *_config.yml* (this updates the links to all packages to the correct version)\n1. Website: write short release note\n1. Commit changes to website\n1. Spread the word!\n\n[1]: http://jpylyzer.openpreservation.org//jpylyzerUserManual.html\n[2]: http://www.jpeg.org/public/15444-1annexi.pdf\n[3]: http://www.itu.int/rec/T-REC-T.800/en\n[4]: http://www.scape-project.eu/\n[5]: https://bintray.com/openplanets/opf-windows/jpylyzer_win32/\n[6]: https://bintray.com/openplanets/opf-debian/jpylyzer_i386/\n[7]: https://bintray.com/openplanets/opf-debian/jpylyzer_amd64/\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/openpreserve/jpylyzer/archive/1.18.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://jpylyzer.openpreservation.org/", "keywords": "", "license": "LGPL", "maintainer": "", "maintainer_email": "", "name": "jpylyzer", "package_url": "https://pypi.org/project/jpylyzer/", "platform": "POSIX", "project_url": "https://pypi.org/project/jpylyzer/", "project_urls": { "Download": "https://github.com/openpreserve/jpylyzer/archive/1.18.0.tar.gz", "Homepage": "http://jpylyzer.openpreservation.org/" }, "release_url": "https://pypi.org/project/jpylyzer/1.18.0/", "requires_dist": [ "setuptools", "six" ], "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "summary": "JP2 (JPEG 2000 Part 1) image validator and properties extractor", "version": "1.18.0" }, "last_serial": 3117272, "releases": { "1.18.0": [ { "comment_text": "", "digests": { "md5": "c6248a77ccb6662f55e16205f4036c63", "sha256": "9318df521d642add3dd14f8072e1daf93aff45f589c8b27f2fc451eea8c0d0bb" }, "downloads": -1, "filename": "jpylyzer-1.18.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6248a77ccb6662f55e16205f4036c63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 71826, "upload_time": "2017-08-23T11:46:58", "url": "https://files.pythonhosted.org/packages/ca/b8/63d431e53aa70e04d1f89baacf2dc5415e622c66385bd9375d7d3e92871b/jpylyzer-1.18.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57960cd5583786e48b2dec60d0b4adf6", "sha256": "34b0582a8d409cd24a65ab958d1236b5b895249d381e79f7ff292c750eaf41a1" }, "downloads": -1, "filename": "jpylyzer-1.18.0.tar.gz", "has_sig": false, "md5_digest": "57960cd5583786e48b2dec60d0b4adf6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 2153779, "upload_time": "2017-08-23T11:47:01", "url": "https://files.pythonhosted.org/packages/33/2b/1c60ad5e83e88c0f6d2ee3311fc7d7c5b754205ba5afd58f76094fa83e64/jpylyzer-1.18.0.tar.gz" } ], "1.18.0b3": [ { "comment_text": "", "digests": { "md5": "a3c3d67a095a328a30f795c56cb4d8c6", "sha256": "b1bf12141dca5aedcf6be96cb887f387bced114f95bb40d2bf71bddbe5c32a92" }, "downloads": -1, "filename": "jpylyzer-1.18.0b3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3c3d67a095a328a30f795c56cb4d8c6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 86216, "upload_time": "2017-08-17T14:16:49", "url": "https://files.pythonhosted.org/packages/27/9d/482756159c754c26d40d54eaa9b7d63ceaba4be70a5fec01275f89e6a343/jpylyzer-1.18.0b3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "111df329d62b4204566eafad84ec2247", "sha256": "30ae71d0be2505293d5ada24e8714b353f39a491cfe011125f513f295a80bd1f" }, "downloads": -1, "filename": "jpylyzer-1.18.0b3.tar.gz", "has_sig": false, "md5_digest": "111df329d62b4204566eafad84ec2247", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 2160306, "upload_time": "2017-08-17T14:16:54", "url": "https://files.pythonhosted.org/packages/6f/29/6c7384c0048f080e8632839aae826201b4a87cd716f02f02b40a5a99f725/jpylyzer-1.18.0b3.tar.gz" } ], "1.18.0b4": [ { "comment_text": "", "digests": { "md5": "15cf70f44cdc6bf654965d606646553d", "sha256": "51132e4054b3ce3b8d42ea91b3d69353581c5d8dc9636a89f55c5aad6ff99e36" }, "downloads": -1, "filename": "jpylyzer-1.18.0b4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15cf70f44cdc6bf654965d606646553d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 86215, "upload_time": "2017-08-17T14:53:36", "url": "https://files.pythonhosted.org/packages/ff/2d/81f9ae931a901804b00c0eabb49bc956bba34f53e67a8bf0c31538f9a4e2/jpylyzer-1.18.0b4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f211780533fc1f578a19647aefc98da6", "sha256": "43b6a375b694a012ce89dd35d286f1b8eecb6432d32b3f5f4392f999a54015c4" }, "downloads": -1, "filename": "jpylyzer-1.18.0b4.tar.gz", "has_sig": false, "md5_digest": "f211780533fc1f578a19647aefc98da6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 2160312, "upload_time": "2017-08-17T14:53:41", "url": "https://files.pythonhosted.org/packages/37/2f/b536b135403e4839473eae1b0645a182d2b78ec25b2974a317c6f279958f/jpylyzer-1.18.0b4.tar.gz" } ], "1.18.0b5": [ { "comment_text": "", "digests": { "md5": "220889d0506e045a88024d271ab9e216", "sha256": "267cc39c561445f1204a913c4e15532d371f1faf685826a934b313c4b2c1cec0" }, "downloads": -1, "filename": "jpylyzer-1.18.0b5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "220889d0506e045a88024d271ab9e216", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 86226, "upload_time": "2017-08-17T18:16:12", "url": "https://files.pythonhosted.org/packages/69/64/cc024552cbebc48efa9837a3ef73205d24e250f665e0ba5d0380a54de0c4/jpylyzer-1.18.0b5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "226ebd700027140fe7c215ce670a268a", "sha256": "1ea42fc906310f8a458a62e2e14006c9370c9f15c3441a727d560a16faa02e4e" }, "downloads": -1, "filename": "jpylyzer-1.18.0b5.tar.gz", "has_sig": false, "md5_digest": "226ebd700027140fe7c215ce670a268a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 2160793, "upload_time": "2017-08-17T18:16:18", "url": "https://files.pythonhosted.org/packages/7b/d2/57a46e2c186fc116d6eeb6d1d114df0daca2e324112ff74083d62395a1bf/jpylyzer-1.18.0b5.tar.gz" } ], "1.18.0b6": [ { "comment_text": "", "digests": { "md5": "76c87a91ba024571103c7d62cf3b682f", "sha256": "1f692c186dd38b62761b5f11c332665d51c091b9b8d760c6e0e44909a2ed9eaf" }, "downloads": -1, "filename": "jpylyzer-1.18.0b6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "76c87a91ba024571103c7d62cf3b682f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 70417, "upload_time": "2017-08-18T12:24:20", "url": "https://files.pythonhosted.org/packages/90/42/73992e48feed7d06deb1424fdec2f2416a425c4ae6694919d85c37552929/jpylyzer-1.18.0b6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ca46cee4e1e344871aa44a584628a7e", "sha256": "a527538ed695b86dd6b999c4a5062b90b9df435d20614e88c30cd56eb56d4a0c" }, "downloads": -1, "filename": "jpylyzer-1.18.0b6.tar.gz", "has_sig": false, "md5_digest": "8ca46cee4e1e344871aa44a584628a7e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 2144303, "upload_time": "2017-08-18T12:24:25", "url": "https://files.pythonhosted.org/packages/c4/b6/5f271335b1a3264d34db5a3cc91987d47b4efe509d1de7ffc227bc443338/jpylyzer-1.18.0b6.tar.gz" } ], "1.18.0b9": [ { "comment_text": "", "digests": { "md5": "2df03a7a8990c6c8db720918d2005ab7", "sha256": "ddb78fdc2f8da40088c0e16445817f2c5721f2333d60000bcdba66368b52e63a" }, "downloads": -1, "filename": "jpylyzer-1.18.0b9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2df03a7a8990c6c8db720918d2005ab7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 70316, "upload_time": "2017-08-22T15:18:01", "url": "https://files.pythonhosted.org/packages/af/ba/2467c6e77af64ffb71b3bc971acfed4f5670ab8f24a29ed0aa4260594760/jpylyzer-1.18.0b9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b2efec3b4fdbaaef23b47283fe55bc02", "sha256": "f99cf803d5542f6c2ea17c306087e0dc2c07fadec751c14338a95f053c4999ef" }, "downloads": -1, "filename": "jpylyzer-1.18.0b9.tar.gz", "has_sig": false, "md5_digest": "b2efec3b4fdbaaef23b47283fe55bc02", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 2152803, "upload_time": "2017-08-22T15:18:04", "url": "https://files.pythonhosted.org/packages/27/64/f98e7016585daa573eedc50c2cbd1bb85fa4ae65079103baa5ffea8e7c83/jpylyzer-1.18.0b9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c6248a77ccb6662f55e16205f4036c63", "sha256": "9318df521d642add3dd14f8072e1daf93aff45f589c8b27f2fc451eea8c0d0bb" }, "downloads": -1, "filename": "jpylyzer-1.18.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6248a77ccb6662f55e16205f4036c63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 71826, "upload_time": "2017-08-23T11:46:58", "url": "https://files.pythonhosted.org/packages/ca/b8/63d431e53aa70e04d1f89baacf2dc5415e622c66385bd9375d7d3e92871b/jpylyzer-1.18.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "57960cd5583786e48b2dec60d0b4adf6", "sha256": "34b0582a8d409cd24a65ab958d1236b5b895249d381e79f7ff292c750eaf41a1" }, "downloads": -1, "filename": "jpylyzer-1.18.0.tar.gz", "has_sig": false, "md5_digest": "57960cd5583786e48b2dec60d0b4adf6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, <4", "size": 2153779, "upload_time": "2017-08-23T11:47:01", "url": "https://files.pythonhosted.org/packages/33/2b/1c60ad5e83e88c0f6d2ee3311fc7d7c5b754205ba5afd58f76094fa83e64/jpylyzer-1.18.0.tar.gz" } ] }