{ "info": { "author": "Samuele Santi", "author_email": "s.santi@trentorise.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7" ], "description": "Ckan API client\n###############\n\nThis package provides an improved client for the `ckan `_ API.\n\nSpecifically, it includes:\n\n- a **low-level client**, which is pretty much just a wrapper around\n HTTP calls, handling serialization and exception-raising.\n\n- a **high-level client**, attempting to make it easier / safer to perform\n certain operations on a ckan catalog.\n\n- a **synchronization client**, used to provide some automation\n for synchronization tasks of collections of datasets into a catalog\n (commonly referred to as \"harvesting\").\n\n\nOther than that, it attempts to get work around some common issues\nwith that API, such as inconsistencies and bugs, trying to make\nsure problems are discovered earlier.\n\n\nDocumentation\n=============\n\nDocumentation is available on Read The Docs:\n\nhttp://ckan-api-client.readthedocs.org\n\na mirror copy is currently available on GitHub pages:\n\nhttps://opendatatrentino.github.io/ckan-api-client/\n\n\nInstallation\n============\n\nLatest stable version, from pypi::\n\n pip install ckan-api-client\n\nLatest from git master::\n\n pip install http://git.io/ckan-api-client.tar.gz\n\n\nExample usage\n=============\n\n.. code-block:: python\n\n >>> from ckan_api_client.high_level import CkanHighlevelClient\n >>> from ckan_api_client.objects import CkanDataset\n\n >>> client = CkanHighlevelClient('http://127.0.0.1:5000', api_key='e70c15cc-2f07-4845-8c6e-3607df88e905')\n\nWe don't have datasets yet on our clean instance:\n\n.. code-block:: python\n\n >>> client.list_datasets()\n []\n\nLet's create a new dataset:\n\n.. code-block:: python\n\n >>> new_dataset = client.create_dataset(CkanDataset({\n ... 'name': 'example-dataset',\n ... 'title': 'My example dataset'}))\n\n >>> new_dataset\n CkanDataset({'maintainer': u'', 'name': u'example-dataset', 'author': u'', 'author_email': u'', 'title': 'My example dataset', 'notes': u'', 'owner_org': None, 'private': False, 'maintainer_email': u'', 'url': u'', 'state': u'active', 'extras': {}, 'groups': [], 'license_id': u'', 'type': u'dataset', 'id': u'dfe41b34-5114-47be-8d94-759f942938fc', 'resources': []})\n\n >>> client.list_datasets()\n [u'dfe41b34-5114-47be-8d94-759f942938fc']\n\nNow, let's change its title:\n\n.. code-block:: python\n\n >>> new_dataset.title = 'NEW TITLE'\n\n >>> client.update_dataset(new_dataset)\n CkanDataset({'maintainer': u'', 'name': u'example-dataset', 'author': u'', 'author_email': u'', 'title': 'NEW TITLE', 'notes': u'', 'owner_org': None, 'private': False, 'maintainer_email': u'', 'url': u'', 'state': u'active', 'extras': {}, 'groups': [], 'license_id': u'', 'type': u'dataset', 'id': u'dfe41b34-5114-47be-8d94-759f942938fc', 'resources': []})\n\nGet it back:\n\n.. code-block:: python\n\n >>> client.get_dataset('dfe41b34-5114-47be-8d94-759f942938fc')\n (same result as above)\n\nDelete it:\n\n.. code-block:: python\n\n >>> client.wipe_dataset(new_dataset.id)\n\nTrying to get the dataset again will raise a \"simulated\" 404: Ckan\nwill never delete datasets, it just marks them as \"state: deleted\",\nfor administrative users, and returns a 403 for anonymous ones. We\nwant to provide more consistency so we raise an exception.\n\nIf you **really** want to get the deleted dataset, add\n``allow_deleted=True``.\n\n.. code-block:: python\n\n >>> client.get_dataset('dfe41b34-5114-47be-8d94-759f942938fc')\n HTTPError: HTTPError(404, '(logical) dataset state is deleted', original=None)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://rshk.github.io/ckan-api-client", "keywords": null, "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "ckan-api-client", "package_url": "https://pypi.org/project/ckan-api-client/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ckan-api-client/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://rshk.github.io/ckan-api-client" }, "release_url": "https://pypi.org/project/ckan-api-client/0.1-beta5/", "requires_dist": null, "requires_python": null, "summary": "Client for the Ckan API", "version": "0.1-beta5" }, "last_serial": 1127831, "releases": { "0.1-beta": [ { "comment_text": "", "digests": { "md5": "a9da8c9ba23534b72eec77debcb347b7", "sha256": "51f4e07a8f5b6e2b139a4992e750134af45b872f470f1699b02f4eee6584e72f" }, "downloads": -1, "filename": "ckan-api-client-0.1-beta.tar.gz", "has_sig": false, "md5_digest": "a9da8c9ba23534b72eec77debcb347b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50711, "upload_time": "2014-05-16T09:59:48", "url": "https://files.pythonhosted.org/packages/37/b1/9a6ff3244d32a4e37b5e86b2addd42d989c29d3f47d5a5cde00f85146ef9/ckan-api-client-0.1-beta.tar.gz" } ], "0.1-beta1": [ { "comment_text": "", "digests": { "md5": "2d7dc3ad08e14c7f976f405a3c61d32f", "sha256": "50125b0e92d14cf16072ae10578274ed26b600d7b851588e0693e8bb6e02b1f8" }, "downloads": -1, "filename": "ckan-api-client-0.1-beta1.tar.gz", "has_sig": false, "md5_digest": "2d7dc3ad08e14c7f976f405a3c61d32f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52068, "upload_time": "2014-05-16T10:10:02", "url": "https://files.pythonhosted.org/packages/95/06/5f41ba1b76a9a9b2eaae5bacfbbc31a51bb270e22ce96ef8ebae0174265c/ckan-api-client-0.1-beta1.tar.gz" } ], "0.1-beta2": [ { "comment_text": "", "digests": { "md5": "f9266d9d478f4d94a79fd67c18ce39ed", "sha256": "7f890e6953e37884235d4cd7014bec76b41a6821be22b7e13b555f65c108df85" }, "downloads": -1, "filename": "ckan-api-client-0.1-beta2.tar.gz", "has_sig": false, "md5_digest": "f9266d9d478f4d94a79fd67c18ce39ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53290, "upload_time": "2014-05-16T10:23:30", "url": "https://files.pythonhosted.org/packages/e4/1c/cd730f45dd169f4ef587b3756506d8c39ba980a899c9e94a0e54f0cc4639/ckan-api-client-0.1-beta2.tar.gz" } ], "0.1-beta3": [ { "comment_text": "", "digests": { "md5": "0abfe9667fd47fea2641538b41baf2f8", "sha256": "f454e59b313a92a0d9643434f3fa599cd2cda50337d293c64b66c47b3dcc1abb" }, "downloads": -1, "filename": "ckan-api-client-0.1-beta3.tar.gz", "has_sig": false, "md5_digest": "0abfe9667fd47fea2641538b41baf2f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53309, "upload_time": "2014-05-16T16:13:46", "url": "https://files.pythonhosted.org/packages/77/99/2dc9a38b0e3b8bc3162c8f28083fef83da1acfd8910808cc33f8f67fad59/ckan-api-client-0.1-beta3.tar.gz" } ], "0.1-beta4": [ { "comment_text": "", "digests": { "md5": "167e0828380a0d688c4a94fc78dcaffc", "sha256": "1e7bc05a6fd9038f734d7c3c8de1bac214167ecfcbe14b2932a4f18803b16b0e" }, "downloads": -1, "filename": "ckan-api-client-0.1-beta4.tar.gz", "has_sig": false, "md5_digest": "167e0828380a0d688c4a94fc78dcaffc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53419, "upload_time": "2014-05-16T16:17:07", "url": "https://files.pythonhosted.org/packages/73/15/57900744b96e3051c5854132daedf49158110488ef6a3325dab45feb43be/ckan-api-client-0.1-beta4.tar.gz" } ], "0.1-beta5": [ { "comment_text": "", "digests": { "md5": "c09e4149883b724a7297e3d0cab28094", "sha256": "1b6d8d1a56fb7162faf908254c08cbd43efcd304d41e10e554f26d5c21cfea88" }, "downloads": -1, "filename": "ckan-api-client-0.1-beta5.tar.gz", "has_sig": false, "md5_digest": "c09e4149883b724a7297e3d0cab28094", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53607, "upload_time": "2014-06-17T16:05:48", "url": "https://files.pythonhosted.org/packages/39/08/e56006599e8f6c8a4b2211d564c232c07cafd7c754ab457ff4beb8a4eeeb/ckan-api-client-0.1-beta5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c09e4149883b724a7297e3d0cab28094", "sha256": "1b6d8d1a56fb7162faf908254c08cbd43efcd304d41e10e554f26d5c21cfea88" }, "downloads": -1, "filename": "ckan-api-client-0.1-beta5.tar.gz", "has_sig": false, "md5_digest": "c09e4149883b724a7297e3d0cab28094", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53607, "upload_time": "2014-06-17T16:05:48", "url": "https://files.pythonhosted.org/packages/39/08/e56006599e8f6c8a4b2211d564c232c07cafd7c754ab457ff4beb8a4eeeb/ckan-api-client-0.1-beta5.tar.gz" } ] }