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.3+
neo4j 3.0+
Installation
Install from pypi (recommended):
$ pip install neomodel
To install from github:
$ pip install git+git://github.com/robinedwards/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 fresh virtualenv and nose installed:
$ pip install nose
Also 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 $ nosetests -s
If your running a neo4j database for the first time the test suite will set the password to ‘test’.
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.