1- [tool .poetry ]
2- authors = [
" Johannes Köster <[email protected] >" ]
3- description = " This package provides a stable interface for interactions between Snakemake and its executor plugins."
4- license = " MIT"
1+ [project ]
52name = " snakemake-interface-executor-plugins"
6- packages = [{include = " snakemake_interface_executor_plugins" }]
7- readme = " README.md"
83version = " 9.3.3"
9-
10- [tool .poetry .dependencies ]
11- argparse-dataclass = " ^2.0.0"
12- python = " ^3.11"
13- throttler = " ^1.2.2"
14- snakemake-interface-common = " ^1.17.4"
15-
16- [tool .poetry .dev-dependencies ]
17- black = " ^24.0.0"
18- coverage = {extras = [" toml" ], version = " ^6.3.1" }
19- flake8 = " ^4.0.1"
20- flake8-bugbear = " ^22.1.11"
21- pytest = " ^7.0"
22- snakemake = {git =" https://github.com/snakemake/snakemake.git" }
23- snakemake-executor-plugin-cluster-generic = {git = " https://github.com/snakemake/snakemake-executor-plugin-cluster-generic.git" }
4+ description = " This package provides a stable interface for interactions between Snakemake and its executor plugins."
5+ authors = [{
name =
" Johannes Köster" ,
email =
" [email protected] " }]
6+ license = { text = " MIT" }
7+ readme = " README.md"
8+ requires-python = " >=3.11"
9+ dependencies = [
10+ " snakemake-interface-common>=1.17.4" ,
11+ " throttler>=1.2.2" ,
12+ " argparse-dataclass>=2.0.0" ,
13+ ]
2414
2515[tool .coverage .run ]
2616omit = [" .*" , " */site-packages/*" ]
@@ -31,3 +21,57 @@ fail_under = 63
3121[build-system ]
3222build-backend = " poetry.core.masonry.api"
3323requires = [" poetry-core" ]
24+
25+ [tool .pixi .project ]
26+ channels = [" conda-forge" ]
27+ platforms = [" osx-arm64" , " linux-64" ]
28+
29+ [tool .pixi .pypi-dependencies ]
30+
31+ [tool .pixi .tasks ]
32+
33+ [tool .pixi .environments ]
34+ dev = { features = [" dev" ] }
35+ publish = { features = [" publish" ] }
36+
37+ [tool .pixi .feature .dev .pypi-dependencies ]
38+ snakemake-interface-executor-plugins = { path = " ." , editable = true }
39+ snakemake = { git = " https://github.com/snakemake/snakemake.git" }
40+ snakemake-executor-plugin-cluster-generic = { git = " https://github.com/snakemake/snakemake-executor-plugin-cluster-generic.git" }
41+
42+ [tool .pixi .feature .dev .tasks .test ]
43+ cmd = [
44+ " pytest" ,
45+ " --cov=snakemake_interface_executor_plugins" ,
46+ " --cov-report=xml:coverage-report/coverage.xml" ,
47+ " --cov-report=term-missing" ,
48+ " tests/tests.py"
49+ ]
50+ description = " Run tests and generate coverage report"
51+
52+
53+ [tool .pixi .feature .dev .dependencies ]
54+ pytest = " >=8.3.5,<9"
55+ ruff = " >=0.10.0,<0.11"
56+ mypy = " >=1.15.0,<2"
57+ pytest-cov = " >=6.0.0,<7"
58+
59+ [tool .pixi .feature .dev .tasks ]
60+ format = " ruff format snakemake_interface_executor_plugins"
61+ lint = " ruff check"
62+ type-check = " mypy snakemake_interface_executor_plugins/"
63+ qc = { depends-on = [" format" , " lint" , " type-check" ] }
64+
65+ [tool .mypy ]
66+ ignore_missing_imports = true
67+
68+ # Publish
69+ [tool .pixi .feature .publish .dependencies ]
70+ twine = " >=6.1.0,<7"
71+ python-build = " >=1.2.2,<2"
72+
73+ [tool .pixi .feature .publish .tasks ]
74+ build = { cmd = " python -m build" , description = " Build the package into the dist/ directory" }
75+ check-build = { cmd = " python -m twine check dist/*" , depends-on = [
76+ " build" ,
77+ ], description = " Check that the package can be uploaded" }
0 commit comments