|
1 | | -[tool.poetry] |
2 | | -authors = ["Johannes Köster <johannes.koester@uni-due.de>"] |
| 1 | +[project] |
| 2 | +authors = [ |
| 3 | + { name = "Johannes Köster", email = "johannes.koester@uni-due.de" } |
| 4 | +] |
3 | 5 | description = "This package provides a stable interface for interactions between Snakemake and its software deployment plugins." |
4 | 6 | license = "MIT" |
5 | 7 | name = "snakemake-interface-software-deployment-plugins" |
6 | | -packages = [{include = "snakemake_interface_software_deployment_plugins"}] |
7 | 8 | readme = "README.md" |
8 | 9 | version = "0.9.0" |
| 10 | +requires-python = ">=3.11,<4.0" |
| 11 | +dependencies = [ |
| 12 | + "argparse-dataclass >=2.0.0,<3.0", |
| 13 | + "snakemake-interface-common >=1.17.4,<2.0.0" |
| 14 | +] |
9 | 15 |
|
10 | | -[tool.poetry.dependencies] |
11 | | -argparse-dataclass = "^2.0.0" |
12 | | -python = "^3.11" |
13 | | -snakemake-interface-common = "^1.17.4" |
| 16 | +[project.urls] |
| 17 | +repository = "https://github.com/snakemake/snakemake-interface-software-deployment-plugins" |
14 | 18 |
|
15 | | -[tool.poetry.group.dev.dependencies] |
16 | | -coverage = {extras = ["toml"], version = "^6.3.1"} |
17 | | -flake8-bugbear = "^22.1.11" |
18 | | -pytest = "^7.0" |
19 | | -ruff = "^0.9.9" |
20 | | -snakemake-software-deployment-plugin-envmodules = "^0.1.2" |
| 19 | +[build-system] |
| 20 | +requires = ["hatchling"] |
| 21 | +build-backend = "hatchling.build" |
| 22 | + |
| 23 | +[tool.pixi.pypi-dependencies] |
| 24 | +snakemake-interface-software-deployment-plugins = { path = ".", editable = true } |
| 25 | + |
| 26 | +[tool.pixi.workspace] |
| 27 | +channels = ["conda-forge"] |
| 28 | +platforms = ["osx-arm64", "linux-64"] |
| 29 | + |
| 30 | +[tool.pixi.environments] |
| 31 | +dev = { features = ["dev"] } |
| 32 | +publish = { features = ["publish"] } |
| 33 | + |
| 34 | +[tool.pixi.feature.dev.dependencies] |
| 35 | +pytest = ">=8.3.5,<9" |
| 36 | +ruff = ">=0.10.0,<0.11" |
| 37 | +pytest-cov = ">=6.0.0,<7" |
| 38 | +pyrefly = ">=0.52.0,<0.53" |
21 | 39 |
|
22 | | -[tool.coverage.run] |
23 | | -omit = [".*", "*/site-packages/*"] |
| 40 | +[tool.pixi.feature.dev.pypi-dependencies] |
| 41 | +snakemake-software-deployment-plugin-envmodules = ">=0.1.2,<1.0" |
| 42 | + |
| 43 | +[tool.pixi.feature.dev.tasks] |
| 44 | +format = "ruff format" |
| 45 | +lint = "ruff check" |
| 46 | +typecheck = "pyrefly check" |
| 47 | +qc = { depends-on = ["format", "lint"] } |
| 48 | +coverage-report = "coverage report -m" |
| 49 | + |
| 50 | +[tool.pixi.feature.dev.tasks.test] |
| 51 | +cmd = [ |
| 52 | + "pytest", |
| 53 | + "--cov=snakemake_software_deployment_plugin_envmodules", |
| 54 | + "--cov-report=xml:coverage-report/coverage.xml", |
| 55 | + "--cov-report=term-missing", |
| 56 | + "tests/test_interface.py", |
| 57 | +] |
24 | 58 |
|
25 | 59 | [tool.coverage.report] |
26 | | -fail_under = 60 |
| 60 | +exclude_lines = ["pass", "\\.\\.\\."] |
| 61 | +fail_under = 63.0 |
27 | 62 |
|
28 | | -[build-system] |
29 | | -build-backend = "poetry.core.masonry.api" |
30 | | -requires = ["poetry-core"] |
| 63 | +[tool.pixi.feature.publish.dependencies] |
| 64 | +twine = ">=6.1.0,<7" |
| 65 | +python-build = ">=1.2.2,<2" |
| 66 | + |
| 67 | + |
| 68 | +[tool.pixi.feature.publish.tasks] |
| 69 | +build = { cmd = "python -m build", description = "Build the package into the dist/ directory" } |
| 70 | +check-build = { cmd = "python -m twine check dist/*", depends-on = [ |
| 71 | + "build", |
| 72 | +], description = "Check that the package can be uploaded" } |
0 commit comments