Nodestream
A Declarative framework for Building, Maintaining, and Analyzing Graph Data 🚀
Nodestream allows you to work with graphs declaratively. With nodestream, you unlock a bounty of features purpose built for working with graphs. Semantically model your graph and map labels and properties directly to your data. Better yet, you are not locked into your choices. Nodestream works with you as you evolve your application by providing migration utilities to change your data schema. Nodestream even decouples you from the underyling database technology so you can even change databases.
Highlights
- Connect to data sources like Kafka, files, apis, and more!
- Evolve your application over time with database migrations (Docs)
- Use your favorite Graph Database to fit any tech stack (Docs)
- Clean up your own data with TTLs (Docs)
- Infinite Customizability Since Nearly Everything is Pluggable!
Website • Blog • Discussions • Contributing • Contributing Developer Guides • Talks from Maintainers
Features
Nodestream has a pleasant CLI interface to get new projects up and running fast.
Not a fan of the defaults? You can change out databases very easily
Then you can start to model your data and nodestream will evolve your database for you. No more messing with constraints or writing database queries.
Getting Started
Conviced? Install nodestream with pip to get started.
pip install nodestream
nodestream new --database neo4j my_project && cd my_project
nodestream run sample -v
We highly recommend following our tutorials here
Packages
Nodestream is built on a Highly Pluggable and Modular Architecture. Thus... we have a lot of packages to keep track of.
| Package | Description | Version |
|---|---|---|
nodestream |
The core library. Declarative ingestion. | |
nodestream-plugin-neo4j |
Neo4j database connector. | |
nodestream-plugin-neptune |
AWS Neptune database connector. | |
nodestream-plugin-dotenv |
Adds DotEnv integration. | |
nodestream-plugin-pedantic |
A series of lints to enforce reasonable naming standards, etc. | |
nodestream-plugin-shell |
An integration with nodestream to run shell commands. | |
nodestream-plugin-sbom |
Import SBOM files in CycloneDX and SPDX into an opinionated graph data model. | |
nodestream-plugin-akamai |
Parse Akamai properties, redirect configs, and much more and ingests them. | |
nodestream-plugin-k8s |
In incubation. A plugin that orchestrates Nodestream on k8s. |
Contributors
Nodestream is a community project. We welcome all contributions. Be sure to checkout or Contributing Docs and our Code of Conduct before contributing.
Contributing
Need a quick reference guide on how to contribute? Here you go!
Getting Setup
To get started you'll need to install poery.
curl -sSL https://install.python-poetry.org | python3 -
You then can install the project dependencies with the following command:
poetry install
No need to active a virtual environment. Poetry handles that for you with poetry run and poetry shell.
Running Tests
To run tests for the entire project, run the following command:
poetry run pytest
Metadata
Release files for nodestream 0.16.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nodestream-0.16.2.tar.gz | 127.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nodestream-0.16.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 316.8 kB
Release files / nodestream-0.16.2.tar.gz
| Download URL | nodestream-0.16.2.tar.gz |
|---|---|
| Size | 127.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d753e9f15642e577e2f39ec91df2b7b9a2b4615731123a322fa469a23b88b7a1
|
|
BLAKE2b-256 checksum How to use checksums |
60ad87fb5d9fbf1792b0017129a12a58f61c437613c530b7def43102233c7c1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / nodestream-0.16.2-py3-none-any.whl
| Download URL | nodestream-0.16.2-py3-none-any.whl |
|---|---|
| Size | 189.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
328039f7d1f23da07dad797645a12be58fade68d3d71d17ec92af6cda27cff55
|
|
BLAKE2b-256 checksum How to use checksums |
0fef9a7174031d17e2f66f52f27b3ef0d555ebeb994be752dc986ec5a85e7ec2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log