{ "info": { "author": "Titusz Pan", "author_email": "tp@py7.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Multimedia", "Topic :: Software Development", "Topic :: System :: Archiving", "Topic :: Utilities" ], "description": "# iscc-cli - Command Line Tool\n\n[![Linux Build Status](https://img.shields.io/travis/iscc/iscc-cli.svg?label=Linux)](https://travis-ci.org/iscc/iscc-cli)\n[![Windows Build Status](https://img.shields.io/appveyor/ci/titusz/iscc-cli.svg?label=Windows)](https://ci.appveyor.com/project/titusz/iscc-cli)\n[![Version](https://img.shields.io/pypi/v/iscc-cli.svg)](https://pypi.python.org/pypi/iscc-cli/)\n\n> A command line tool that creates **ISCC Codes** for digital media files based on the [reference implementation]().\n\n## Table of Contents\n\n- [Background](#background)\n- [Install](#install)\n- [Usage](#usage)\n- [Maintainers](#maintainers)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Background\n\nThe **International Standard Content Code** is a proposal for an [open standard](https://en.wikipedia.org/wiki/Open_standard) for decentralized content identification. **ISCC Codes** are generated algorithmically **from the content itself** and offer many powerful features like content similarity clustering and partial integrity checks. If you want to learn more about the **ISCC** please check out https://iscc.codes.\n\nThis tool offers an easy way to generate ISCC codes from the command line. It supports content extraction via [Apache Tika](https://tika.apache.org/) and uses the [ISCC reference implementation](https://github.com/iscc/iscc-specs).\n\n\n### Supported Media File Types\n\n#### Text\n\ndoc, docx, epub, html, odt, pdf, rtf, txt, xml\n\n\n#### Image\n\ngif, jpg, png\n\n#### Audio\n\naif, mp3, ogg, wav\n\n\n**Note**: Support for the Audio-ID is experimentel and not yet part of the [specification](https://iscc.codes/specification/)\n\n## Requirements\n\n| NOTE: Requires JAVA to be installed and on your path! |\n| --- |\n\n**iscc-cli** is tested on Linux and Windows with Python 3.5/3.6/3.7 but should also work on macOS.\n\nThis tool depends on [tika-python](). [Tika]() is used for extracting metadata and content from media files before generating ISCC Codes. On first execution of the `iscc` command line tool it will automatically download and launch the Java Tika Server in the background (this may take some time). Consecutive runs will access the existing Tika instance. You may explicitly pre-launch the Tika server with `$ iscc init`\n\n## Install\n\nThe ISCC command line tool is published with the package name `iscc-cli` on the [Python Package Index](https://pypi.python.org/pypi/iscc-cli) and can be installed with pip:\n\n```console\n$ pip3 install iscc-cli\n```\n\n## Usage\n\n### Getting Help\n\nShow help overview by calling `iscc` without any arguments:\n\n```console\n$ iscc\nUsage: iscc [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n --version Show the version and exit.\n --help Show this message and exit.\n\nCommands:\n gen* Generate ISCC Code for FILE.\n batch Create ISCC Codes for all files in PATH.\n info Show information about environment.\n init Inititalize and check environment.\n sim Estimate Similarity of ISCC Codes A & B.\n web Generate ISCC Code from URL.\n```\n\nGet help for a specific command by entering `iscc `:\n\n```console\n$ iscc gen\nUsage: iscc gen [OPTIONS] FILE\n\n Generate ISCC Code for FILE.\n\nOptions:\n -g, --guess Guess title (first line of text).\n -t, --title TEXT Title for Meta-ID creation.\n -e, --extra TEXT Extra text for Meta-ID creation.\n -v, --verbose Enables verbose mode.\n -h, --help Show this message and exit.\n```\n\n### Generating ISCC Codes\n\nThe `gen` command generates an ISCC Code for a single file:\n\n```console\n$ iscc gen tests/demo.jpg\nISCC:CCTcjug7rM3Da-CYDfTq7Qc7Fre-CDYkLqqmQJaQk-CRAPu5NwQgAhv\n```\n\nThe `gen` command is default so you can skip it and simply do `$ iscc tests/demo.jpg` \n\nTo get a more detailed result use the `-v` (`--verbose`) option:\n\n```console\n$ iscc -v tests/demo.jpg\nISCC:CCTcjug7rM3Da-CYDfTq7Qc7Fre-CDYkLqqmQJaQk-CRAPu5NwQgAhv\nNorm Title: concentrated cat\nTophash: 7a8d0c513142c45f417e761355bf71f11ad61d783cd8958ffc0712d00224a4d0\nFilepath: tests/demo.jpg\nGMT: image\n```\n\nSee `iscc batch` for help on how to generate ISCC codes for multiple files at once.\n\n\n### Similarity of ISCC Codes\n\nThe `sim` command computes estimated similarity of two ISCC Codes:\n\n```console\n$ iscc sim CCUcKwdQc1jUM CCjMmrCsKWu1D\nEstimated Similarity of Meta-ID: 87.50 %\n```\n\nYou may also compare full four-component ISCC Codes.\n\n### Using from your python code\n\nWhile this package is not built to be used as a library, some of the high level commands to generate ISCC Codes are exposed as vanilla python functions:\n\n```python\nfrom iscc_cli import lib\nfrom pprint import pprint\n\npprint(lib.iscc_from_url(\"https://iscc.foundation/news/images/lib-arch-ottawa.jpg\"))\n\n{'gmt': 'image',\n 'iscc': 'CCbU23e7E8LAR-CYaHPGcucqwe3-CDt4nQptEGP6M-CRestDoG7xZFy',\n 'norm_title': 'library and archives canada ottawa',\n 'tophash': 'e264cc07209bfaecc291f97c7f8765229ce4c1d36ac6901c477e05b2422eea3e'}\n```\n\n## Maintainers\n\n[@titusz](https://github.com/titusz)\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\nPlease make sure to update tests as appropriate.\n\nYou may also want join our developer chat on Telegram at .\n\n## Change Log\n\n### [0.7.0] - 2019-09-12\n- Expose commands as python API\n- Fix title guessing bug\n\n### [0.6.0] - 2019-06-11\n\n- Added new `web` command (creates ISCC Codes for URLs)\n\n### [0.5.0] - 2019-06-06\n\n- Added experimental support for aif, mp3, ogg, wav\n- More verbose batch output\n- Fix batch output default Meta-ID\n\n### [0.4.0] - 2019-06-03\n\n- Added support for html, odt, txt, xml, gif\n- Added optional guessing of title (first line of text)\n- Added new `info` command\n- Fixed wrong detection of identical Instance-ID\n\n### [0.3.0] - 2019-06-01\n\n- Add `sim` command similarity comparison of ISCC Codes\n\n### [0.2.0] - 2019-05-31\n\n- Add support for doc, docx and rtf documents\n- Update to ISCC 1.0.4 (fixes whitespace bug)\n\n\n### [0.1.0] - 2019-05-31\n\n- Basic ISCC Code creation\n- Supported file types: jpg, png, pdf, epub\n\n## License\n\nMIT \u00c2\u00a9 2019 Titusz Pan\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://iscc.codes/", "keywords": "iscc,media,identifier,blockchain,cli,generator", "license": "MIT", "maintainer": "Titusz Pan", "maintainer_email": "tp@py7.de", "name": "iscc-cli", "package_url": "https://pypi.org/project/iscc-cli/", "platform": "", "project_url": "https://pypi.org/project/iscc-cli/", "project_urls": { "Homepage": "https://iscc.codes/", "Repository": "https://github.com/iscc/iscc-cli" }, "release_url": "https://pypi.org/project/iscc-cli/0.7.0/", "requires_dist": [ "click (>=7.0,<8.0)", "iscc (>=1.0.4,<2.0.0)", "tika (>=1.19,<2.0)", "click-default-group (>=1.2,<2.0)", "colorama (>=0.4.1,<0.5.0)" ], "requires_python": ">=3.5,<4.0", "summary": "ISCC CLI - Creates ISCC Codes from Media Files", "version": "0.7.0" }, "last_serial": 5821843, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "15757ca3d754312b23d4c7d9390ad13d", "sha256": "4d2a877e4d2db27d9a49ed970687398cf97bcd2582a2d47205d50a2f0ccd26ac" }, "downloads": -1, "filename": "iscc_cli-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "15757ca3d754312b23d4c7d9390ad13d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 6788, "upload_time": "2019-05-31T10:04:32", "url": "https://files.pythonhosted.org/packages/14/57/a332484aa1c39376f5166983ce476bda00bf611ff9f35a67be6424f01dbb/iscc_cli-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8f6745cce537d72290d0ad1e13dab56", "sha256": "31d3d841c1c4c99fc98267c0c7412c0ba03a7cd99783a987765bea983b0511ef" }, "downloads": -1, "filename": "iscc-cli-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d8f6745cce537d72290d0ad1e13dab56", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 6449, "upload_time": "2019-05-31T10:04:30", "url": "https://files.pythonhosted.org/packages/65/ee/22755589ee29cb2e725e2bd6c8223b233aee05412e2bfedd968aea5d709f/iscc-cli-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2d16cb191fb9b4dc79470f9ba5eda671", "sha256": "ffecb5a0d7b0888f2c3e53f6b05f02b67ca05fcfac954e03feb99531fa80657a" }, "downloads": -1, "filename": "iscc_cli-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2d16cb191fb9b4dc79470f9ba5eda671", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 7084, "upload_time": "2019-05-31T18:45:40", "url": "https://files.pythonhosted.org/packages/77/10/58f667918d11aec951bb308c5935f9820d51c99d2d92ab83f3a731197560/iscc_cli-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7de39cfebed5d8e52f4c0345b39a268f", "sha256": "4462018ae4c7fa9984b589c8cf63ca118d7302472d58889c8be027ad373cf819" }, "downloads": -1, "filename": "iscc-cli-0.2.0.tar.gz", "has_sig": false, "md5_digest": "7de39cfebed5d8e52f4c0345b39a268f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 6803, "upload_time": "2019-05-31T18:45:39", "url": "https://files.pythonhosted.org/packages/0b/31/0696b880c01c89885a634d1ad86666a08f7db21df296379374ead1b5414b/iscc-cli-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "5ab4ed42ab37918df0c8586b9faf50e3", "sha256": "92cb97a965a8f819525bfe43720dec4d64511029e0dd9305863b2a368e8f7bac" }, "downloads": -1, "filename": "iscc_cli-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5ab4ed42ab37918df0c8586b9faf50e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 10053, "upload_time": "2019-06-01T15:31:43", "url": "https://files.pythonhosted.org/packages/59/33/0bd99937233088fb01645c504b40bc8061b8365bbca20f173f3e3b1289ef/iscc_cli-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "598d800424d04b1f9d03612da7c08a6a", "sha256": "5fa1519d8a401dc7801f14cbcd56ad752488d729ee0048c603a951b014758d27" }, "downloads": -1, "filename": "iscc-cli-0.3.0.tar.gz", "has_sig": false, "md5_digest": "598d800424d04b1f9d03612da7c08a6a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 8621, "upload_time": "2019-06-01T15:31:41", "url": "https://files.pythonhosted.org/packages/d8/87/955ea6d2156771900a0e185d37e73d242464261128262668589253c09c97/iscc-cli-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f83968e3df02a6080126f2c7f5813ba6", "sha256": "ffce4fc2e35f6b52315e4a7c4d85463cf365ee2258ccf09b80ba6d077680b028" }, "downloads": -1, "filename": "iscc_cli-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f83968e3df02a6080126f2c7f5813ba6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 10960, "upload_time": "2019-06-03T13:15:08", "url": "https://files.pythonhosted.org/packages/af/2a/b69b198ea30825590178772e9a3f8b55e8dbe1f6d12edadc072353af5298/iscc_cli-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e4d07abe4768c27b0eb7e7304d8b017", "sha256": "ec802703ef0d5020a37fed8bab8e83cae755a73ce6a545e32fc4e863d6b45add" }, "downloads": -1, "filename": "iscc-cli-0.4.0.tar.gz", "has_sig": false, "md5_digest": "5e4d07abe4768c27b0eb7e7304d8b017", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 9308, "upload_time": "2019-06-03T13:15:06", "url": "https://files.pythonhosted.org/packages/5a/45/d39df4a70729c9e46de2ba20c2d6908c4b2cb30c29af859d76489b112c34/iscc-cli-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "fa94b13dfecf429ae008143ed6a2d900", "sha256": "d261c0b9a4bad2f76912453f9ee9618b8ad25671e17c5bc78bcfaacb9289f924" }, "downloads": -1, "filename": "iscc_cli-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fa94b13dfecf429ae008143ed6a2d900", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 13571, "upload_time": "2019-06-06T22:27:33", "url": "https://files.pythonhosted.org/packages/a0/c1/07c127b4771635cf93a4cfd58c4959bf69909c1d9940ceab0049e2cbe021/iscc_cli-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d47918d9cf96e578332fa0a8e009a5f", "sha256": "a1fe1fdc78ec4ed23dedd3313df4d55646c3a2de4ee687dc6bddbd202de69d8e" }, "downloads": -1, "filename": "iscc-cli-0.5.0.tar.gz", "has_sig": false, "md5_digest": "4d47918d9cf96e578332fa0a8e009a5f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 11276, "upload_time": "2019-06-06T22:27:31", "url": "https://files.pythonhosted.org/packages/9a/56/5bcc587e777dd5eb06e91e8bef90eed38083b9ece1ba0aa6205f094cd817/iscc-cli-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "3a1a8dd9983809e6d74b9f68fbf9672f", "sha256": "4b39d898f6dd28c0e1deba6b44d438de88032ff7fdf03a7da9d5f9966ac1449c" }, "downloads": -1, "filename": "iscc_cli-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3a1a8dd9983809e6d74b9f68fbf9672f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 14838, "upload_time": "2019-06-11T10:09:46", "url": "https://files.pythonhosted.org/packages/ce/cb/320030754e9cfa26c025027e4dda189c7b975cec548e8439fa2c9225d2b7/iscc_cli-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04a80e6efb7012b6836cb43a1b26019a", "sha256": "cfeff20838b1cd39b09d25dd5f0a4219aec5786423914ea874c143510e6d01fe" }, "downloads": -1, "filename": "iscc-cli-0.6.0.tar.gz", "has_sig": false, "md5_digest": "04a80e6efb7012b6836cb43a1b26019a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 11728, "upload_time": "2019-06-11T10:09:44", "url": "https://files.pythonhosted.org/packages/fa/71/5e5d4d43b2527c68881da3fb718522160570dbe89e3c099e9dc242485c7d/iscc-cli-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "02816cd087bdf89b5d01875a2575e2fd", "sha256": "bd8354bfbfb29f0bcd852bfc531280b5c144673aff672ef3e4807c3d1dc613d0" }, "downloads": -1, "filename": "iscc_cli-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "02816cd087bdf89b5d01875a2575e2fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 15758, "upload_time": "2019-09-12T18:13:59", "url": "https://files.pythonhosted.org/packages/f6/d6/8e1f173d1dc996da57e84089ae9df993a4e6dae0bf5f38c9b78bbd680ca4/iscc_cli-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5587d97aa2d08a94ef5d9b3a396e62bd", "sha256": "626805c8da0a98d540143a91bea37d5c281d1db3b318dfcc5606fa5b39b5d00c" }, "downloads": -1, "filename": "iscc-cli-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5587d97aa2d08a94ef5d9b3a396e62bd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 12234, "upload_time": "2019-09-12T18:13:57", "url": "https://files.pythonhosted.org/packages/54/bd/ef2bf341fa532d20b74aa647afe4929d6add33785532fde417e028f8cd4a/iscc-cli-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "02816cd087bdf89b5d01875a2575e2fd", "sha256": "bd8354bfbfb29f0bcd852bfc531280b5c144673aff672ef3e4807c3d1dc613d0" }, "downloads": -1, "filename": "iscc_cli-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "02816cd087bdf89b5d01875a2575e2fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4.0", "size": 15758, "upload_time": "2019-09-12T18:13:59", "url": "https://files.pythonhosted.org/packages/f6/d6/8e1f173d1dc996da57e84089ae9df993a4e6dae0bf5f38c9b78bbd680ca4/iscc_cli-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5587d97aa2d08a94ef5d9b3a396e62bd", "sha256": "626805c8da0a98d540143a91bea37d5c281d1db3b318dfcc5606fa5b39b5d00c" }, "downloads": -1, "filename": "iscc-cli-0.7.0.tar.gz", "has_sig": false, "md5_digest": "5587d97aa2d08a94ef5d9b3a396e62bd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4.0", "size": 12234, "upload_time": "2019-09-12T18:13:57", "url": "https://files.pythonhosted.org/packages/54/bd/ef2bf341fa532d20b74aa647afe4929d6add33785532fde417e028f8cd4a/iscc-cli-0.7.0.tar.gz" } ] }