🐳 Ocean DB driver interface(Python).
Project description
|banner|
.. raw:: html
<h1 align="center">
oceandb-driver-interface
.. raw:: html
</h1>
..
🐳 Ocean DB driver interface(Python).
.. |banner| image:: docs/imgs/repo-banner@2x.png
:target: https://oceanprotocol.com
.. image:: https://img.shields.io/pypi/v/oceandb-driver-interface.svg
:target: https://pypi.python.org/pypi/oceandb-driver-interface
.. image:: https://travis-ci.com/oceanprotocol/oceandb-driver-interface.svg?token=pA8zcB6SCxKW5MHpqs6L&branch=master
:target: https://travis-ci.com/oceanprotocol/oceandb-driver-interface
High-level, plugin-bound Ocean DB functions. You should implement a plugin class extending this module to connect with Ocean DB.
* Free software: Apache Software License 2.0
* Documentation: https://oceandb-plugin-system.readthedocs.io.
How to use it
-------------
Abstract interface for all persistence layer plugins.
Expects the following to be defined by the subclass:
* type - A string denoting the type of plugin (e.g. BigchainDB).
* write - Write an object in OceanDB
* read - Read the registry for a provided id
* update - Update an object in OceanDB
* delete - Delete the registry for a provided id
* list - List the elements saved in OceanDB
Once you have your plugin, the way to use it is the following:
You have to provide a configuration with the following information:
.. code-block:: python
[oceandb]
enabled=true # In order to enable or not the plugin
module=bigchaindb # You can use one the plugins already created. Currently we have mongodb and bigchaindb.
module.path= # You can specify the location of your custom plugin.
db.hostname=localhost # Address of your persistence.
db.port=9985 # Port of yout persistence database.
# If you choose bigchaindb you have to provide this:
secret= # A secret that serves as a seed.
db.namespace=namespace # Namespace that you are going to use in bigchaindb
db.app_id= # App id of your bigchaindb application.
db.app_key= # App key of your bigchaindb application.
# If you choose mongodb you have to provide this:
db.username=travis # If you are using authentication, mongodb username.
db.password=test # If you are using authentication, mongodb password.
db.name=test # Mongodb database name
db.collection=col # Mongodb collection name
..
Plugins availables
------------------
At the moment we have developed two plugins:
* Bigchaindb (https://github.com/oceanprotocol/oceandb-bigchaindb-driver)
* Mongodb (https://github.com/oceanprotocol/oceandb-mongodb-driver)
How to develop a plugin
-----------------------
To create a plugin you have to create a class called Plugin extending AbstractPlugin.
You could find an example in https://github.com/oceanprotocol/oceandb-bigchaindb-driver
.. raw:: html
<h1 align="center">
oceandb-driver-interface
.. raw:: html
</h1>
..
🐳 Ocean DB driver interface(Python).
.. |banner| image:: docs/imgs/repo-banner@2x.png
:target: https://oceanprotocol.com
.. image:: https://img.shields.io/pypi/v/oceandb-driver-interface.svg
:target: https://pypi.python.org/pypi/oceandb-driver-interface
.. image:: https://travis-ci.com/oceanprotocol/oceandb-driver-interface.svg?token=pA8zcB6SCxKW5MHpqs6L&branch=master
:target: https://travis-ci.com/oceanprotocol/oceandb-driver-interface
High-level, plugin-bound Ocean DB functions. You should implement a plugin class extending this module to connect with Ocean DB.
* Free software: Apache Software License 2.0
* Documentation: https://oceandb-plugin-system.readthedocs.io.
How to use it
-------------
Abstract interface for all persistence layer plugins.
Expects the following to be defined by the subclass:
* type - A string denoting the type of plugin (e.g. BigchainDB).
* write - Write an object in OceanDB
* read - Read the registry for a provided id
* update - Update an object in OceanDB
* delete - Delete the registry for a provided id
* list - List the elements saved in OceanDB
Once you have your plugin, the way to use it is the following:
You have to provide a configuration with the following information:
.. code-block:: python
[oceandb]
enabled=true # In order to enable or not the plugin
module=bigchaindb # You can use one the plugins already created. Currently we have mongodb and bigchaindb.
module.path= # You can specify the location of your custom plugin.
db.hostname=localhost # Address of your persistence.
db.port=9985 # Port of yout persistence database.
# If you choose bigchaindb you have to provide this:
secret= # A secret that serves as a seed.
db.namespace=namespace # Namespace that you are going to use in bigchaindb
db.app_id= # App id of your bigchaindb application.
db.app_key= # App key of your bigchaindb application.
# If you choose mongodb you have to provide this:
db.username=travis # If you are using authentication, mongodb username.
db.password=test # If you are using authentication, mongodb password.
db.name=test # Mongodb database name
db.collection=col # Mongodb collection name
..
Plugins availables
------------------
At the moment we have developed two plugins:
* Bigchaindb (https://github.com/oceanprotocol/oceandb-bigchaindb-driver)
* Mongodb (https://github.com/oceanprotocol/oceandb-mongodb-driver)
How to develop a plugin
-----------------------
To create a plugin you have to create a class called Plugin extending AbstractPlugin.
You could find an example in https://github.com/oceanprotocol/oceandb-bigchaindb-driver
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for oceandb-driver-interface-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47eb0e8eb77bd9aa405bac19af7b18c6f38b0e52404839767995e6957df708de |
|
MD5 | 5f5fa8ec24e68537cd8e763cbd08f151 |
|
BLAKE2b-256 | b92a99614b058628134708a26ba03fd1098db924f880cfba0342f54eadd8ff2f |
Close
Hashes for oceandb_driver_interface-0.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ede58ecfc47fabe311bdce31af73e55bdfb407ed3e5e5a1cc638e3c30cb66ae |
|
MD5 | de299a126a52ad619275a889251524c9 |
|
BLAKE2b-256 | d4a23413caa58154caef1459ea21af09799d02e43b820ac29cd3d8c5257a221d |