Requirements¶
The current version of Motor requires:
CPython 3.7 and later.
PyMongo 4.2 and later.
Motor can integrate with either Tornado or asyncio.
The default authentication mechanism for MongoDB 3.0+ is SCRAM-SHA-1.
Building the docs requires sphinx.
Compatibility Matrix¶
Motor and PyMongo¶
Motor Version |
PyMongo Version |
---|---|
1.0 |
3.3+ |
1.1 |
3.4+ |
1.2 |
3.6+ |
1.3 |
3.6+ |
2.0 |
3.7+ |
2.1 |
3.10+ |
2.2 |
3.11+ |
2.3 |
3.11+ |
2.4 |
3.11+ |
2.5 |
3.12+ |
3.0 |
4.1+ |
3.1 |
4.2+ |
Motor and MongoDB¶
MongoDB Version |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2.2 |
2.4 |
2.6 |
3.0 |
3.2 |
3.4 |
3.6 |
4.0 |
4.2 |
4.4 |
5.0 |
||
Motor Version |
1.0 |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
N |
N |
1.1 |
Y |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
N |
|
1.2 |
N |
N |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
|
1.3 |
N |
N |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
|
2.0 |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
N |
N |
|
2.1 |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
N |
N |
|
2.2 |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
|
2.3 |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
|
2.4 |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
N |
|
2.5 |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
Y |
|
3.0 |
N |
N |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
|
3.1 |
N |
N |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
There is no relationship between PyMongo and MongoDB version numbers, although the numbers happen to be close or equal in recent releases of PyMongo and MongoDB. Use the PyMongo compatibility matrix to determine what MongoDB version is supported by PyMongo. Use the compatibility matrix above to determine what MongoDB version Motor supports.
Motor and Tornado¶
Where “N” appears in this matrix, the versions of Motor and Tornado are known to be incompatible, or have not been tested together.
Tornado Version |
|||||
---|---|---|---|---|---|
3.x |
4.x |
5.x |
6.x |
||
Motor Version |
1.0 |
Y |
Y |
N |
N |
1.1 |
Y |
Y |
N |
N |
|
1.2 |
N |
Y |
N |
N |
|
1.3 |
N |
Y |
N |
N |
|
2.0 |
N |
Y |
Y |
N |
|
2.1 |
N |
Y |
Y |
Y |
|
2.2 |
N |
N |
Y |
Y |
|
2.3 |
N |
N |
Y |
Y |
|
3.0 |
N |
N |
N |
Y |
|
3.1 |
N |
N |
N |
Y |
Motor and Python¶
Motor 1.2 dropped support for the short-lived version of the “async for” protocol implemented in Python 3.5.0 and 3.5.1. Motor continues to work with “async for” loops in Python 3.5.2 and later.
Motor 1.2.5 and 1.3.1 add compatibility with Python 3.7, but at the cost of dropping Python 3.4.3 and older.
Motor 2.2 dropped support for Pythons older than 3.5.2.
Motor 2.5 deprecated support for Python 3.5.
Motor 3.0 dropped support for Pythons older than 3.7.
Motor 3.1.1 added support for Python 3.11.
Python Version |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
2.7 |
3.3 |
3.4 |
3.5.0 |
3.5.2 |
3.6 |
3.7 |
3.8 |
3.9 |
3.10 |
3.11 |
||
Motor Version |
1.0 |
Y |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
N |
1.1 |
Y |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
N |
N |
|
1.2 |
Y |
N |
Y |
N |
Y |
Y |
Y |
N |
N |
N |
N |
|
1.3 |
Y |
N |
Y |
N |
Y |
Y |
Y |
N |
N |
N |
N |
|
2.0 |
Y |
N |
Y |
N |
Y |
Y |
Y |
N |
N |
N |
N |
|
2.1 |
Y |
N |
Y |
N |
Y |
Y |
Y |
Y |
N |
N |
N |
|
2.2 |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
N |
N |
N |
|
2.3 |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
N |
N |
N |
|
2.4 |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
N |
N |
|
2.5 |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Y |
N |
|
3.0 |
N |
N |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
N |
|
3.1 |
N |
N |
N |
N |
N |
N |
Y |
Y |
Y |
Y |
Y |
Not Supported¶
Motor does not support Jython or IronPython.