cisagov / cyhy-core

Core code for Cyber Hygiene (CyHy)
Other
7 stars 9 forks source link

[Research] Find Python 3 Compatible Replacement for MongoKit #52

Closed mcdonnnj closed 3 years ago

mcdonnnj commented 3 years ago

This project currently relies on the MongoKit package to provide ODM functionality. That project was never made Python 3 compatible, nor was it updated for later versions of PyMongo. As it is now archived, that is likely to never happen. A suitable replacement needs to be picked to replace it, and the code in this repository updated, so that Python 3 migration can progress.

A compare and contrast needs to be done between options like MongoKat and the projects listed in the MongoDB tools page. It would be ideal if it operated in a fashion similar to MongoKit while still retaining similar features to ease the transition.

mcdonnnj commented 3 years ago

Rough Comparisons

MongoKit (what we use now)

PyMODM

uMongo

MongoEngine

mcdonnnj commented 3 years ago

After discussion, the similarities of PyMODM and MongoEngine left the main argument down to support. The pause of PyMODM maintenance per this forum post was a major reason to side with MongoEngine.

mcdonnnj commented 3 years ago

We moved on to discussing whether the transition to Python 3 should happen simultaneously with the transition to MongoEngine. We decided to switch to MongoEngine first, and then work on the transition to Python 3 after for the following reasons:

mcdonnnj commented 3 years ago

Tracking migration to the chosen ODM will take place in #54.