diff --git a/pyproject.toml b/pyproject.toml index 9a5b72f..0095e5d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,17 +1,80 @@ +[build-system] +requires = ["uv_build>=0.7.15,<0.8.0"] +build-backend = "uv_build" + [project] name = "judas_server" version = "0.1.0" -description = "Default template for PDM package" -authors = [ - {name = "Artur Borecki", email = "me@pufereq.pl"}, -] -dependencies = ["flask>=3.1.1", "flask-login>=0.6.3"] -requires-python = ">=3.13" +description = "The backbone of the remote PC fleet management system." readme = "README.md" -license = {text = "GPL-3.0"} +authors = [] +requires-python = ">=3.13" +dependencies = ["flask>=3.1.1", "flask-login>=0.6.3"] +license = { text = "GPL-3.0+" } -[tool.pdm.scripts] -start = "flask --app judas_server/web/web_server.py run" +[dependency-groups] +bump = ["git-cliff>=2.9.1", "python-semantic-release>=10.2.0"] +test = [ + "pytest>=4.2.1", + "pytest-cov>=6.2.1", + "pytest-github-actions-annotate-failures>=0.3.0", + "pytest-mock>=3.14.1", +] -[tool.pdm] -distribution = false +[tool.ruff] +line-length = 79 +exclude = ["tests/*"] + +[tool.ruff.lint.pycodestyle] +max-line-length = 79 + +[tool.ruff.lint.per-file-ignores] +"__init__.py" = ["E402", "F401"] +"**/{tests,docs,tools}/*" = ["E402"] + +[tool.ruff.format] +docstring-code-format = true +docstring-code-line-length = 72 + +[tool.pytest.ini_options] +addopts = [ + "--cov-report=term-missing", + "--cov-report=html", + "--cov-fail-under=100", +] + +[tool.coverage.run] +omit = ["src/judas_server/__init__.py", "examples/*", "docs/*", "tests/*"] + +[tool.semantic_release] +version_variables = ["src/judas_server/__init__.py:__version__"] +version_toml = ["pyproject.toml:project.version"] +build_command_env = [] +commit_message = "chore(release): {version}\n\nAutomatically generated by python-semantic-release" +commit_parser = "conventional" +logging_use_named_masks = false +major_on_zero = true +allow_zero_version = true +no_git_verify = false +tag_format = "{version}" + +[tool.semantic_release.commit_author] +env = "GIT_COMMIT_AUTHOR" +default = "semantic-release " + +[tool.semantic_release.commit_parser_options] +allowed_tags = [ + "build", + "chore", + "ci", + "docs", + "feat", + "fix", + "perf", + "style", + "refactor", + "test", +] +minor_tags = ["feat"] +patch_tags = ["fix", "perf"] +default_bump_level = 0