An object mapper for the neo4j graph database.
Project description
An Object Graph Mapper (OGM) for the neo4j graph database, built on the awesome neo4j_driver
Familiar Django model style definitions.
Powerful query API.
Enforce your schema through cardinality restrictions.
Full transaction support.
Thread safe.
pre/post save/delete hooks.
Django integration via django_neomodel
Documentation
Available on readthedocs.
Requirements
Python 2.7, 3.4+
neo4j 3.0, 3.1, 3.2, 3.3
Installation
Install from pypi (recommended):
$ pip install neomodel
To install from github:
$ pip install git+git://github.com/neo4j-contrib/neomodel.git@HEAD#egg=neomodel-dev
Upgrading 2.x to 3.x
Now utilises neo4j_driver as the backend which uses bolt so neo4j 3 is required
Connection now set through config.DATABASE_URL (see getting started docs)
The deprecated category() method on StructuredNode has been removed
The deprecated index property on StructuredNode has been removed
The streaming=True flag is now irrelevant with bolt and produces a deprecation warning
Batch operations must now be wrapped in a transaction in order to be atomic
Indexing NodeSets returns a single node now as opposed to a list
Contributing
Ideas, bugs, tests and pull requests always welcome.
Running the test suite
Make sure you have a Neo4j database version 3 or higher to run the tests on. (it will wipe this database for each test run):
$ export NEO4J_BOLT_URL=bolt://neo4j:neo4j@localhost:7687 # (the default)
Setup a virtual environment, install neomodel for development and run the test suite:
$ virtualenv venv $ source venv/bin/activate $ python setup.py develop $ pytest
If your running a neo4j database for the first time the test suite will set the password to ‘test’.
If you have docker-compose installed, you can run the test suite against all supported Python interpreters and neo4j versions:
# in the project's root folder: $ ./tests-with-docker-compose.sh
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 Distributions
Hashes for neomodel-3.2.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a69a83ea1d18788733e62519ea5769827a11d61f6d6566de7c922595d536bc2 |
|
MD5 | 15cbbaf4f3f8b3d7235c492b6a00dbe5 |
|
BLAKE2b-256 | 410659dbab84ade88fab51e19359685e7147b45ff6028b1f2802929d9cc6deae |