Neomodel: Python OGM for Neo4j Extends Version Support and Moves to Neo4j Labs

We’re excited to announce that neomodel, the Python OGM (Object-Graph Mapping) library, has officially moved to the Neo4j Labs program and now supports Neo4j version 5.

This development brings a host of advantages and opportunities for both the neomodel community and Neo4j users alike. In this post, we’ll cover what value this brings to the library and implies for its future.

A Community-Focused Library

Neo4j Labs is a means for exploring new technologies with Neo4j with open-source projects. It focuses on projects that see interest and adoption and manages expectations and a minimum level of quality. Many important product developments had their origins in Neo4j Labs like graph data science, the GraphQL library, the Kafka and Spark integrations, and APOC core.

Neo4j Labs – Neo4j Labs

Like the other Neo4j Labs projects, neomodel remains an open-source, and completely community-driven library.

Joining the Neo4j Labs program implies the following:

  • Clear expectations: Labs projects are experimental and not officially product-supported, although some of them (like NeoDash, neosemantics, and neomodel) have available Neo4j Services packages for development and support.
  • Quality standards: To be part of Labs, you need to adhere to certain minimal quality standards, which ensures enhanced code quality (unit and integration testing), security checks, automated tooling (CI/CD), etc…
  • Releases and responsiveness: Labs projects must have regular releases, e.g., to support newer Neo4j versions and respond timely to issues and user questions. Neo4j involvement: At least one maintainer must be Neo4j employee.
  • Collaboration and evolution: It provides the library with closer interactions with the Neo4j product and field teams. For example, it can benefit from learnings gained in the official OGMs for Java/Spring and GraphQL. Learnings from Labs projects will be integrated into future product development.
  • Real-world usage and interest: In the case of neomodel, this also happened because neomodel is being used in production by Neo4j Services customers with special requirements — see author disclaimer at the end of this article for an example.

You can find all the Neo4j Labs projects and the Neomodel pages on the website.

neomodel – Python OGM for Neo4j – Neo4j Labs

Now Fully Supporting All Current Versions of Python and Neo4j

Since neomodel got back into active maintenance mode in early 2023, the main focus has been to improve tooling (above all integration tests) to ensure robustness, confidence, and version support. The maintainence team is now pleased to announce that neomodel fully supports all supported versions of Python and Neo4j — both Community and Enterprise — as seen in the Integration tests matrix in GitHub Actions.

Future Evolutions

Stay updated on neomodel’s future evolutions, and please join the discussions on its GitHub repository :

  • The Issues log is being monitored again — to the extent that time allows, and we are trying to summarize and clean up the old issues.
  • The Discussions page is open to anyone and will contain announcements.

What Is Neomodel and How Does It Work?

We intend to release new, updated content around the library. But until we can work this out, please see the following content written for previous versions of the library — the sample projects mentioned in these articles have been kept up to date :

For more insights and discussions, join the neomodel community on GitHub and stay tuned to the latest developments.

Looking forward to your feedback, Marius

Disclaimer: About the Author and their Role — and how neomodel benefits from field experience.

The author of this article is a member of Neo4j’s Professional Services team, dedicated to assisting customers in successfully deploying Neo4j projects into production environments. A good example of an impactful, production-type project using neomodel is OpenStudyBuilder, driven by Novo Nordisk. OpenStudyBuilder showcases the practical application of neomodel within real-world projects and also provides specific requirements, which in turn become new features for the community thanks to Neo4j’s Services team merging it back into the library. It is also a great example of an Enterprise organization leveraging and donating back to open source, but that would deserve a whole article.

Neomodel: Python OGM for Neo4j extends version support and moves to Neo4j Labs was originally published in Neo4j Developer Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.