172 lines
5.2 KiB
TOML
172 lines
5.2 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.9,<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.20.26"
|
|
botocore = "<=1.23.26"
|
|
|
|
[tool.poetry.group.build-metrics.dependencies]
|
|
jsonschema = "^4.17.3"
|
|
psutil = "^5.8.0"
|
|
memory-profiler = "^0.61.0"
|
|
puremagic = "^1.15"
|
|
tabulate = "^0.9.0"
|
|
|
|
[tool.poetry.group.compile.dependencies]
|
|
cheetah3 = "<=3.2.6.post1" # src/mongo/base/generate_error_codes.py
|
|
packaging = "<=21.3"
|
|
regex = "<=2021.11.10"
|
|
requirements_parser = "<=0.3.1"
|
|
setuptools = "58.1.0"
|
|
|
|
[tool.poetry.group.core.dependencies]
|
|
psutil = "5.8.0"
|
|
pymongo = "4.3.3"
|
|
PyYAML = "5.3.1"
|
|
types-PyYAML = "~6.0.12.10"
|
|
requests = "2.26.0"
|
|
typing-extensions = ">3.7.4"
|
|
|
|
[tool.poetry.group.export.dependencies]
|
|
pipx = "1.2.0"
|
|
# TODO: Add in pex as we move forward with this
|
|
# pex = "^2.1.137"
|
|
poetry = "*"
|
|
|
|
[tool.poetry.group.evergreen.dependencies]
|
|
click = "^7.1.2"
|
|
inject = "~4.3.1"
|
|
GitPython = "~3.1.7"
|
|
pydantic = "~1.8.2"
|
|
structlog = "~23.1.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 = "22.0.0", markers = "platform_machine != 's390x' and platform_machine != 'ppc64le'" },
|
|
]
|
|
pyparsing = "2.4.0"
|
|
service_identity = "18.1.0"
|
|
twisted = "21.2.0"
|
|
'zope.interface' = "5.0.0"
|
|
ldaptor = "19.0.0"
|
|
|
|
[tool.poetry.group.idl.dependencies]
|
|
unittest-xml-reporting = "3.0.4"
|
|
packaging = "21.3"
|
|
|
|
[tool.poetry.group.jira-client.dependencies]
|
|
jira = "<=3.1.1"
|
|
requests-oauth = "<=0.4.1"
|
|
PyJWT = "<=2.3.0" # https://github.com/pycontribs/jira/issues/247
|
|
# 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.3.0"
|
|
pydocstyle = "6.3.0"
|
|
pylint = "2.17.4"
|
|
structlog = "~23.1.0"
|
|
yamllint = "1.32.0"
|
|
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.31.0.1"
|
|
tqdm = "*"
|
|
colorama = "0.4.6"
|
|
|
|
[tool.poetry.group.platform.dependencies]
|
|
pypiwin32 = {version = ">=223", markers = "platform_machine == 'win32'"}
|
|
pywin32 = {version = ">=225", markers = "platform_machine == '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 = "36.0.2", markers = "platform_machine != 's390x' and platform_machine != 'ppc64le'" },
|
|
]
|
|
mongo-ninja-python = [
|
|
{ version = "1.11.1.5", markers = "sys_platform == 'linux'" },
|
|
]
|
|
ninja = [
|
|
{ version = ">=1.10.0", markers = "sys_platform != 'linux'" },
|
|
]
|
|
|
|
[tool.poetry.group.testing.dependencies]
|
|
curatorbin = "1.2.3"
|
|
PyKMIP = "0.10.0"
|
|
evergreen-py = "3.4.4"
|
|
jinja2 = "2.11.3"
|
|
MarkupSafe = "1.1.0" # See SERVER-57036, this is a transitive dependency of jinja2
|
|
mock = "4.0.3"
|
|
shrub-py = "1.1.4"
|
|
ocspresponder = "0.5.0"
|
|
flask = "1.1.1"
|
|
itsdangerous = "2.0.0"
|
|
ocspbuilder = "0.10.2"
|
|
Werkzeug = "2.0.3"
|
|
blackduck = "1.0.1"
|
|
PyGithub = "1.53"
|
|
urllib3 = "1.26.7"
|
|
distro = "1.5.0"
|
|
dnspython = "2.1.0"
|
|
proxy-protocol = "0.7.5"
|
|
pkce = "1.0.3"
|
|
oauthlib = "3.1.1"
|
|
requests-oauthlib = "1.3.0"
|
|
packaging = "21.3"
|
|
docker = "^6.1.2"
|
|
mongomock = "4.1.2"
|
|
pyjwt = "<=2.3.0"
|
|
selenium = "^4.9.1"
|
|
geckodriver-autoinstaller = "^0.1.0"
|
|
pigz-python = "*"
|
|
opentelemetry-api = "*"
|
|
opentelemetry-sdk = "*"
|
|
# TODO: EVG-20576
|
|
# Once the above is merged we can get rid of our dependency on grpc
|
|
opentelemetry-exporter-otlp-proto-grpc = [ { version = "*", markers = "platform_machine != 'darwin'" } ] # TODO: SERVER-80336 this should work on macosx
|
|
|
|
[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"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|