Skip to main content

A Python library for working with a Data Package Registry.

Project description

[![Coverage Status](https://coveralls.io/repos/okfn/datapackage-registry-py/badge.svg?branch=master&service=github)](https://coveralls.io/github/okfn/datapackage-registry-py?branch=master)

datapackage-registry-py
=======================

A Python library for working with a Data Package Registry.

The default registry backend is currently located at:
<https://rawgit.com/dataprotocols/registry/master/registry.csv>

Usage
-----

```python
import datapackage_registry

# get the default registry objects
registry = datapackage_registry.Registry()

# see the available profiles in the registry
print(registry.available_profiles)
# {
# 'base': {
# 'id': 'base',
# 'schema': 'https://rawgit.com/dataprotocols/schemas/master/data-package.json',
# 'specification': 'http://dataprotocols.org/data-packages',
# 'title': 'Data Package'
# },
# 'tabular': {
# 'id': 'tabular',
# 'schema': 'https://rawgit.com/dataprotocols/schemas/master/tabular-data-package.json',
# 'specification': 'http://dataprotocols.org/tabular-data-package/',
# 'title': 'Tabular Data Package'
# }
# }

# get a profile by its id
base_profile = registry.get('base')
```

If you’d like to use a custom registry, you can pass its URL or local
path to the `Registry()` constructor, as in:

```python
import datapackage_registry

registry = datapackage_registry.Registry('http://someplace.com/my-registry.csv')
```

If you’d like to get a schema that's not in the registry, you can pass its URL
or local path to `Registry().get_external()` method, as in:

```python
import datapackage_registry
registry = datapackage_registry.Registry()

schema = registry.get_external('http://someplace.com/schema.json')
if schema is None:
pass # There was some error loading the schema
```

Developer notes
---------------

These notes are intended to help people that want to contribute to this
package itself. If you just want to use it, you can safely ignore this.

### Updating the local schemas cache

We cache the schemas from <https://github.com/dataprotocols/schemas>
using git-subtree. To update it, use:

git subtree pull --prefix datapackage_registry/schemas https://github.com/dataprotocols/schemas.git master --squash

Download files

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

Source Distribution

datapackage-registry-0.3.0.tar.gz (9.6 kB view hashes)

Uploaded Source

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