Skip to main content

Eve ArangoDB data layer

Project description

https://badge.fury.io/py/eve-arango.svg https://travis-ci.org/tangram/eve-arango.svg?branch=master

Provides a data layer for ArangoDB to be used with Eve REST API framework.

Features

  • Supports CRUD operations for using ArangoDB as a document store
  • Supports the same operations on edge documents for managing relations

Not supported (yet):

  • Proper graph queries
  • Sorting
  • Versioning
  • Projection
  • Aggregation
  • Etc.

Installation

$ pip install eve-arango

Usage

from eve import Eve
from eve_arango import ArangoDB

app = Eve(data=ArangoDB)
app.run()

The following settings are processed:

# These are necessary for item lookups to work,
# the regex is for the characters allowed in ArangoDB keys.
ID_FIELD = '_key'
ITEM_LOOKUP_FIELD = ID_FIELD
ITEM_URL = 'regex("[\w\d\-:.@()+,=;$!*\'%]+")'

# If a database with ARANGO_DB's value doesn't exist,
# it will be created when the data layer is initialized.
ARANGO_DB = 'database_name'
ARANGO_HOST = 'localhost'
ARANGO_PORT = 8529

# If the keys in DOMAIN do not exist as collection names,
# they will be created when the data layer is initialized.
# There's no need to add '_id', '_key' or '_rev' fields,
# they are added to the schema automatically.
# If you specifiy 'edge_collection': True as below,
# an edge collection will be created if it does not exist.
DOMAIN = {
    'people': {
        'schema': {
            'name': {
                'type': 'string'
            }
        }
    },
    'friends_with': {
        'edge_collection': True,
    }
    # ...
}

Contributing

Contributions are welcome. Open an issue and send a pull request.

License

MIT License.

Project details


Download files

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

Files for eve-arango, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size eve_arango-0.1.1-py3-none-any.whl (5.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size eve-arango-0.1.1.tar.gz (5.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page