{ "info": { "author": "David Read, Ian Ward", "author_email": "david.read@hackneyworkshop.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 2.7" ], "description": ".. You should enable this project on travis-ci.org and coveralls.io to make\n these badges work. The necessary Travis and Coverage config files have been\n generated for you.\n\n.. image:: https://travis-ci.org/davidread/ckanext-downloadall.svg?branch=master\n :target: https://travis-ci.org/davidread/ckanext-downloadall\n\n.. image:: https://img.shields.io/pypi/v/ckanext-downloadall.svg\n :target: https://pypi.python.org/project/ckanext-downloadall/\n :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/pyversions/ckanext-downloadall.svg\n :target: https://pypi.python.org/project/ckanext-downloadall/\n :alt: Supported Python versions\n\n.. image:: https://img.shields.io/pypi/status/ckanext-downloadall.svg\n :target: https://pypi.python.org/project/ckanext-downloadall/\n :alt: Development Status\n\n.. image:: https://img.shields.io/pypi/l/ckanext-downloadall.svg\n :target: https://pypi.python.org/project/ckanext-downloadall/\n :alt: License\n\n===================\nckanext-downloadall\n===================\n\nThis CKAN extension adds a \"Download all\" button to datasets. This downloads\na zip file containing all the resource files and a datapackage.json.\n\n.. image:: demo.png\n\nThis zip file is a good way to package data for storing or sending, because:\n\n* you keep all the data files together\n\n* you include the documentation (metadata) - avoids the common problem of being\n handed some data files and not know anything about it or where to find info\n\n* the metadata is machine-readable, so can be used by tools, software and in\n automated workflows. For example:\n\n * validating a series of data releases all meet a standard schema\n * loading it into a database, using the column types and foreign key\n relations specified in the metadata\n\nThe `datapackage.json `_ is a\n`Frictionless Data `_\nstandard, also known as a Data Package.\n\n\nTechnical notes\n~~~~~~~~~~~~~~~\n\nIf the resource is pushed/xloaded to DataStore then the schema (column types)\nis also included in the datapackage.json file.\n\nThis extension uses a CKAN background job to create the zip every time a\ndataset is created or updated (or its data dictionary is changed). This suits\nCKANs where all files are uploaded - if the underlying data file changes\nwithout the CKAN URL changing, then the zip will not include the update (until\nsomething else triggers the zip to update).\n\n(This extension is inspired by `ckanext-packagezip\n`_, but that is old and relied\non ckanext-archiver and IPipe.)\n\n------------\nRequirements\n------------\n\nDesigned to work with CKAN 2.7+\n\nIdeally it is used in conjunction with DataStore and\n`xloader` (or datapusher), so that the\nData Dictionary is included as a schema in the datapackage.json, to describe\nthe column types.\n\n------------\nInstallation\n------------\n\nTo install ckanext-downloadall:\n\n1. Activate your CKAN virtual environment, for example::\n\n . /usr/lib/ckan/default/bin/activate\n\n2. Install the ckanext-downloadall Python package into your virtual environment::\n\n pip install ckanext-downloadall\n\n3. Add ``downloadall`` to the ``ckan.plugins`` setting in your CKAN\n config file (by default the config file is located at\n ``/etc/ckan/default/production.ini``). e.g. ::\n\n ckan.plugins = downloadall\n\n4. Restart the CKAN worker. For example if you've deployed it with supervisord::\n\n sudo supervisorctl restart ckan-worker:ckan-worker-00\n\n5. Restart CKAN server. For example if you've deployed CKAN with Apache on\n Ubuntu::\n\n sudo service apache2 reload\n\n6. Ensure the background job 'worker' process is running - see\nhttps://docs.ckan.org/en/2.8/maintaining/background-tasks.html#running-background-jobs\n\n\n---------------\nConfig Settings\n---------------\n\nNone at present\n\n.. Document any optional config settings here. For example::\n\n.. # The minimum number of hours to wait before re-checking a resource\n.. # (optional, default: 24).\n.. ckanext.downloadall.some_setting = some_default_value\n\n\n----------------------\nCommand-line interface\n----------------------\n\nThere is a command-line interface::\n\n downloadall --help\n\nExamples of use::\n\n downloadall update-zip gold-prices\n downloadall update-all-zips\n\n\n---------------\nTroubleshooting\n---------------\n\n**\"All resource data\" appears as a normal resource, instead of seeing a\n\"Download All\" button**\n\nYou need to enable this extension in the CKAN config and restart the server.\nSee the Installation section above.\n\n**ImportError: No module named datapackage**\n\nThis means you have an older version of ckanapi, which is a dependency of\nckanext-downloadall. Install a newer version.\n\n**OSError: [Errno 13] Permission denied: '/data/ckan/resources/c89'**\n\nYou are trying to update zips from the command-line but running the tasks\nsynchronously, rather than with the normal worker process. In this case you\nneed to run it as the `www-data` user e.g.::\n\n sudo -u www-data /usr/lib/ckan/default/bin/downloadall -c /etc/ckan/default/production.ini update-all-zips --synchronous\n\n------------------------\nDevelopment Installation\n------------------------\n\nTo install ckanext-downloadall for development, activate your CKAN virtualenv\nand do::\n\n git clone https://github.com/davidread/ckanext-downloadall.git\n cd ckanext-downloadall\n python setup.py develop\n pip install -r dev-requirements.txt\n\nRemember to run the worker (in a separate terminal)::\n\n paster --plugin=ckan jobs worker --config=/etc/ckan/default/development.ini\n\n\n-----------------\nRunning the Tests\n-----------------\n\nTo run the tests, do::\n\n nosetests --nologcapture --with-pylons=test.ini\n\nTo run the tests and produce a coverage report, first make sure you have\ncoverage installed in your virtualenv (``pip install coverage``) then run::\n\n nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.downloadall --cover-inclusive --cover-erase --cover-tests\n\n\n----------------------------------------------\nReleasing a New Version of ckanext-downloadall\n----------------------------------------------\n\nckanext-downloadall is availabe on PyPI as https://pypi.org/project/ckanext-downloadall/.\nTo publish a new version to PyPI follow these steps:\n\n1. Update the version number in the ``setup.py`` file.\n See `PEP 440 `_\n for how to choose version numbers.\n\n2. Update the CHANGELOG.md with details of this release.\n\n3. Make sure you have the latest version of necessary packages::\n\n pip install --upgrade setuptools wheel twine\n\n4. Create a source and binary distributions of the new version::\n\n python setup.py sdist bdist_wheel && twine check dist/*\n\n Fix any errors you get.\n\n5. Upload the source distribution to PyPI::\n\n twine upload dist/*\n\n6. Commit any outstanding changes::\n\n git commit -a\n\n7. Tag the new release of the project on GitHub with the version number from\n the ``setup.py`` file. For example if the version number in ``setup.py`` is\n 0.0.1 then do::\n\n git tag 0.0.1\n git push --tags\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/davidread/ckanext-downloadall", "keywords": "CKAN download", "license": "AGPL", "maintainer": "", "maintainer_email": "", "name": "ckanext-downloadall", "package_url": "https://pypi.org/project/ckanext-downloadall/", "platform": "", "project_url": "https://pypi.org/project/ckanext-downloadall/", "project_urls": { "Homepage": "https://github.com/davidread/ckanext-downloadall" }, "release_url": "https://pypi.org/project/ckanext-downloadall/0.0.2/", "requires_dist": [ "ckanapi (>=4.3)" ], "requires_python": "", "summary": "CKAN extension that adds a \"Download all\" button to a dataset", "version": "0.0.2" }, "last_serial": 5468798, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "86e6b7e048dd37b5fbce86b76ea2c395", "sha256": "69ef7907d7b06363cfc4fcd4390a1b008b9efba4476455eda266070f6f88fd79" }, "downloads": -1, "filename": "ckanext_downloadall-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "86e6b7e048dd37b5fbce86b76ea2c395", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 24232, "upload_time": "2019-05-27T17:11:44", "url": "https://files.pythonhosted.org/packages/92/b5/05bc792f9801987b87d7ed8d816c602e1ec50ebcfa44735a23ccad98357e/ckanext_downloadall-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49e9214480fb48343074dccb2fd1e92b", "sha256": "1794577725da964940c6c5e82c0d6ec5be76632d9f0fc1d874db7ca84659ffb2" }, "downloads": -1, "filename": "ckanext-downloadall-0.0.1.tar.gz", "has_sig": false, "md5_digest": "49e9214480fb48343074dccb2fd1e92b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24819, "upload_time": "2019-05-27T17:11:47", "url": "https://files.pythonhosted.org/packages/83/bc/42435af4e4c384b2e19573da0b2e0f55f3de5a35b958de1747f6767429cb/ckanext-downloadall-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "53e01e235abf660811b57ab6357a0089", "sha256": "7b94ff8fc170a4a15e52655b25c106e0bfa1f29b543440c5ce9fd46dc91c2fce" }, "downloads": -1, "filename": "ckanext_downloadall-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "53e01e235abf660811b57ab6357a0089", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 31703, "upload_time": "2019-06-30T21:13:03", "url": "https://files.pythonhosted.org/packages/6a/f6/6af686ceb63ec7d654b786656592ac16b4239dcb4fc19f786c590f48c703/ckanext_downloadall-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5b55987bdf85743e5821dcdbc262c7a", "sha256": "24c77abf30eb4ceffd82147b0ade4767346a12a39627a264a6aad016138e784b" }, "downloads": -1, "filename": "ckanext-downloadall-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d5b55987bdf85743e5821dcdbc262c7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31197, "upload_time": "2019-06-30T21:13:06", "url": "https://files.pythonhosted.org/packages/7c/ac/3349dde0bbac9c47badcbb1912ad25c8bcdac112ae980d5d345084ace20f/ckanext-downloadall-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "53e01e235abf660811b57ab6357a0089", "sha256": "7b94ff8fc170a4a15e52655b25c106e0bfa1f29b543440c5ce9fd46dc91c2fce" }, "downloads": -1, "filename": "ckanext_downloadall-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "53e01e235abf660811b57ab6357a0089", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 31703, "upload_time": "2019-06-30T21:13:03", "url": "https://files.pythonhosted.org/packages/6a/f6/6af686ceb63ec7d654b786656592ac16b4239dcb4fc19f786c590f48c703/ckanext_downloadall-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5b55987bdf85743e5821dcdbc262c7a", "sha256": "24c77abf30eb4ceffd82147b0ade4767346a12a39627a264a6aad016138e784b" }, "downloads": -1, "filename": "ckanext-downloadall-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d5b55987bdf85743e5821dcdbc262c7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31197, "upload_time": "2019-06-30T21:13:06", "url": "https://files.pythonhosted.org/packages/7c/ac/3349dde0bbac9c47badcbb1912ad25c8bcdac112ae980d5d345084ace20f/ckanext-downloadall-0.0.2.tar.gz" } ] }