pyproject.toml (63 lines of code) (raw):

[build-system] requires = ["setuptools>=64", "setuptools_scm>=8", "pytest-runner"] build-backend = "setuptools.build_meta" [project] name = "mozanalysis" dynamic = ["version"] authors = [{ name = "Mozilla Corporation", email = "fx-data-dev@mozilla.org" }] description = "A library for Mozilla experiments analysis" requires-python = ">=3.10,<=3.11" dependencies = [ "attrs", "formulaic", "google-cloud-bigquery", "google-cloud-bigquery-storage", "marginaleffects==0.0.12", "matplotlib", "mozilla-metric-config-parser>=2024.4.1", "numpy", "pandas", "pyarrow", "scipy", "SecretStorage", "statsmodels", ] readme = "README.md" [project.urls] Repository = "https://github.com/mozilla/mozanalysis" Documentation = "https://mozilla.github.io/mozanalysis/" [project.optional-dependencies] docs = ["Sphinx", "sphinx-autobuild", "sphinx-rtd-theme"] testing = [ "mock", "pytest", "pytest-cov", "pytest-ruff", "pytest-timeout", "ruff", ] dev = ["build", "mozanalysis[testing]", "pip-tools", "tox", "twine"] [tool.setuptools_scm] [tool.ruff] line-length = 88 exclude = [".git", "__pycache__"] target-version = "py310" [tool.ruff.lint] ignore = ["E741", "RUF005"] select = [ "B", # flake8-bugbear "C4", # flake8-comprehensions "E", # pycodestyle "F", # Pyflakes "I", # isort "PT", # flake8-pytest-style "Q", # flake8-quotes "RUF", # Ruff-specific rules "SIM", # flake8-simplify "TC", # flake8-type-checking "TID", # flake8-tidy-imports "UP", # pyupgrade "W", # pycodestyle ] [tool.pytest.ini_options] norecursedirs = "tests/helpers"