Schemaless, NoSQL, multi-model data interactions on top ArangoDB
Project description
DataPlug
A simple graph data manager, in other words: on the fly schemaless multi-model data client with timeseries wannabees.
Inspired by InfluxDB, ElasticSearch and other cool stuffs that do not cover a little thing: Graphization !
Main requirements for devs
Dataplug supports the last updates of Arango and its python driver.
- Python driver for Arango version > 4
- ArangoDB version >= 3.3 A multi-model no-sql graph database
Installation
pip install dataplug
Quick start
import dataplug
server_config = { "host":"localhost",
"port": 7144,
"username": "root",
"password":"autoGeneRatEd" }
# Creating a node, locally
A = dataplug.Node(domain="db1",
collection="collection1",
data={"name":"NODE_A", "value":3.14},
client_config=server_config)
# Saving it into database
if A.upsave():
print(A.key())
# Creating another node
B = dataplug.Node(domain="db1",
collection="collection2",
data={"name":"NODE_B", "value":1.41},
client_config=server_config)
# Saving it into database
B.upsave()
# Creating an edge between these nodes
edgeAB = dataplug.Edge("db1", A, B)
# Adding information to the edge
edgeAB.add_field("strength", "high")
# Saving it into database
edgeAB.upsave()
Update your node data
- That replaces data totally with newdata dictionnary:
node.data = newdata
- That searches of similar node in the database and updates/adds data:
node.sync()
- To append/update data with newdata use:
node.data.update(newdata)
Testing
pytest -v tests
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file dataplug-3.0.0a0-py2.py3-none-any.whl
.
File metadata
- Download URL: dataplug-3.0.0a0-py2.py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3f6ab84cc04e58bcb72415a7a43b404e5bb94d8379175ee3d06ac05ee485d2d |
|
MD5 | 8f6d32fd7debf7c8f7a9b121bc39bebd |
|
BLAKE2b-256 | 16a8ff57e1ab40d9ece0328e629b870b361d9e01604ee2156cd867282bfab7f4 |