joowani / Python Arango
Licence: mit
Python Driver for ArangoDB
Stars: ✭ 349
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Python Arango
arangodb
ArangoDB Starter - starts ArangoDB clusters & single servers with ease.
Stars: ✭ 77 (-77.94%)
Mutual labels: arangodb
aql-intellij-plugin
Intellij plugin for AQL, ArangoDB language support
Stars: ✭ 27 (-92.26%)
Mutual labels: arangodb
kafka-connect-arangodb
🥑 Kafka connect sink connector for ArangoDB
Stars: ✭ 22 (-93.7%)
Mutual labels: arangodb
ArangoPy
Python driver Framework to access https://github.com/triAGENS/ArangoDB
Stars: ✭ 34 (-90.26%)
Mutual labels: arangodb
Recallgraph
A versioning data store for time-variant graph data.
Stars: ✭ 277 (-20.63%)
Mutual labels: arangodb
interactive tutorials
Repository for all ArangoDB interactive tutorial notebooks.
Stars: ✭ 38 (-89.11%)
Mutual labels: arangodb
graphql-arangodb
A query translation layer from GraphQL to ArangoDB's AQL query language. Reduce the number of DB queries per GraphQL operation.
Stars: ✭ 26 (-92.55%)
Mutual labels: arangodb
foxx-builder
ArangoDB Foxx Services in a super intuitive way
Stars: ✭ 22 (-93.7%)
Mutual labels: arangodb
type-arango
🥑 TypeArango manages ArangoDB collections, documents, relations and routes by taking advantage of TypeScript typings.
Stars: ✭ 55 (-84.24%)
Mutual labels: arangodb
arangodb-java-driver-async
ArangoDB Asynchronous Java driver
Stars: ✭ 45 (-87.11%)
Mutual labels: arangodb
Velocypack
A fast and compact format for serialization and storage
Stars: ✭ 347 (-0.57%)
Mutual labels: arangodb
Python-Arango
Python driver for ArangoDB, a scalable multi-model database natively supporting documents, graphs and search.
Requirements
- ArangoDB version 3.7+
- Python version 3.6+
Installation
pip install python-arango
Getting Started
Here is a simple usage example:
from arango import ArangoClient
# Initialize the client for ArangoDB.
client = ArangoClient(hosts="http://localhost:8529")
# Connect to "_system" database as root user.
sys_db = client.db("_system", username="root", password="passwd")
# Create a new database named "test".
sys_db.create_database("test")
# Connect to "test" database as root user.
db = client.db("test", username="root", password="passwd")
# Create a new collection named "students".
students = db.create_collection("students")
# Add a hash index to the collection.
students.add_hash_index(fields=["name"], unique=True)
# Insert new documents into the collection.
students.insert({"name": "jane", "age": 39})
students.insert({"name": "josh", "age": 18})
students.insert({"name": "judy", "age": 21})
# Execute an AQL query and iterate through the result cursor.
cursor = db.aql.execute("FOR doc IN students RETURN doc")
student_names = [document["name"] for document in cursor]
Another example with graphs:
from arango import ArangoClient
# Initialize the client for ArangoDB.
client = ArangoClient(hosts="http://localhost:8529")
# Connect to "test" database as root user.
db = client.db("test", username="root", password="passwd")
# Create a new graph named "school".
graph = db.create_graph("school")
# Create vertex collections for the graph.
students = graph.create_vertex_collection("students")
lectures = graph.create_vertex_collection("lectures")
# Create an edge definition (relation) for the graph.
edges = graph.create_edge_definition(
edge_collection="register",
from_vertex_collections=["students"],
to_vertex_collections=["lectures"]
)
# Insert vertex documents into "students" (from) vertex collection.
students.insert({"_key": "01", "full_name": "Anna Smith"})
students.insert({"_key": "02", "full_name": "Jake Clark"})
students.insert({"_key": "03", "full_name": "Lisa Jones"})
# Insert vertex documents into "lectures" (to) vertex collection.
lectures.insert({"_key": "MAT101", "title": "Calculus"})
lectures.insert({"_key": "STA101", "title": "Statistics"})
lectures.insert({"_key": "CSC101", "title": "Algorithms"})
# Insert edge documents into "register" edge collection.
edges.insert({"_from": "students/01", "_to": "lectures/MAT101"})
edges.insert({"_from": "students/01", "_to": "lectures/STA101"})
edges.insert({"_from": "students/01", "_to": "lectures/CSC101"})
edges.insert({"_from": "students/02", "_to": "lectures/MAT101"})
edges.insert({"_from": "students/02", "_to": "lectures/STA101"})
edges.insert({"_from": "students/03", "_to": "lectures/CSC101"})
# Traverse the graph in outbound direction, breadth-first.
result = graph.traverse(
start_vertex="students/01",
direction="outbound",
strategy="breadthfirst"
)
Please see the documentation for more details.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].