diff --git a/pyproject.toml b/pyproject.toml index 690a4b9..04192d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,10 +5,6 @@ requires = [ "versioningit", ] -[tool.versioningit.vcs] -method = "git" -default-tag = "0.0.0" - [project] name = "supertask" description = "Supertask, a convenience job scheduler" @@ -83,15 +79,15 @@ dynamic = [ "version", ] dependencies = [ - "APScheduler<4", + "apscheduler<4", "click<9", "colorama<0.5", "colorlog<7", "fastapi<0.112", "halo<0.1", "icecream<3", - "Jinja2<4", - "MarkupSafe<3", + "jinja2<4", + "markupsafe<3", "pueblo[fileio]", "pydantic<3", "python-dotenv[cli]<2", @@ -100,8 +96,7 @@ dependencies = [ "uvicorn<0.31", "watchdog<5", ] -[project.optional-dependencies] -develop = [ +optional-dependencies.develop = [ "black<25", "mypy<1.12", "poethepoet<0.28", @@ -109,11 +104,11 @@ develop = [ "ruff<0.7", "validate-pyproject<0.19", ] -release = [ +optional-dependencies.release = [ "build<2", "twine<6", ] -test = [ +optional-dependencies.test = [ "cratedb-toolkit==0.0.15", "httpx<0.28", "psycopg2-binary<3", @@ -121,87 +116,51 @@ test = [ "pytest-cov<6", "pytest-mock<4", ] -[project.urls] -changelog = "https://github.com/pyveci/supertask/blob/main/CHANGES.md" -documentation = "https://github.com/pyveci/supertask" -homepage = "https://github.com/pyveci/supertask" -repository = "https://github.com/pyveci/supertask" -[project.scripts] -st = "supertask.cli:cli" -supertask = "supertask.cli:cli" - -[tool.black] -line-length = 120 +urls.changelog = "https://github.com/pyveci/supertask/blob/main/CHANGES.md" +urls.documentation = "https://github.com/pyveci/supertask" +urls.homepage = "https://github.com/pyveci/supertask" +urls.repository = "https://github.com/pyveci/supertask" +scripts.st = "supertask.cli:cli" +scripts.supertask = "supertask.cli:cli" [tool.setuptools] -packages = ["supertask"] +packages = [ "supertask" ] -[tool.coverage.run] -branch = false -omit = [ - "tests/*", - "test_*.py", -] -source = ["supertask"] - -[tool.coverage.report] -fail_under = 0 -show_missing = true - -[tool.mypy] -packages = ["supertask"] -exclude = [] -check_untyped_defs = true -ignore_missing_imports = true -implicit_optional = true -install_types = true -non_interactive = true - -[tool.pytest.ini_options] -addopts = """ - -rfEXs -p pytester --strict-markers --verbosity=3 - --cov --cov-report=term-missing --cov-report=xml - """ -minversion = "2.0" -log_level = "DEBUG" -log_cli_level = "DEBUG" -log_format = "%(asctime)-15s [%(name)-36s] %(levelname)-8s: %(message)s" -testpaths = [ - "tests", -] -xfail_strict = true -markers = [ -] +[tool.black] +line-length = 120 [tool.ruff] line-length = 120 +extend-exclude = [ +] + lint.select = [ - # Bandit - "S", - # Bugbear - "B", # Builtins "A", + # Bugbear + "B", # comprehensions "C4", + # Pycodestyle + "E", # eradicate "ERA", - # flake8-2020 - "YTT", + # Pyflakes + "F", # isort "I", # pandas-vet "PD", + # return + "RET", + # Bandit + "S", # print "T20", - # Pycodestyle - "E", "W", - # Pyflakes - "F", - # return - "RET", + # flake8-2020 + "YTT", ] lint.extend-ignore = [ @@ -217,15 +176,50 @@ lint.extend-ignore = [ "S108", ] -extend-exclude = [ +lint.per-file-ignores."examples/*" = [ "T201" ] # Allow `print` +lint.per-file-ignores."test_*.py" = [ "S101" ] # Allow use of `assert`, and `print`. +lint.per-file-ignores."tests/*" = [ "S101" ] # Allow use of `assert`, and `print`. + +[tool.pytest.ini_options] +addopts = """ + -rfEXs -p pytester --strict-markers --verbosity=3 + --cov --cov-report=term-missing --cov-report=xml + """ +minversion = "2.0" +log_level = "DEBUG" +log_cli_level = "DEBUG" +log_format = "%(asctime)-15s [%(name)-36s] %(levelname)-8s: %(message)s" +testpaths = [ + "tests", +] +xfail_strict = true +markers = [ +] + +[tool.coverage.run] +branch = false +omit = [ + "tests/*", + "test_*.py", ] +source = [ "supertask" ] -[tool.ruff.lint.per-file-ignores] -"tests/*" = ["S101"] # Allow use of `assert`, and `print`. -"test_*.py" = ["S101"] # Allow use of `assert`, and `print`. -"examples/*" = ["T201"] # Allow `print` +[tool.coverage.report] +fail_under = 0 +show_missing = true +[tool.mypy] +packages = [ "supertask" ] +exclude = [ ] +check_untyped_defs = true +ignore_missing_imports = true +implicit_optional = true +install_types = true +non_interactive = true +[tool.versioningit.vcs] +method = "git" +default-tag = "0.0.0" # =================== # Tasks configuration