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

[build-system] requires = ['hatchling', 'hatch-fancy-pypi-readme'] build-backend = 'hatchling.build' [project] name = "luigi" description = "Workflow mgmgt + task scheduling + dependency resolution." authors = [ {name = "The Luigi Authors"} ] license = {file = "LICENSE"} requires-python = ">=3.8.0, <3.13" dependencies = [ "python-dateutil>=2.7.5,<3", "tenacity>=8,<9", "tornado>=5.0,<7", "python-daemon<2.2.0; sys_platform == 'nt'", "python-daemon; sys_platform != 'nt'", ] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "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", "Topic :: System :: Monitoring", ] dynamic = ["version", "readme"] [project.urls] Homepage = "https://github.com/spotify/luigi" [project.scripts] luigi = "luigi.cmdline:luigi_run" luigid = "luigi.cmdline:luigid" luigi-grep = "luigi.tools.luigi_grep:main" luigi-deps = "luigi.tools.deps:main" luigi-deps-tree = "luigi.tools.deps_tree:main" [project.optional-dependencies] jsonschema = ["jsonschema"] prometheus = ["prometheus-client>=0.5,<0.15"] toml = ["toml<2.0.0"] [dependency-groups] # groups and dependencies should be sort in lexicographical order cdh = [ "hdfs>=2.0.4,<3.0.0", ] common = [ "avro-python3", "azure-storage-blob<=12.20.0", "boto>=2.42,<3.0", "boto3>=1.11.0", "codecov>=1.4.0", "coverage>=5.0,<6", "datadog==0.22.0", "docker>=2.1.0", "elasticsearch>=1.0.0,<2.0.0", "google-compute-engine", "HTTPretty==0.8.10", "hypothesis>=6.7.0,<7.0.0", "jsonschema", "mock<2.0", "moto>=1.3.10,<5.0", "mypy", "mysql-connector-python", "prometheus-client>=0.5.0,<0.15", "psutil<4.0", "pygments", "pyhive[presto]==0.6.1", "pymongo==3.4.0", "pytest", "pytest-cov", "requests>=2.20.0,<=2.31.0", "responses<1.0.0", "s3transfer>=0.3,<4.0", "selenium==3.0.2", "sqlalchemy<1.4", "toml<2.0.0", "types-python-dateutil", "types-requests", "types-toml", ] docs = [ "alabaster<0.7.13", "azure-storage-blob<=12.20.0", "jinja2==3.0.3", "mypy", "prometheus-client==0.5.0", "Sphinx>=1.4.4,<2.0", "sphinx_rtd_theme", "sqlalchemy", ] dropbox = [ "dropbox>=11.0.0", ] gcloud = [ "google-api-python-client>=1.6.6,<2.0", "google-auth==1.4.1", "google-auth-httplib2==0.0.3", ] hdp = [ "hdfs>=2.0.4,<3.0.0", ] lint = [ "flake8", "isort" ] postgres = [ "pg8000>=1.23.0", "psycopg2<3.0", ] unixsocket = [ "requests-unixsocket<1.0", ] # for tox test dependencies test_cdh = [ {include-group = "cdh"}, {include-group = "common"}, ] test_dropbox = [ {include-group = "dropbox"}, {include-group = "common"}, ] test_gcloud = [ {include-group = "gcloud"}, {include-group = "common"}, ] test_hdp = [ {include-group = "hdp"}, {include-group = "common"}, ] test_postgres = [ {include-group = "postgres"}, {include-group = "common"}, ] test_unixsocket = [ {include-group = "unixsocket"}, {include-group = "common"}, ] visualizer = [ "mock<2.0", "selenium==3.0.2" ] # for local development dev = [ {include-group = "gcloud"}, {include-group = "postgres"}, {include-group = "dropbox"}, {include-group = "cdh"}, # same deps as hdp {include-group = "unixsocket"}, {include-group = "common"}, {include-group = "lint"}, ] [tool.uv] default-groups = ['dev'] cache-keys = [ { file = "pyproject.toml" }, { git = true } ] [tool.hatch.version] path = "luigi/__version__.py" [tool.hatch.build.targets.sdist] include = [ "/LICENSE", "/README.rst", "/examples", "/luigi", "/test", ] [tool.hatch.metadata.hooks.fancy-pypi-readme] content-type = "text/x-rst" # construct the PyPI readme from README.md and HISTORY.md fragments = [ {text = "\n.. note::\n\nFor the latest source, discussion, etc, please visit the\n`GitHub repository <https://github.com/spotify/luigi>`_\n"}, {path = "README.rst"}, ]