Skip to content
Business Agile
Work
Open source · Python library for graph databases · Aug 2025

Neontology

Merged contributions to a Python OGM for Neo4j and Memgraph.

Key figures

merged pull requests3
files retyped following PEP 58515
PyPI version shipping these contributions2.2

Neontology is an open source Python library published by Ontolocy under the MIT licence. It lets you describe nodes and relationships as Pydantic classes, then write them to and read them from a graph database such as Neo4j or Memgraph. It is not my library: I contribute to it because I use it on knowledge graph projects.

The project in detail

When a feature was missing, I wrote it upstream instead of working around it in my own code. In August 2025 I contributed property filtering in match_nodes: the filter is translated into a query run by the database, instead of fetching every node and sorting them in Python afterwards. The pull request covered the engine, its adaptation to the upper layers, more than 400 lines of tests and the documentation. It was merged, then extended to get_count in a second contribution merged a few days later.

Earlier, in February 2025, I modernised type hints across fifteen files following PEP 585, which replaces the generics of the typing module with those of the standard collections. These three contributions ship on PyPI in Neontology 2.2, and the official changelog credits my account for the filtering work.

Contributing upstream directly benefits my clients: the code running for them relies on a public version, maintained and reviewed by others, not on a local patch nobody follows. In the same spirit I published on GitLab a small pagination library for FastAPI, fastapi-object-pagination, which returns the same page format for an SQL database or a graph database.

What was done

  1. 01

    Property filtering in match_nodes, run by the database (pull request #61)

  2. 02

    Filtering extended to get_count (pull request #62)

  3. 03

    Type hints modernised following PEP 585 across fifteen files (pull request #45)

  4. 04

    More than 400 lines of tests and documentation shipped with the feature

  5. 05

    Contribution credited in the official changelog

Frequently asked questions

What is Neontology?

An open source Python library, published by Ontolocy under the MIT licence, that lets you describe nodes and relationships as Pydantic classes and store them in Neo4j or Memgraph.

What did Business Agile contribute to Neontology?

Property filtering in match_nodes and get_count (pull requests #61 and #62, merged in August 2025) and type hints modernised following PEP 585 (pull request #45, merged in February 2025).

Why contribute to a library instead of working around it?

Because a fix merged upstream is maintained and reviewed by the community. The code delivered to the client then relies on a public version, not on a local change that would have to be carried over at every update.

Other work

A project? Let's talk this week.

A short brief, an answer within 48 hours, a firm estimate after scoping.

Describe my project