Updates on PyMODM

Hello, Pythonistas! Unfortunately, we have some news that will affect some of you - MongoDB is pausing our development of PyMODM. If you’re a user of PyMODM, you’ve probably noticed long before this point that our commit/improvements here have been sporadic at best.

We came to the decision to halt our development begrudgingly. The PyMODM project has relatively low usage, and there have been less than 1k users who visited the pymodm documentation year to date, but those who do use pyMODM have advocated for its improvement. Many of our top users for PyMODM are internal - that is, they are teams at MongoDB - so we are acutely aware that ceasing our development efforts here could be painful for our users.

The codebase will remain available to fork. If your team would like a replacement ODM, many Python users use mongoengine. One of our own developers, Ross Lawley, was previously heavily involved, and we know that this is an awesome open source project for the community.
As part of this announcement, we’d like to ask if there are any users who want to take over and maintain PyMODM, or if you just have questions, please reach out. Anything we can do to make this smoother for our users, we’re happy to do.

Thank you for using MongoDB, and for building great things with us.


Thank you for PyMODM!

I hope this is the right place to ask. I’ve tried switching to mongoengine in the past and, even though the API is almost the same, mongoengine was way slower than PyMODM. Does anyone have a similar experience? Anyone switching to mongoengine or others?

We found the same thing too. We ran some tests with a lot of referenced fields and checked the load/dump times. It was surprisingly slower, and this was like a year ago.

Same here, mongoengine is much slower than PyMODM for my application (required loading large nested documents).