diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7a92f58 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,109 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "slurm_manager" +version = "0.0.0" +description = "A tool for managing slurm jobs." +requires-python = ">=3.11" +classifiers = [ + "Development Status :: 3 - Alpha", + "Programming Language :: Python :: 3", + "Topic :: Scientific/Engineering", +] + +dependencies = [ + "hiredis~=3.0", + "pydantic~=2.8, <2.12.0", +] + +[project.optional-dependencies] +dev = [ + "black~=25.0", + "isort~=5.13, >=5.13.2", + "coverage~=7.0", + "pytest~=8.0", + "pylint~=3.0", + "pytest-random-order~=1.1", +] + +[project.scripts] + +[project.urls] +"Bug Tracker" = "https://gitlab.psi.ch/bec/slurm_manager/issues" +Homepage = "https://gitlab.psi.ch/bec/slurm_manager" +changelog = "https://gitlab.psi.ch/bec/slurm_manager/blob/main/CHANGELOG.md" + +[tool.hatch.build.targets.wheel] +include = ["*"] + +[tool.isort] +profile = "black" +line_length = 100 +multi_line_output = 3 +include_trailing_comma = true + +[tool.black] +line-length = 100 +skip-magic-trailing-comma = true + +[tool.pylint.basic] +# Good variable names regexes, separated by a comma. If names match any regex, +# they will always be accepted +good-names-rgxs = [ + ".*scanID.*", + ".*RID.*", + ".*pointID.*", + ".*ID.*", + ".*_2D.*", + ".*_1D.*", +] + +[tool.semantic_release] +build_command = "python -m build" +version_toml = ["pyproject.toml:project.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 + +[tool.semantic_release.remote] +name = "origin" +type = "github" +ignore_token_for_push = true + +[tool.semantic_release.remote.token] +env = "GH_TOKEN" + +[tool.semantic_release.publish] +dist_glob_patterns = ["dist/*"] +upload_to_vcs_release = true + +[tool.coverage.report] +skip_empty = true # exclude empty *files*, e.g. __init__.py, from the report +exclude_lines = [ + "pragma: no cover", + "if TYPE_CHECKING:", + "return NotImplemented", + "raise NotImplementedError", + "\\.\\.\\.", + 'if __name__ == "__main__":', +] diff --git a/slurm_manager/__init__.py b/slurm_manager/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/slurm_manager/job_submission/__init__.py b/slurm_manager/job_submission/__init__.py new file mode 100644 index 0000000..e69de29