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

[build-system] requires = ["setuptools>=64"] build-backend = "setuptools.build_meta" [project] name= "mozilla-jetstream" # This project does not issue regular releases, only when there # are changes that would be meaningful to our (few) dependents. version="2025.2.1" authors=[{name = "Mozilla Corporation", email="fx-data-dev@mozilla.org"}] description="Runs a thing that analyzes experiments" readme = "README.md" requires-python=">=3.10,<3.11" dependencies=[ "attrs", "cattrs", "Click", "dask[distributed]", "db-dtypes", "GitPython", "google-cloud-artifact-registry", "google-cloud-bigquery", "google-cloud-bigquery-storage", "google-cloud-container", "google-cloud-storage", "grpcio", # https://github.com/googleapis/google-cloud-python/issues/6259 "jinja2", "mozanalysis", "mozilla-metric-config-parser", "mozilla-nimbus-schemas", "pyarrow", "pytz", "PyYAML", "requests", "scikit-learn", "smart_open[gcs]", "statsmodels", "toml", ] [project.scripts] jetstream = "jetstream.cli:cli" [project.urls] Repository = "https://github.com/mozilla/jetstream" Documentation = "https://experimenter.info/deep-dives/jetstream/overview" [project.optional-dependencies] testing = [ "coverage", "jsonschema", "mypy", "pytest", "pytest-cov", "pytest-ruff", "ruff", "tox", "types-futures", "types-protobuf", "types-pytz", "types-PyYAML", "types-requests", "types-setuptools", "types-six", "types-toml", ] [tool.setuptools] packages = [ "jetstream", "jetstream.diagnostics", "jetstream.logging", "jetstream.tests", "jetstream.tests.integration", "jetstream.workflows", ] [tool] [tool.setuptools.package-data] jetstream = ["../platform_config.toml"] "jetstream.tests" = ["data/*"] "jetstream.workflows" = ["*.yaml"] # [tool.setuptools_scm] [tool.ruff] line-length=100 exclude = [".git","__pycache__"] target-version = "py310" [tool.ruff.lint] ignore= ["E741", "RUF005", "RUF012", "SIM105"] 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 ]