Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
pyproject.toml 1.82 KiB
[build-system]
requires = ["setuptools>=64", "wheel", "setuptools_scm>=8"]
build-backend = "setuptools.build_meta"

[project]
name="lhcsmapi"
authors=[{name = "TE-MPE", email = "lhc-signal-monitoring@cern.ch"}]
description="A package with an API for signal access and processing for the LHC Signal Monitoring project."
readme = "README.md"
requires-python = ">=3.9"
license = { file = "LICENSE" }
classifiers = [
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]
dependencies = [
    "ipython",
    "ipykernel",
    "ipywidgets",
    "jinja2",
    "matplotlib",
    "mpmath",
    "numpy",
    "nxcals>=1.0.29",
    "pandas>=1.5",
    "plotly",
    "pyarrow",
    "pyspark",
    "requests",
    "scikit-learn",
    "scipy",
    "tqdm",
    "tzlocal<3.0",  # https://its.cern.ch/jira/browse/SIGMON-169
    # since version 3.0 the API has changed, tzlocal no longer returns pytz, but zoneinfo
]
dynamic = ["version"]

[project.urls]
"Documentation" = "https://sigmon.docs.cern.ch/"
"Repository" = "https://gitlab.cern.ch/LHCData/lhc-sm-api"

[tool.setuptools.packages]
find = {}

[tool.setuptools_scm]

[tool.black]
line-length = 120
skip-magic-trailing-comma = true

[tool.ruff]
line-length = 120
target-version = "py39"
include = ["pyproject.toml", "lhcsmapi/api/**/*.py"]

[tool.ruff.lint]
select = ["B", "E", "F", "W", "I", "UP", "SIM"] # see https://docs.astral.sh/ruff/rules/
ignore = ["B028"]

[tool.coverage.report]
exclude_also = [
    "raise AssertionError",
    "raise NotImplementedError",
    "@(abc\\.)?abstractmethod",
]

[tool.mypy]
ignore_missing_imports = true
files = ["lhcsmapi/api/"]