libs/libcommon/pyproject.toml (103 lines of code) (raw):
[tool.poetry]
authors = ["Sylvain Lesage <sylvain.lesage@huggingface.co>"]
description = "Library for utils common to all the services"
name = "libcommon"
version = "0.6.8"
license = "Apache-2.0"
[tool.poetry.dependencies]
python = "3.9.18"
appdirs = "^1.4.4"
cryptography = "^43.0.1"
datasets = {git = "https://github.com/huggingface/datasets.git", rev = "da1db8a5b89fc0badaa0f571b36e122e52ae8c61", extras = ["audio", "vision"]}
duckdb = "^1.2.2"
environs = "^9.5.0"
filelock = "^3.18.0"
fsspec = {version = "2024.3.1", extras = ["s3"]}
huggingface-hub = {version = "^0.31.0", extras = ["hf-transfer"]}
mongo-types = "0.15.1"
mongoengine = "^0.27.0"
networkx = "^3.0"
numpy = "^1.22.4"
orjson = "^3.9.15"
pandas = "^2.2.0"
pdfplumber = ">=0.11.4"
pillow = "^10.3.0"
polars = "^1.27.0"
psutil = "^5.9.4"
pyarrow = "15.0.2"
pymongoarrow = "^1.3.0"
pymupdf = "^1.26.1"
pydub = "^0.25.1"
pymongo = { extras = ["srv"], version = "^4.6.3" }
pytz = "^2020.1"
s3fs = "2024.3.1" # Aligned with fsspec[s3] version
soundfile = ">=0.12.1"
starlette-prometheus = "^0.9.0"
tqdm = "^4.66.3"
[tool.poetry.group.dev.dependencies]
aiobotocore = "^2.13.0"
bandit = "^1.7.4"
boto3 = "^1.34.0"
httpx = "^0.26.0"
moto = "^4.2.8"
mypy = "^1.10.0"
pandas-stubs = "^1.5.3"
pip-audit = "^2.7.3"
pytest = "^8.2.2"
pytest-datadir = "^1.5.0"
pytest-memray = "^1.6.0"
ruff = "^0"
types-aiobotocore = {extras = ["signer"], version = "^2.13.0"}
types-psutil = "^5.9.5"
types-pytz = "^2022.1.1"
validators = "^0.22.0"
[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry-core>=1.0.0"]
[tool.pytest.ini_options]
filterwarnings = ["ignore::DeprecationWarning"]
markers = [
"real_dataset: tests on the Hub"
]
[tool.mypy]
strict = true
# allow calling untyped methods in huggingface_hub (eg: DatasetInfo(...))
untyped_calls_exclude = "huggingface_hub"
[[tool.mypy.overrides]]
module = [
"datasets.*",
"fitz.*",
"networkx.*",
"prometheus_client.*",
"pyarrow.*",
"pymongoarrow.*",
"tqdm.*",
"fsspec.*",
"boto3.*",
"moto.*",
"aiobotocore.*",
"requests.*",
"dateutil.*"
]
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = [
"huggingface_hub.*",
]
# allow
# from huggingface_hub.utils import build_hf_headers
# even if the module does not explicitly exports the method
# https://github.com/huggingface/huggingface_hub/blob/07896ee75b37da0d1744c9d03472485b985b3213/src/huggingface_hub/utils/__init__.py
no_implicit_reexport = false
[tool.ruff]
line-length = 119
src = ["src"]
target-version = "py39"
[tool.ruff.lint]
extend-select = [
"ARG", # flake8-unused-arguments
"I", # isort
# flake8-pep585:
"UP006", # non-pep585-annotation
"UP035", # deprecated-import
]