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.