Aller au contenu
Business Agile
← Réalisations
Open source · Bibliothèque Python pour bases de données en graphe · août 2025

Neontology

Contributions fusionnées dans un OGM Python pour Neo4j et Memgraph.

En chiffres

pull requests fusionnées3
fichiers retypés selon la PEP 58515
version PyPI qui publie ces contributions2.2

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.

Ce qui a été fait

  1. 01

    Recherche par propriétés dans match_nodes, exécutée côté base (pull request #61)

  2. 02

    Filtrage étendu à get_count (pull request #62)

  3. 03

    Typage modernisé selon la PEP 585 sur quinze fichiers (pull request #45)

  4. 04

    Plus de 400 lignes de tests et la documentation fournies avec la fonctionnalité

  5. 05

    Contribution citée dans le journal des modifications officiel

Questions fréquentes

Qu'est-ce que Neontology ?

Une bibliothèque Python open source, éditée par Ontolocy sous licence MIT, qui permet de décrire des nœuds et des relations en classes Pydantic et de les enregistrer dans Neo4j ou Memgraph.

Qu'a apporté Business Agile à Neontology ?

La recherche par propriétés dans match_nodes et get_count (pull requests #61 et #62, fusionnées en août 2025) et la modernisation du typage selon la PEP 585 (pull request #45, fusionnée en février 2025).

Pourquoi contribuer à une bibliothèque plutôt que la contourner ?

Parce qu'un correctif fusionné en amont est maintenu et relu par la communauté. Le code livré au client repose alors sur une version publique, et non sur une modification locale qu'il faudrait porter à chaque mise à jour.

Autres réalisations

FabArto
fabarto.eu
Web
Ti Kosmeo
tikosmeo.fr
Web
Antiquité Mallarmé
antiquitemallarme.fr
Web
Maison Ozaé
maisonozae.eu
Web
ScienceProtect
scienceprotect.com
IA
Pousses & Plantes
Place de marché de plantes
E-commerce
Arbre Agile
Conseil et développement en intelligence artificielle
Web
Groupe BERREBI
Holding et site institutionnel
Web
SNCF
Transport ferroviaire, grand compte
API
Pitchichi
guide.pitchichi.com
App
SNCF DGEX Solutions
Ingénierie ferroviaire, application interne
API
Appétit
Librairie indépendante, livres de cuisine et photographie
Web
Good Day
Média, application mobile grand public
App
Fondation Nestlé France
Fondation d'entreprise, alimentation
Web
DMD Prices
Art, impression sur toile, devis en ligne
Web
IoTBox
Objets connectés, solutions industrielles
Web
PrevenFit
Services aux salles de sport, espace abonné
App
Securicate
Équipement de sécurité, boutique en ligne
E-commerce
WeChamp
Sport, événementiel d'entreprise
Web
Jaco
Veille média, logiciel en abonnement
App
AWA
Éducation et audiovisuel, projet à portée internationale
Web
Quizz Paris
Prévention des risques, sensibilisation du public
App
La Gestion en Ligne
Gestion locative, service en ligne
Web
Quotidien Libre
Presse en ligne, quotidien d'information
Web
Ophtalmologie Percy
Santé, hôpital militaire
Web
Flashing Records
Musique, label et programmation d'événements
Web
Apérothérapie
Vins et épicerie fine, vente en ligne
E-commerce
Arnaud CANIZARES
Art contemporain, portfolio d'artiste
Web
TapToSupport
Collecte de dons pour associations
API
24hprojects
Plateforme de livraison de MVP
App
Eco-Actives
Transition écologique et ateliers DIY
E-commerce

Un projet ? Parlons-en cette semaine.

Un brief court, une réponse sous 48 h, une estimation ferme après cadrage.

Décrire mon projet