py_atmo_data_wrapper/pyproject.toml
2025-07-14 21:24:55 +02:00

144 lines
3.4 KiB
TOML

[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "atmo-data-wrapper"
dynamic = ["version"]
description = "Wrapper Python pour l'API Atmo Data"
readme = "docs/README.md"
license = {file = "LICENSE"}
authors = [
{name = "Mathdatech Team", email = "mathdatech@mathdatech.fr"}
]
maintainers = [
{name = "Mathdatech Team", email = "mathdatech@mathdatech.fr"}
]
keywords = [
"atmo",
"air quality",
"pollution",
"environment",
"france",
"aasqa",
"api",
"wrapper",
"qualité air",
"pollen",
"emissions"
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering :: Atmospheric Science",
"Topic :: Software Development :: Libraries :: Python Modules",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
"Natural Language :: French",
]
requires-python = ">=3.7"
dependencies = [
"requests>=2.25.0",
]
[project.optional-dependencies]
dev = [
"pytest>=6.0",
"pytest-cov",
"black",
"flake8",
"mypy",
]
docs = [
"sphinx",
"sphinx-rtd-theme",
]
[project.urls]
Homepage = "https://git.mathdatech.fr/mathdatech/py_atmo_data_wrapper"
Documentation = "https://git.mathdatech.fr/mathdatech/py_atmo_data_wrapper/src/branch/main/docs/README.md"
Repository = "https://git.mathdatech.fr/mathdatech/py_atmo_data_wrapper"
Issues = "https://git.mathdatech.fr/mathdatech/py_atmo_data_wrapper/issues"
"API Documentation" = "https://admindata.atmo-france.org/api/doc/v2"
"Atmo France" = "https://www.atmo-france.org"
[project.scripts]
atmo-data-test = "atmo_data_wrapper.core.client:main"
[tool.setuptools]
packages = ["atmo_data_wrapper", "atmo_data_wrapper.core"]
[tool.setuptools.dynamic]
version = {attr = "atmo_data_wrapper.__version__"}
[tool.setuptools.package-data]
atmo_data_wrapper = ["*.json", "core/*.json"]
[tool.black]
line-length = 100
target-version = ['py37', 'py38', 'py39', 'py310', 'py311', 'py312']
include = '\.pyi?$'
exclude = '''
/(
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
'''
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = "--verbose --tb=short"
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"integration: marks tests as integration tests",
"unit: marks tests as unit tests",
]
[tool.mypy]
python_version = "3.7"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
warn_unreachable = true
strict_equality = true
[tool.flake8]
max-line-length = 100
extend-ignore = ["E203", "W503"]
exclude = [
".git",
"__pycache__",
"build",
"dist",
".eggs",
"*.egg-info",
".venv",
".mypy_cache",
".pytest_cache"
]