Skip to main content

The CKAN client Python package.

Project description

The CKAN client software may be used to make requests on the Comprehensive
Knowledge Archive Network (CKAN) API including its REST interface to all
primary objects (packages, groups, tags) and its search interface.

Synopsis
========

The simplest way to make CKAN requests is:

import ckanclient

# Instantiate the CKAN client.
ckan = ckanclient.CkanClient(api_key=my_key)

# Get the package list.
package_list = ckan.package_register_get()
print package_list

# Get the tag list.
tag_list = ckan.tag_register_get()
print tag_list

# Collect the package metadata.
package_entity = {
'name': my_package_name,
'url': my_package_url,
'download_url': my_package_download_url,
'tags': my_package_keywords,
'notes': my_package_long_description,
}

# Register the package.
ckan.package_register_post(package_entity)

# Get the details of a package.
ckan.package_entity_get(package_name)
package_entity = ckan.last_message
print package_entity

# Update the details of a package.
ckan.package_entity_get(package_name)
package_entity = ckan.last_message
package_entity['url'] = new_package_url
package_entity['notes'] = new_package_notes
ckan.package_entity_put(package_entity)

# List groups
group_list = ckan.group_register_get()
print group_list

# Create a new group
group_entity = {
'name': my_group_name,
'title': my_group_title,
'description': my_group_description,
'packages': group_package_names,
}
ckan.group_register_post(group_entity)

# Get the details of a group.
print ckan.group_entity_get(group_name)

# Update the group details
group_entity = ckan.last_message
group_entity['title'] = new_group_title
group_entity['packages'] = new_group_packages
ckan.group_entity_put(group_entity)

Changelog
=========

v0.8 2011-07-20
---------------

* More detailed exceptions added
* Some Python 3 compatibility


v0.7 2011-01-27
---------------

* Package search returns results as a generator
(rather than a list that needs to be paged)


v0.5 2010-12-15
---------------

* Exception raised on error (more Pythonic)


v0.4 2010-10-07
---------------

* Form API added
* Package name editing
* Groups added
* Output can be verbose and use logger
* Query API version
* Sends API key via additional header


v0.3 2010-04-28
---------------

* General usability improvements especially around error messages.
* Package Relationships added
* Package deletion fixed
* Changeset entities added
* Improved httpauth (thanks to will waites)


v0.2 2009-11-05
---------------

* Search API support added
* Improved package support to include additional fields such as 'extras'
* Support tag and group entities in addition to package
* Compatibility changes: CkanClient base_location (now should point to base
api e.g. http://ckan.net/api rather than http://ckan.net/api/rest)


v0.1 2008-04
------------

* Fully functional implementation for REST interface to packages

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ckanclient-0.8.tar.gz (14.1 kB view details)

Uploaded Source

File details

Details for the file ckanclient-0.8.tar.gz.

File metadata

  • Download URL: ckanclient-0.8.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ckanclient-0.8.tar.gz
Algorithm Hash digest
SHA256 02a2081c44430b932e8cb18e865c9106f3deb4ad9f45adada5b1e076873bfa05
MD5 7615a920eeb37681ace510cc6ab43b8c
BLAKE2b-256 d0ea061086411eb0c1f458a3a9afd7e6cb3f5ca7498153070dd86843fb814428

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page