{ "info": { "author": "Anthony DeBarros", "author_email": "practicalsqlbook@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "A Bulk-Upload Library for DocumentCloud\n---------------------------------------\n\npneumatic is a Python 3 library that adds some luxury and safeguards to the bulk-uploading of hundreds, thousands or hundreds of thousands of files to `DocumentCloud `_. It is meant to do one thing -- upload -- and serve as an adjunct to, but not a replacement for, the excellent `python-documentcloud `_ API wrapper.\n\npneumatic's name is inspired by the pneumatic dispatch systems in newsrooms of yore, which featured a `series of pneumatic tubes`_ for sending copy from the newsrooms to other departments such as the composing room.\n\nFeatures\n--------\n\n- Catalogs the API response for each upload in a SQLite database along with the file's canonical URL.\n- Dumps the SQLite data to a CSV if you wish.\n- Multiprocessing (under Mac/Linux) for faster submission of files to DocumentCloud's API.\n- Prevents inadvertent submission of file types DocumentCloud doesn't handle, such as audio.\n\nLinks\n-----\n\n* Documentation: http://pneumatic.readthedocs.io/en/latest/\n* Repository: https://github.com/anthonydb/pneumatic\n* Issues: https://github.com/anthonydb/pneumatic/issues\n\nBasic Usage\n-----------\n\nYou will need an active DocumentCloud account and Python 3.4+. First, install via pip:\n\n.. code-block:: python\n\n pip install pneumatic\n\nExample use: To upload all files in a directory (and all sub-directories below it), assign them to an existing project, set the files to public access, and tag each with metadata, run the following code:\n\n.. code-block:: python\n\n from pneumatic import DocumentCloudUploader\n\n uploader = DocumentCloudUploader('person@example.com', 'your-password')\n uploader.upload(\n file_directory='/govfiles',\n project='17477-loudoun-county-government',\n access='public',\n data={'type': 'government', 'action': 'lawsuit'})\n\n.. _`series of pneumatic tubes`: https://en.wikipedia.org/wiki/Pneumatic_tube\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pneumatic.readthedocs.io/en/latest/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pneumatic", "package_url": "https://pypi.org/project/pneumatic/", "platform": "", "project_url": "https://pypi.org/project/pneumatic/", "project_urls": { "Homepage": "http://pneumatic.readthedocs.io/en/latest/" }, "release_url": "https://pypi.org/project/pneumatic/0.1.8/", "requires_dist": [ "requests", "colorama" ], "requires_python": "", "summary": "A bulk upload library for DocumentCloud.", "version": "0.1.8" }, "last_serial": 4302802, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "b2a81b949a2d7a180a09e27292c6018a", "sha256": "55840bd3ae81fb78e24b1616213da422fdfb9aa2ef20c88894fa1b1f3406962f" }, "downloads": -1, "filename": "pneumatic-0.0.1-py2.7.egg", "has_sig": false, "md5_digest": "b2a81b949a2d7a180a09e27292c6018a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 9639, "upload_time": "2015-12-31T16:49:45", "url": "https://files.pythonhosted.org/packages/05/ae/ea75e212be3b859de45f420e8db3f7fa3d7aa6598b0854d06ae13700ba92/pneumatic-0.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a4902b3f9208a380e7ae7f90eff87709", "sha256": "c7959d11df85eb801c10e2e1f2a8cf3e685904ff7b32a4ac0eae02575e89940a" }, "downloads": -1, "filename": "pneumatic-0.0.1-py3.5.egg", "has_sig": false, "md5_digest": "a4902b3f9208a380e7ae7f90eff87709", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 10509, "upload_time": "2015-12-31T16:49:52", "url": "https://files.pythonhosted.org/packages/6f/4f/1b627ef459838be2eaa547bc4be9866da3c98957ab6a733745185fdb4590/pneumatic-0.0.1-py3.5.egg" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "9aa6625eefc78fe7233a0511ebe1c4af", "sha256": "82ad81e7718bae0d4453564106d99f590611bface154fd882d94d2c389df1938" }, "downloads": -1, "filename": "pneumatic-0.0.2-py3.5.egg", "has_sig": false, "md5_digest": "9aa6625eefc78fe7233a0511ebe1c4af", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 10527, "upload_time": "2015-12-31T16:50:01", "url": "https://files.pythonhosted.org/packages/8d/42/f5d4000c3288971d3b0cda148360b401bd899160a93f29f21aab9ca507f9/pneumatic-0.0.2-py3.5.egg" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "1692679579c5332d34938615b8697dd6", "sha256": "799feb742de79062c5df9355610236008ec30c3238bcb3b845ac48166cf79c42" }, "downloads": -1, "filename": "pneumatic-0.1-py2.7.egg", "has_sig": false, "md5_digest": "1692679579c5332d34938615b8697dd6", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10501, "upload_time": "2015-12-31T16:50:24", "url": "https://files.pythonhosted.org/packages/5b/66/034d87e995f489c4d92191ad350fe51a88d19985d72be4861682ebef32c0/pneumatic-0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "9034da6754b91a2452b86ca5afd2a0b2", "sha256": "ada963fa03dccb879515de51ba0bd46ea8059aba1e3209a767b92768f05372d4" }, "downloads": -1, "filename": "pneumatic-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9034da6754b91a2452b86ca5afd2a0b2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7561, "upload_time": "2015-12-31T16:49:36", "url": "https://files.pythonhosted.org/packages/a4/c3/31708601294658660581a05754c692963fd716fe2860d7da6f425614122d/pneumatic-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63dd1862f7953ae2cb101e8148e4366d", "sha256": "f197624f7c14f32094e6e6fac2b6a495630217dea91e4d27c0c7ec41f6cee856" }, "downloads": -1, "filename": "pneumatic-0.1-py3.5.egg", "has_sig": false, "md5_digest": "63dd1862f7953ae2cb101e8148e4366d", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 10801, "upload_time": "2015-12-31T16:50:37", "url": "https://files.pythonhosted.org/packages/7b/6e/27566494d61e479cfe8edf5c2977473c81e4c15dd72231975019951ce5ff/pneumatic-0.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "7c7502fb88d58bdd6ed3df5ccb8fa761", "sha256": "297c202108332a6e83cf5cbdd121d292fd7b9716550dea028f8589a5bcbb6ca7" }, "downloads": -1, "filename": "pneumatic-0.1.tar.gz", "has_sig": false, "md5_digest": "7c7502fb88d58bdd6ed3df5ccb8fa761", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4516, "upload_time": "2015-12-31T16:50:47", "url": "https://files.pythonhosted.org/packages/ac/0f/bc78b8ee8edbdf5a57c15682fa5a10221944e81fbaebec0bb5c09db59afa/pneumatic-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e460590db6d84f650ffc06ba2318175d", "sha256": "404752fdd6b841cae08a6dd5ae67951aa964ae3d6d1f0b752de9f6ecb38df355" }, "downloads": -1, "filename": "pneumatic-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "e460590db6d84f650ffc06ba2318175d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10501, "upload_time": "2015-12-31T17:06:49", "url": "https://files.pythonhosted.org/packages/a3/06/a748b89cdc8483fe39ea2e7112d2b76a1ec947b49988b993b0d3a84b3007/pneumatic-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "e4171e7bff22f42095cf9b69ddbfb06e", "sha256": "28cfac00fe053052482f45cc75c4e272e37c7f1745ef69a14325638ca9512264" }, "downloads": -1, "filename": "pneumatic-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4171e7bff22f42095cf9b69ddbfb06e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7590, "upload_time": "2015-12-31T17:06:43", "url": "https://files.pythonhosted.org/packages/a1/ee/b04fcabda024b7a4e297bd90bc99633f5cb30a74eb0a2c6e936375b54d83/pneumatic-0.1.1-py2.py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "3a4c716d1e98e4ce879709a839e6afb3", "sha256": "8baa5a1dfd6b7e34414f7374c8d7ac04fb32abfabddeb1caaf16ef821bd0e48d" }, "downloads": -1, "filename": "pneumatic-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3a4c716d1e98e4ce879709a839e6afb3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8692, "upload_time": "2016-02-04T20:02:56", "url": "https://files.pythonhosted.org/packages/d8/55/ac9818866b08116518526a30cb6e53b660c304931945b8e03a0978b62a8f/pneumatic-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb3164b451ef3a17ea6d15c79d97440a", "sha256": "f4acc9d054d5618f8c6a2b6c73634e796096336e51c826c1aaf34b75bd806473" }, "downloads": -1, "filename": "pneumatic-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bb3164b451ef3a17ea6d15c79d97440a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5360, "upload_time": "2016-02-04T20:03:09", "url": "https://files.pythonhosted.org/packages/62/b2/51f8cddf704fb062605e5ecc286b09796eae988e207ec6a73bfef0fcff41/pneumatic-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "492c092ba3cf7ccfb06f06565b02fa21", "sha256": "5e21a6a6f11007fd02dfdb455e065c83a69c512892a8c7b59e5f36499f9ac173" }, "downloads": -1, "filename": "pneumatic-0.1.3-py3.5.egg", "has_sig": false, "md5_digest": "492c092ba3cf7ccfb06f06565b02fa21", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 14481, "upload_time": "2016-02-17T02:08:25", "url": "https://files.pythonhosted.org/packages/66/53/3b054cdd9acbe75751015f4901231f28b9c4a3ffa6a25536b5830a1c3ee3/pneumatic-0.1.3-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "aec95cf30f8ad182ec0f24acf90f3143", "sha256": "e3402920b6027f50487a2ef891e25ec4bce48681df492f8ad330da258ccb994e" }, "downloads": -1, "filename": "pneumatic-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "aec95cf30f8ad182ec0f24acf90f3143", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9636, "upload_time": "2016-02-17T02:08:01", "url": "https://files.pythonhosted.org/packages/7e/e2/662fab2ed988247a318dc097e3c71f375a97b66c7715cc25f0b9ae4d75ea/pneumatic-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7eaf4deeb027d3c5d9a28437584a3d1", "sha256": "f53839067765c0be2788b6f3c4d559ff9a2603adacde4c4060049bf88ad925af" }, "downloads": -1, "filename": "pneumatic-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d7eaf4deeb027d3c5d9a28437584a3d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5932, "upload_time": "2016-02-17T02:08:36", "url": "https://files.pythonhosted.org/packages/c8/03/e88db596341b7618ed7215b56cc8b57a6d3367b6f2758cc6879655e2307c/pneumatic-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c952966128ca25b290d7af8e364e03cd", "sha256": "e495bfe34c2b28cf7c633ba802c34e19f6e39b6edb630108ba6613a47f0f8c8e" }, "downloads": -1, "filename": "pneumatic-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c952966128ca25b290d7af8e364e03cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9644, "upload_time": "2016-02-17T20:52:34", "url": "https://files.pythonhosted.org/packages/4f/e7/07e4ce8705880901784587cb07a511f03b58f021878bd920fe1889b047ae/pneumatic-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f64d32b5c8b1a4ba20fda3804bb9950", "sha256": "533821e575b9bab787e230a48d922836dfbf8837d3ba005d4a1d63510a88d2d3" }, "downloads": -1, "filename": "pneumatic-0.1.4.tar.gz", "has_sig": false, "md5_digest": "5f64d32b5c8b1a4ba20fda3804bb9950", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5947, "upload_time": "2016-02-17T20:52:39", "url": "https://files.pythonhosted.org/packages/b2/96/f492265505163d4998f33f9a142d782c0d57e2b54093997f3f473d3c66f3/pneumatic-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7b601f6ea503fd8dd2bfb14f50611e28", "sha256": "3a85845339f31f9d8034950b8f34a1e7f6067a5a0becc44b074daa4e39d814fb" }, "downloads": -1, "filename": "pneumatic-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7b601f6ea503fd8dd2bfb14f50611e28", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10486, "upload_time": "2016-03-10T05:45:51", "url": "https://files.pythonhosted.org/packages/a2/6e/a3dee9dec1c97ad50f415cbbc244c0e069b8a28c2c4d44725b1f472e52ee/pneumatic-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7bb0ee84757841dc2c7148eebf122dc", "sha256": "af82314b851ef1906dad68d9892755c76ef6041f6ecc823219c40e3c1f15ffb0" }, "downloads": -1, "filename": "pneumatic-0.1.5.tar.gz", "has_sig": false, "md5_digest": "b7bb0ee84757841dc2c7148eebf122dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6652, "upload_time": "2016-03-10T05:45:58", "url": "https://files.pythonhosted.org/packages/d8/1a/d2089201a21899f63201c7536ffd21492fb4e22a8acf8fdcaddaddc44046/pneumatic-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3ff70ca078d7f0babaf2f7659642462f", "sha256": "d3a6cc44864dda4140c7129febfafd352f6654b10dfe902c29cedb547ad122e0" }, "downloads": -1, "filename": "pneumatic-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3ff70ca078d7f0babaf2f7659642462f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10572, "upload_time": "2016-04-29T02:34:43", "url": "https://files.pythonhosted.org/packages/a8/3d/dc5f6d9816d5b650866f7cfec112b7640000a22a4877348f6a0a2f173676/pneumatic-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0174c801ae79621ba8dec1efd8ec974", "sha256": "e76406f8eb2f3eab28c7eb1f833825f8d4938a580536e85b8d008778f4f6c639" }, "downloads": -1, "filename": "pneumatic-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a0174c801ae79621ba8dec1efd8ec974", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6729, "upload_time": "2016-04-29T02:34:48", "url": "https://files.pythonhosted.org/packages/b4/63/fda2c7f2efc884aad2952cbcfd53cf204ff84fc4581773fd5db4b6f8bcab/pneumatic-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "87dea1b0d11a6392fbf4142c5eab2a40", "sha256": "2628c3dfad8aee350e1e4f454b8ddb24795c5284b38ef8ba5a6b0a9a78c7e668" }, "downloads": -1, "filename": "pneumatic-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "87dea1b0d11a6392fbf4142c5eab2a40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11119, "upload_time": "2016-11-25T15:34:16", "url": "https://files.pythonhosted.org/packages/e1/0f/cf3fcad4891f9b7ab674011762872960df31d2257044b10e05cf4800e610/pneumatic-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "964b3cf3773ff77e98af819b68f8db51", "sha256": "ca80984f3c311ee91cffda3aa772322deadcdf77e73effeb09655384745cd383" }, "downloads": -1, "filename": "pneumatic-0.1.7.tar.gz", "has_sig": false, "md5_digest": "964b3cf3773ff77e98af819b68f8db51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7161, "upload_time": "2016-11-25T15:34:19", "url": "https://files.pythonhosted.org/packages/e0/b9/e10b45a22cf204a71c401cf17fdf9220c2a053dc8cda17d4a36dbbf327c0/pneumatic-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "0e78a30b2edb8d45f48cfde6c6cf27a1", "sha256": "44a4807676657636f9f984db6c7cf7331866227a827879b2bf3f5661f0fa57f5" }, "downloads": -1, "filename": "pneumatic-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "0e78a30b2edb8d45f48cfde6c6cf27a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8735, "upload_time": "2018-09-23T19:19:33", "url": "https://files.pythonhosted.org/packages/f1/6c/37289799efb49a715ffc0c875b0ace8f94761426bb9ec35c186517f97740/pneumatic-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9b314c8702a14488a81b720e142fd71", "sha256": "25b64489de56e0491a3fca1802c45ae4dc70b1dd2958837a85ae93dd925e905d" }, "downloads": -1, "filename": "pneumatic-0.1.8.tar.gz", "has_sig": false, "md5_digest": "d9b314c8702a14488a81b720e142fd71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7321, "upload_time": "2018-09-23T19:19:34", "url": "https://files.pythonhosted.org/packages/c3/9c/60fc60ae2ec1958e63bd4601d84db888894447e3a4bb42012e88bf2730c2/pneumatic-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0e78a30b2edb8d45f48cfde6c6cf27a1", "sha256": "44a4807676657636f9f984db6c7cf7331866227a827879b2bf3f5661f0fa57f5" }, "downloads": -1, "filename": "pneumatic-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "0e78a30b2edb8d45f48cfde6c6cf27a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8735, "upload_time": "2018-09-23T19:19:33", "url": "https://files.pythonhosted.org/packages/f1/6c/37289799efb49a715ffc0c875b0ace8f94761426bb9ec35c186517f97740/pneumatic-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9b314c8702a14488a81b720e142fd71", "sha256": "25b64489de56e0491a3fca1802c45ae4dc70b1dd2958837a85ae93dd925e905d" }, "downloads": -1, "filename": "pneumatic-0.1.8.tar.gz", "has_sig": false, "md5_digest": "d9b314c8702a14488a81b720e142fd71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7321, "upload_time": "2018-09-23T19:19:34", "url": "https://files.pythonhosted.org/packages/c3/9c/60fc60ae2ec1958e63bd4601d84db888894447e3a4bb42012e88bf2730c2/pneumatic-0.1.8.tar.gz" } ] }