Dependencies#

Python (Poetry) Dependencies#

[tool.poetry.dependencies]
python = "^3.9, <3.12"
# pytorch dependencies for cuda are not set correctly in pypi right now
# therefore we cannot use the newest versions
torch = ">=2.0.0, !=2.0.1, !=2.1.0"
timm = "^0.9.2"
transformers = "^4.26.0"
appdirs = "^1.4.4"
# numpy 2.0 is not compatible with pandas yet
numpy = "^1.21.5"
# pydantic version 2 is incompatible with bigearthnet-encoder
pydantic = { version = "^1.8", optional = true }
lmdb = { version = "^1.4.0", optional = true }
pyarrow = { version = "^12.0.1", optional = true }
bigearthnet-encoder = { version = "^0.3.0", optional = true }
pytorch-lightning = { version = "^2.0.0", optional = true }
lightning = { version = "^2.0.0", optional = true }


[tool.poetry.extras]
bigearthnet = [
    "lmdb",
    "bigearthnet-encoder",
    "pydantic",
    "pyarrow"  # for parquet files
]
# for use with pytorch-lightning
full-pytorch_lightning = [
    "lmdb",
    "bigearthnet-encoder",
    "pytorch-lightning",
    "pydantic",
    "pyarrow"
]
# for use with lightning (without pytorch-lightning)
full-lightning = [
    "lmdb",
    "bigearthnet-encoder",
    "lightning",
    "pydantic",
    "pyarrow"
]
# same as full-lightning
full = [
    "lmdb",
    "bigearthnet-encoder",
    "lightning",
    "pydantic",
    "pyarrow"
]


[tool.poetry.group.dev.dependencies]
matplotlib = "^3.6.3"
pytest = "^7.2.1"
coverage = "^7.1.0"
pre-commit = "^3.0.2"
pytest-mock = "^3.10.0"
furo = "^2022.03.23"
myst-nb = "^0.17.1"
sphinx-autobuild = "^2021.3.14"
sphinxcontrib-bibtex = "^2.5.0"
common-nb-preprocessors = "^1.1.1"
jupyterlab = "^3.6.1"
tensorboardx = "^2.6"
pytest-xdist = "^3.3.1"