Skip to content
Snippets Groups Projects
pyproject.toml 2.45 KiB
[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "arkindex-base-worker"
version = "0.5.0a2"
description = "Base Worker to easily build Arkindex ML workflows"
license = { file = "LICENSE" }
dependencies = [
    "humanize==4.11.0",
    "peewee~=3.17",
    "Pillow==11.0.0",
    "python-gnupg==0.5.3",
    "shapely==2.0.7",
    "teklia-toolbox==0.1.7",
    "zstandard==0.23.0",
]
authors = [
    { name = "Teklia", email = "contact@teklia.com" },
]
maintainers = [
    { name = "Teklia", email = "contact@teklia.com" },
]
requires-python = ">=3.10"
readme = { file = "README.md", content-type = "text/markdown" }
keywords = ["python"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "License :: OSI Approved :: MIT License",
    # Specify the Python versions you support here.
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
]

[project.urls]
Homepage = "https://workers.arkindex.org"
Documentation = "https://workers.arkindex.org"
Repository = "https://gitlab.teklia.com/workers/base-worker"
"Bug Tracker" = "https://gitlab.teklia.com/workers/base-worker/issues"
Authors = "https://teklia.com"

[project.optional-dependencies]
docs = [
    "black==24.10.0",
    "mkdocs-material==9.5.48",
    "mkdocstrings-python==1.12.2",
]
tests = [
    "pytest==8.3.4",
    "pytest-mock==3.14.0",
    "pytest-responses==0.5.1",
]

[tool.setuptools.packages]
find = {}

[tool.ruff]
exclude = [".git", "__pycache__"]

[tool.ruff.lint]
ignore = ["E501"]
select = [
    # pycodestyle
    "E",
    "W",
    # Pyflakes
    "F",
    # Flake8 Debugger
    "T1",
    # Isort
    "I",
    # Implicit Optional
    "RUF013",
    # Invalid pyproject.toml
    "RUF200",
    # pyupgrade
    "UP",
    # flake8-bugbear
    "B",
    # flake8-simplify
    "SIM",
    # flake8-pytest-style
    "PT",
    # flake8-use-pathlib
    "PTH",
]

[tool.ruff.lint.per-file-ignores]
# Ignore `pytest-composite-assertion` rules of `flake8-pytest-style` linter for non-test files
"arkindex_worker/**/*.py" = ["PT018"]

[tool.ruff.lint.isort]
known-first-party = ["arkindex", "arkindex_common", "arkindex_worker", "teklia_toolbox"]
known-third-party = [
    "PIL",
    "gnupg",
    "numpy",
    "peewee",
    "playhouse",
    "pytest",
    "requests",
    "responses",
    "shapely",
    "tenacity",
    "yaml",
    "zstandard",
]