{ "info": { "author": "Anon AI", "author_email": "info@anon.ai", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3" ], "description": "Anon AI Toolbelt\n================\n\nThe Anon AI Toolbelt is a command line interface (CLI) tool for managing\nand anonymising data with the `Anon AI web service `__.\n\nIt's developed in Python and the code is published under the `MIT\nLicense `__ at\n`github.com/anon-ai/toolbelt `__.\n\nInstallation\n------------\n\nInstall using ``pip`` into a Python3 environment:\n\n.. code:: bash\n\n pip install anon-ai-toolbelt\n\nNote that the toolbelt only works with Python3 and installs dependencies\nincluding the `Python Cryptography\nToolkit `__.\n\nUsage\n-----\n\nThe primary workflow is for a data controller to ``push`` data into the\nsystem and then for data processors to ``pull`` the data down in\nanonymised form.\n\n- `anon login <#login>`__\n- `anon push INPUT\\_FILE RESOURCE <#push>`__\n- `anon pull RESOURCE OUTPUT\\_FILE <#pull>`__\n- `anon pipe URL OUTPUT\\_FILE <#pipe>`__\n\nLogin\n~~~~~\n\nLogin with your API credentials (writes to\n``~/.config/anon.ai/config.json``):\n\n.. code:: bash\n\n anon login\n > key: ...\n > secret: ...\n\nPush\n~~~~\n\nPush a data snapshot up to ingest and store it.\n\n.. code:: bash\n\n anon push foo.dump mydb\n\nWhen ingesting structured data you should specify the data format:\n\n.. code:: bash\n\n anon push foo.dump mydb --format postgres\n\nIn this example, ``mydb`` is an arbitrary resource name that you use to\nidentify this ingested data source. Subsequent pushes to the same name\nare usually used to store a new snapshot of the same file or database.\n\nThe stored data is encrypted using AES-256 with a per-account encryption\nkey that lives in (and never leaves) a `secure\nvault `__. You can also optionally provide\nyour own encryption key:\n\n.. code:: bash\n\n anon push foo.dump mydb --encryption-key LONG_RANDOM_STRING\n\nNote that:\n\n1. your encryption key is **never persisted** in our system -- so you\n have to manage it and give it to any users that you want to share\n anonymised data with\n2. there's no strict requirement on length or format for your encryption\n key value (we SHA-256 hash it along with your per-account encryption\n key) but we recommend at least 16 bytes entropy\n\nPull\n~~~~\n\nPull down an anonymised copy of an ingested data snapshot:\n\n.. code:: bash\n\n anon pull mydb foo.dump\n\nOptionally provide an encryption key (to decrypt the stored data with)\nand / or configure how you'd like it anonymised:\n\n.. code:: bash\n\n anon pull mydb foo.dump --config config.json --encryption-key ...\n\nPipe\n~~~~\n\nPipe data through to anonymise it:\n\n.. code:: bash\n\n anon pipe http://humanstxt.org/humans.txt /tmp/humans.anon.txt\n\nThis parses, analyses and anonymises the data on the fly, i.e.: without\npersisting it. The data source must currently be a URL.\n\nVersions\n~~~~~~~~\n\nYou can ``pull`` specific snapshot versions by targeting them by name:\n\n.. code:: bash\n\n anon pull mydb --snapshot someid\n\nYou can also ``push`` snapshots up with a specific name:\n\n.. code:: bash\n\n anon push foo.sql mydb --snapshot someid\n\nTab completion\n~~~~~~~~~~~~~~\n\nEnable ``bash`` completion by adding the following to your ``.bashrc``:\n\n.. code:: bash\n\n eval \"$(_ANON_COMPLETE=source anon)\"\n\nIf you use ``zsh``, you can emulate bash completion by first adding\n``bashcompinit`` to your ``.zshrc``:\n\n.. code:: bash\n\n autoload bashcompinit\n bashcompinit\n eval \"$(_ANON_COMPLETE=source anon)\"\n\nFor more information see `Anon AI `__.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/anon-ai/toolbelt", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "anon-ai-toolbelt", "package_url": "https://pypi.org/project/anon-ai-toolbelt/", "platform": "", "project_url": "https://pypi.org/project/anon-ai-toolbelt/", "project_urls": { "Homepage": "https://github.com/anon-ai/toolbelt" }, "release_url": "https://pypi.org/project/anon-ai-toolbelt/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "A command-line tool for using the Anon AI web service.", "version": "0.3.0" }, "last_serial": 3449936, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "35ed4fb82efa3618b6b6bd91da5f2e8f", "sha256": "7afc76d83ec3e83c9ee2dfc5d43243cf984590c8dfa963d7bca834aab5db252f" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.0.tar.gz", "has_sig": false, "md5_digest": "35ed4fb82efa3618b6b6bd91da5f2e8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4290, "upload_time": "2017-12-29T11:44:35", "url": "https://files.pythonhosted.org/packages/6e/28/fe6a9100ba6bceef95ee451310e7087d35bb1c2aaf87f4682fc529948b4f/anon-ai-toolbelt-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5431af4060e48d258fed2305e84a4ab5", "sha256": "ff772198d115868d6bdb4c2855e86a889d21932778aed6b197870058e6cd220f" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.1.tar.gz", "has_sig": false, "md5_digest": "5431af4060e48d258fed2305e84a4ab5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6467, "upload_time": "2017-12-29T11:49:07", "url": "https://files.pythonhosted.org/packages/7e/ba/e3b3d7918ed123d2e99aa634123db6d2c23e0a94f469c253288c4a7c5930/anon-ai-toolbelt-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "ca7e935527c0e6a91b19bc1c3a5ea58d", "sha256": "ab7fedafce58182ccbb1b0f8fb2a286beefb2be407f86f420f7ddf41c2ac405a" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.10.tar.gz", "has_sig": false, "md5_digest": "ca7e935527c0e6a91b19bc1c3a5ea58d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8472, "upload_time": "2017-12-29T12:43:33", "url": "https://files.pythonhosted.org/packages/27/d3/19d34745c154a3d3786e32d5af905a51dcd1ff91a089809eacc910c28542/anon-ai-toolbelt-0.2.10.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "aee498b919e2783697a45e200341f05d", "sha256": "9f4bdc34a9caa82b22ba742a9f92fe4324f2483f13b645fa58409bd0b1822fff" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.2.tar.gz", "has_sig": false, "md5_digest": "aee498b919e2783697a45e200341f05d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6618, "upload_time": "2017-12-29T11:52:36", "url": "https://files.pythonhosted.org/packages/f9/0b/ff4baeaa15edac86956b68743181c39406a215678a654294c4d85b85ceda/anon-ai-toolbelt-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "db598621663476bb6a3780b75d6fe652", "sha256": "eceda85737dad37586a4d6c36f5dcc21137185251f23bd545577b0255bac87e6" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.3.tar.gz", "has_sig": false, "md5_digest": "db598621663476bb6a3780b75d6fe652", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9171, "upload_time": "2017-12-29T11:58:00", "url": "https://files.pythonhosted.org/packages/2c/5c/d852d0b6a0b0280b0e6f8d0124275ede4f47ca36dc2e2e1168dbe38afe74/anon-ai-toolbelt-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "67924cf67c72df4a4a79b6e985c3de4f", "sha256": "e42a22ca9e6989685d7a0db74fd78ccfcbc8d2018760e94190ccaad28e044cba" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.4.tar.gz", "has_sig": false, "md5_digest": "67924cf67c72df4a4a79b6e985c3de4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9252, "upload_time": "2017-12-29T12:02:46", "url": "https://files.pythonhosted.org/packages/5a/e0/d7749f334c1c003efcf0f32a3e778c70165f9fbf08faeee3534a8fcd65a4/anon-ai-toolbelt-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "21f2313f4738532e74124c5cf991e426", "sha256": "2f4c4d097dd59a04968b7f25d7bdbccfce7f848f43ceb3ca48985d7f811b671b" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.5.tar.gz", "has_sig": false, "md5_digest": "21f2313f4738532e74124c5cf991e426", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9292, "upload_time": "2017-12-29T12:13:28", "url": "https://files.pythonhosted.org/packages/99/40/48ea4967b15a78479be2bca6772fbaf96fa0d1425f58c8c00ef20da7d5f1/anon-ai-toolbelt-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "fb6eceeeb81e2e06deafac4d248ec626", "sha256": "7ec15da25d14623bdacfa8ff157382d331b2242cb8141df2d257926ca5248e97" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.6.tar.gz", "has_sig": false, "md5_digest": "fb6eceeeb81e2e06deafac4d248ec626", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8998, "upload_time": "2017-12-29T12:32:37", "url": "https://files.pythonhosted.org/packages/93/ca/87049df2317b548bb194597f22dfb3be606558cda1ebedce9800b2206e1b/anon-ai-toolbelt-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "79d7b4eab1eefc0dc25d526f8db13521", "sha256": "cfa318080ab59c3ce4a002a48671a88e708fdbfcfeefec3dc45b63b43b7c493b" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.7.tar.gz", "has_sig": false, "md5_digest": "79d7b4eab1eefc0dc25d526f8db13521", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8981, "upload_time": "2017-12-29T12:35:13", "url": "https://files.pythonhosted.org/packages/74/03/5874488afae8b1e0870019288e61c3ed9cc83ccb6438c511941aedca0f05/anon-ai-toolbelt-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "e9d56615ccb1b4cf9dc63f53c6a502e0", "sha256": "d71be177d671c51244c2cd76eba429e4413496c28db1771187367006d25bd761" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.8.tar.gz", "has_sig": false, "md5_digest": "e9d56615ccb1b4cf9dc63f53c6a502e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8986, "upload_time": "2017-12-29T12:36:23", "url": "https://files.pythonhosted.org/packages/7f/9c/b8601d4d69cbb0c70390c263c65b4f5031ee38181f22e029da72b7e7e3a7/anon-ai-toolbelt-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "b90991bfe6b0c4839f746d5219265f68", "sha256": "14b516919a17d25e33ba279c723b20c97a68be5ecefdf630365cd4c4e5df60e5" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.2.9.tar.gz", "has_sig": false, "md5_digest": "b90991bfe6b0c4839f746d5219265f68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8988, "upload_time": "2017-12-29T12:39:51", "url": "https://files.pythonhosted.org/packages/d2/b6/85928f5a8b3e0aa9accf4beae1d49ec1a1c24ed4317fca5df36739f0f772/anon-ai-toolbelt-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "04954abc8dcb6842a4881e809b07f75e", "sha256": "c21f72c883ecb05c57782271b5e56c3340a835373908ebb7eff08eff30112aae" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.3.0.tar.gz", "has_sig": false, "md5_digest": "04954abc8dcb6842a4881e809b07f75e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8354, "upload_time": "2017-12-29T12:44:59", "url": "https://files.pythonhosted.org/packages/52/99/ced9b78272fed3c72d03d5240b29c88cfea4facd55b8ac2231c0dbbe165b/anon-ai-toolbelt-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "04954abc8dcb6842a4881e809b07f75e", "sha256": "c21f72c883ecb05c57782271b5e56c3340a835373908ebb7eff08eff30112aae" }, "downloads": -1, "filename": "anon-ai-toolbelt-0.3.0.tar.gz", "has_sig": false, "md5_digest": "04954abc8dcb6842a4881e809b07f75e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8354, "upload_time": "2017-12-29T12:44:59", "url": "https://files.pythonhosted.org/packages/52/99/ced9b78272fed3c72d03d5240b29c88cfea4facd55b8ac2231c0dbbe165b/anon-ai-toolbelt-0.3.0.tar.gz" } ] }