Neontology est une bibliothèque Python open source, publiée par Ontolocy sous licence MIT. Elle permet de décrire des nœuds et des relations sous forme de classes Pydantic, puis de les enregistrer et de les relire dans une base de données en graphe comme Neo4j ou Memgraph. Ce n'est pas ma bibliothèque : j'y contribue parce que je l'utilise sur des projets de graphes de connaissances.
Le projet en détail
Quand une fonctionnalité m'a manqué, je l'ai écrite pour le projet plutôt que de la contourner dans mon propre code. En août 2025, j'ai proposé la recherche par propriétés dans match_nodes : le filtre est traduit en requête exécutée par la base, au lieu de rapatrier tous les nœuds pour les trier ensuite en Python. La pull request couvrait le moteur, son adaptation aux couches supérieures, plus de 400 lignes de tests et la documentation. Elle a été fusionnée, puis étendue à get_count dans une seconde contribution, fusionnée quelques jours plus tard.
Plus tôt, en février 2025, j'avais modernisé le typage de quinze fichiers selon la PEP 585, qui remplace les génériques du module typing par ceux des collections standard. Ces trois contributions sont publiées sur PyPI dans les versions 2.2 de Neontology, et le journal des modifications officiel remercie mon compte pour le filtrage.
Contribuer en amont a un intérêt direct pour mes clients : le code qui tourne chez eux repose sur une version publique, maintenue et relue par d'autres, et non sur un correctif local que personne ne suit. Dans le même esprit, j'ai publié sur GitLab une petite bibliothèque de pagination pour FastAPI, fastapi-object-pagination, qui renvoie le même format de page pour une base SQL ou une base en graphe.