[build-system] requires = ["hatchling>1.24","setuptools>=65.0","hatch-requirements-txt>=0.4.1"] build-backend = "hatchling.build" [project] name = "pymongo" dynamic = ["version", "dependencies", "optional-dependencies"] description = "PyMongo - the Official MongoDB Python driver" readme = "README.md" license = "Apache-2.0" license-files = ["LICENSE"] requires-python = ">=3.9" authors = [ { name = "The MongoDB Python Team" }, ] keywords = [ "bson", "gridfs", "mongo", "mongodb", "pymongo", ] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Database", "Typing :: Typed", ] [project.urls] Homepage = "https://www.mongodb.org" Documentation = "https://www.mongodb.com/docs/languages/python/pymongo-driver/current/" Source = "https://github.com/mongodb/mongo-python-driver" Tracker = "https://jira.mongodb.org/projects/PYTHON/issues" [dependency-groups] dev = [] pip = ["pip>=20.2"] gevent = ["gevent>=21.12"] coverage = [ "pytest-cov>=4.0.0", "coverage[toml]>=5,<=7.10.6" ] mockupdb = [ "mockupdb@git+https://github.com/mongodb-labs/mongo-mockup-db@master" ] perf = ["simplejson>=3.17.0"] typing = [ "mypy==1.19.1", "pyright==1.1.407", "typing_extensions>=3.7.4.2", "pip>=20.2" ] # Used to call hatch_build.py [tool.hatch.build.hooks.custom] [tool.hatch.version] path = "pymongo/_version.py" validate-bump = false [tool.hatch.build.targets.wheel] packages = ["bson","gridfs", "pymongo"] [tool.hatch.metadata.hooks.requirements_txt] files = ["requirements.txt"] [tool.hatch.metadata.hooks.requirements_txt.optional-dependencies] aws = ["requirements/aws.txt"] docs = ["requirements/docs.txt"] encryption = ["requirements/encryption.txt"] gssapi = ["requirements/gssapi.txt"] ocsp = ["requirements/ocsp.txt"] snappy = ["requirements/snappy.txt"] test = ["requirements/test.txt"] zstd = ["requirements/zstd.txt"] [tool.pytest.ini_options] minversion = "7" addopts = ["-ra", "--strict-config", "--strict-markers", "--junitxml=xunit-results/TEST-results.xml", "-m default or default_async"] testpaths = ["test"] log_cli_level = "INFO" faulthandler_timeout = 1500 asyncio_default_fixture_loop_scope = "session" xfail_strict = true filterwarnings = [ "error", # Internal warnings raised during tests. "module:use an explicit session with no_cursor_timeout=True:UserWarning", "module:serverselectiontimeoutms must be:UserWarning", "module:Unsupported compressor:UserWarning", "module:zlibcompressionlevel must be:UserWarning", "module:Wire protocol compression with:UserWarning", "module:GridIn property:DeprecationWarning", "module:GridOut property:DeprecationWarning", # pytest-asyncio known issue: https://github.com/pytest-dev/pytest-asyncio/issues/1032 "module:.*WindowsSelectorEventLoopPolicy:DeprecationWarning", "module:.*et_event_loop_policy:DeprecationWarning", # TODO: Remove as part of PYTHON-3923. "module:unclosed