0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-11-21 20:49:10 +01:00
mongodb/pyproject.toml
Juan Gu d9553e0524 SERVER-93192 Upgrade Dependencies (#25974)
GitOrigin-RevId: 62898a3d12c5f5fe9e3c8e78d216b5fa1cd2cd51
2024-08-12 16:01:04 +00:00

221 lines
6.3 KiB
TOML

[tool.poetry]
name = "mdb-python-deps"
version = "1.0.0"
description = "MongoDB python dependencies"
authors = ["MongoDB"]
readme = "README.md"
# These packages are included as a TODO if we want to run resmoke with pex
# Currently this does nothing
packages = [
{ include = "buildscripts/resmoke.py" },
{ include = "buildscripts/mongosymb.py" },
{ include = "buildscripts/build_system_options.py" },
{ include = "buildscripts/resmokelib" },
{ include = "buildscripts/idl" },
{ include = "buildscripts/util" },
]
[tool.poetry.dependencies]
python = ">=3.10,<4.0"
# OPTIONAL
# Libdeps depdencies
networkx = "*" # This is also used as a part of build_metrics so it is sort of required
flask = { version = "*", optional = true }
flask-cors = { version = "*", optional = true }
lxml = { version = "*", optional = true }
eventlet = { version = "*", optional = true }
gevent = { version = "*", optional = true }
progressbar2 = { version = "*", optional = true }
cxxfilt = { version = "*", optional = true }
pympler = { version = "*", optional = true }
[tool.poetry.group.aws.dependencies]
boto3 = "^1.34.156"
botocore = "^1.34.156"
[tool.poetry.group.build-metrics.dependencies]
jsonschema = "^4.23.0"
psutil = "^6.0.0"
memory-profiler = "^0.61.0"
puremagic = "^1.26"
tabulate = "^0.9.0"
[tool.poetry.group.compile.dependencies]
cheetah3 = "<=3.2.6.post1" # src/mongo/base/generate_error_codes.py
packaging = "^23.1"
regex = "^2021.11.10"
setuptools = "^58.1.0"
wheel = "0.37.0"
[tool.poetry.group.core.dependencies]
psutil = "^6.0.0"
pymongo = "^4.8.0"
PyYAML = "5.3.1"
types-PyYAML = "^6.0.12.20240808"
requests = "^2.32.3"
typing-extensions = "^4.12.2"
typer = "^0.12.3"
tenacity = "^9.0.0"
[tool.poetry.group.export.dependencies]
pipx = "1.6.0"
# TODO: Add in pex as we move forward with this
# pex = "^2.1.137"
poetry = "1.8.3"
[tool.poetry.group.evergreen.dependencies]
click = "^8.1.7"
inject = "^5.2.1"
GitPython = "^3.1.43"
pydantic = "*"
structlog = "^24.4.0"
[tool.poetry.group.external-auth.dependencies]
# These are the dependencies of ldaptor
passlib = "^1.7.4"
pyOpenSSL = [
{ version = "19.0.0", markers = "platform_machine == 's390x' or platform_machine == 'ppc64le'" }, # Needed for pinned cryptography package - see SERVER-70845
{ version = "^24.2.1", markers = "platform_machine != 's390x' and platform_machine != 'ppc64le'" },
]
pyparsing = "^2.4.7"
service_identity = "^18.1.0"
twisted = "^24.3.0"
'zope.interface' = "^5.5.2"
ldaptor = "19.0.0"
[tool.poetry.group.idl.dependencies]
unittest-xml-reporting = "3.0.4" # Pinned because newer versions require lxml which fails to install
packaging = "^23.1"
[tool.poetry.group.jira-client.dependencies]
jira = "<=3.1.1"
requests-oauth = "<=0.4.1"
PyJWT = "^2.9.0"
# We are omitting pycrypto based on https://github.com/pycontribs/jira/pull/629
[tool.poetry.group.lint.dependencies]
# Note: These versions are checked by python modules in buildscripts/linter/
GitPython = "^3.1.7"
mypy = "^1.11.1"
pydocstyle = "^6.3.0"
pylint = "^2.17.7"
structlog = "^24.4.0"
yamllint = "^1.35.1"
yapf = "0.26.0" # latest is 0.40.1, but that causes CI failures
types-setuptools = "57.4.12" # latest is 68.0.0.0, but that causes pip install requirements to fail
types-requests = "^2.32.0.20240712"
tqdm = "*"
colorama = "^0.4.6"
evergreen-lint = "^0.1.8"
ruff = "^0.5.6"
[tool.poetry.group.platform.dependencies]
pypiwin32 = { version = ">=223", markers = "sys_platform == 'win32'" }
pywin32 = { version = ">=225", markers = "sys_platform == 'win32'" }
cryptography = [
{ version = "2.3", markers = "platform_machine == 's390x' or platform_machine == 'ppc64le'" }, # Needed for oauthlib to use RSAAlgorithm # Version locked - see SERVER-36618
{ version = "^43.0.0", markers = "platform_machine != 's390x' and platform_machine != 'ppc64le'" },
]
mongo-ninja-python = [
{ version = "1.11.1.7", markers = "platform_machine != 's390x' and platform_machine != 'ppc64le'" },
]
ninja = [
{ version = ">=1.10.0", markers = "platform_machine == 's390x' or platform_machine == 'ppc64le'" },
]
[tool.poetry.group.testing.dependencies]
curatorbin = "^1.2.4"
PyKMIP = "0.10.0"
evergreen-py = "^3.9.0"
jinja2 = "^3.1.4"
mock = "^5.1.0"
shrub-py = "^1.1.4"
ocspresponder = "^0.5.0"
flask = "^2.3.3"
ocspbuilder = "^0.10.2"
# Werkzeug is needed for ocsp tests in ocsp_mock.py
# version 3+ fails with "ImportError: cannot import name 'url_quote' from 'werkzeug.urls'"
Werkzeug = "<=2.3.7"
PyGithub = "^1.58"
urllib3 = "^2.2.2"
distro = "^1.9.0"
dnspython = "^2.6.1"
proxy-protocol = "^0.11.3"
pkce = "^1.0.3"
oauthlib = "^3.1.1"
requests-oauthlib = "^2.0.0"
packaging = "^23.1"
docker = "^7.1.0"
mongomock = "^4.1.2"
pyjwt = "^2.9.0"
selenium = "^4.23.1"
geckodriver-autoinstaller = "^0.1.0"
retry = "^0.9.2"
gdbmongo = "^0.15.0"
googleapis-common-protos = "^1.63.2"
opentelemetry-api = "*"
opentelemetry-sdk = "*"
opentelemetry-exporter-otlp-proto-common = "*"
[tool.poetry.group.tooling-metrics.dependencies]
mongo-tooling-metrics = "1.0.8"
# This can be installed with "poetry install -E libdeps"
[tool.poetry.extras]
libdeps = [
"flask",
"flask-cors",
"lxml",
"eventlet",
"gevent",
"progressbar2",
"cxxfilt",
"pympler",
]
# This entrypoint is included as a TODO if we want to run resmoke with pex
# Currently this does nothing
[tool.poetry.scripts]
resmoke = "buildscripts.resmoke:entrypoint"
[tool.ruff]
extend-exclude = [
"site_scons/third_party",
"src/third_party",
]
extend-include = [
"SConstruct",
"*/SConscript"
]
line-length = 100
target-version = "py310"
[tool.ruff.lint]
ignore = [
"E402", # module-import-not-at-top-of-file
"E703", # useless-semicolon
"E711", # none-comparison
"E712", # true-false-comparison
"E713", # not-in-test
"E714", # not-is-test
"E721", # type-comparison
"E722", # bare-except
"E731", # lambda-assignment
"E741", # ambiguous-variable-name
"F401", # unused-import
"F402", # import-shadowed-by-loop-var
"F403", # undefined-local-with-import-star
"F405", # undefined-local-with-import-star-usage
"F541", # f-string-missing-placeholders
"F811", # redefined-while-unused
"F821", # undefined-name
"F822", # undefined-export
"F841", # unused-variable
]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"