Skip to main content

arangodb-pythongraph

Run an AQL and get a Python network object in return

Installation

pip install arangodb-pythongraph

Duh.

Graph frameworks

This package is based on pyintergraph and thus supports extraction to NetworkX, python-IGraph and Graph-Tools graph objects. However, these libraries are not defined as requirements for this package and if you want to extract to each of them you are required to install the necessary package accordingly.

Usage

All queries must return path objects.

Simple extraction

from arangodb_pythongraph import execute_to_pygraph

db = ... # ArangoDB connection (use python-arango package)
example_query = '''
  FOR v0 in vertex_collection
    FOR e, v, p IN OUTBOUND v0 edge_collection
      RETURN p
'''
python_graph = execute_to_pygraph(db, query)
nx_graph = python_graph.to_networkx()
gt_graph = python_graph.to_graph_tool()
ig_graph = python_graph.to_igraph()

Exporting the graph

If you want to export the graph (for example to use it with Gephi), you might run into trouble if you have nested or complex attributes in your graph. To overcome this, use the cleanup argument:

python_graph = execute_to_pygraph(db, query, cleanup=True)

The functionality might be missing some use cases so if you encounter problems while exporting the graph to file, please open an Issue describing the error you're getting together with a portion of the data you're trying to export.

Attaching functionality to the AQL object

For a neater use, run arangodb_pythongraph.register()

Before:

python_graph = execute_to_pythongraph(db, query)

After:

python_graph = db.aql.execute_to_pythongraph(query)

Development

Contributions are more than welcome :)

Note that the project is managed with poetry, so make sure you use poetry to update the pypoject file.

Running tests

To run the tests you must have a running instance of ArangoDB. If you don't have a connection to an existing DB you can use docker to run it easily.

Once you have a running ArangoDB connection, create a DB named 'test' (or any other name you choose), and run tests with pytest

ARANGODB_PASS=<pass_goes_here> ARANGODB_NAME=test poetry run pytest

Release files for arangodb-pythongraph 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arangodb-pythongraph 0.1.4
File Size Uploaded
arangodb-pythongraph-0.1.4.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arangodb-pythongraph 0.1.4
File Interpreter ABI Platform
arangodb_pythongraph-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 9.2 kB

Release files / arangodb-pythongraph-0.1.4.tar.gz

Download URL arangodb-pythongraph-0.1.4.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ee69464b58c6358a1579186ef15d3c0db941b0182ad3414324e6860c4c0489fc
BLAKE2b-256 checksum
How to use checksums
a24b5d278c6366c4b7e3e7c7449578a44ceb20ad5c51db2a459469e7b3485d4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.3 CPython/3.8.1 Darwin/18.7.0

Release files / arangodb_pythongraph-0.1.4-py3-none-any.whl

Download URL arangodb_pythongraph-0.1.4-py3-none-any.whl
Size 4.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f20d83243510474cd84f38b806b64294cd3820937c3082148d08d5159f8e4a1d
BLAKE2b-256 checksum
How to use checksums
43fbc886beec4e8b27b46932e21a804728c22ca8710e4b2eea2e2fa3d6c11a7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.3 CPython/3.8.1 Darwin/18.7.0

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page