Metadata-Version: 1.1
Name: oceandb-driver-interface
Version: 0.1.2
Summary: 🐳 Ocean DB driver interface(Python).
Home-page: https://github.com/oceanprotocol/oceandb-driver-interface
Author: leucothia
Author-email: devops@oceanprotocol.com
License: Apache Software License 2.0
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
        
        
        
Keywords: oceandb-driver-interface
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
