1- [build-system ]
2- requires = [" setuptools>=45" , " wheel" , " setuptools_scm[toml]>=6.0" ]
3- build-backend = " setuptools.build_meta"
4-
51[project ]
62name = " pytask_julia"
73description = " A Pytask plugin for Julia"
@@ -10,13 +6,10 @@ classifiers = [
106 " License :: OSI Approved :: MIT License" ,
117 " Operating System :: OS Independent" ,
128 " Programming Language :: Python :: 3" ,
13- " Programming Language :: Python :: 3 :: Only"
9+ " Programming Language :: Python :: 3 :: Only" ,
1410]
1511requires-python = " >=3.8"
16- dependencies = [
17- " pluggy>=1.0.0" ,
18- " pytask>=0.4.5"
19- ]
12+ dependencies = [" click" , " pluggy>=1.0.0" , " pytask>=0.4.5" ]
2013dynamic = [" version" ]
2114
2215[[project .authors ]]
@@ -37,27 +30,35 @@ Documentation = "https://github.com/pytask-dev/pytask-julia"
3730Github = " https://github.com/pytask-dev/pytask-julia"
3831Tracker = " https://github.com/pytask-dev/pytask-julia/issues"
3932
40- [tool .setuptools ]
41- include-package-data = true
42- zip-safe = false
43- platforms = [" any" ]
44- license-files = [" LICENSE" ]
45-
46- [tool .check-manifest ]
47- ignore = [" src/pytask_julia/_version.py" ]
48-
4933[project .entry-points .pytask ]
5034pytask_julia = " pytask_julia.plugin"
5135
52- [tool .setuptools .package-dir ]
53- "" = " src"
36+ [project .optional-dependencies ]
37+ test = [" pytask-parallel" , " pytest" , " pytest-cov" , " pytest-xdist" , " pyyaml" ]
38+
39+ [tool .rye ]
40+ managed = true
5441
55- [tool .setuptools .packages .find ]
56- where = [" src" ]
57- namespaces = false
42+ [build-system ]
43+ requires = [" hatchling" , " hatch-vcs" ]
44+ build-backend = " hatchling.build"
45+
46+ [tool .hatch .build .hooks .vcs ]
47+ version-file = " src/pytask_julia/_version.py"
48+
49+ [tool .hatch .build .targets .sdist ]
50+ exclude = [" tests" ]
51+ only-packages = true
5852
59- [tool .setuptools_scm ]
60- write_to = " src/pytask_julia/_version.py"
53+ [tool .hatch .build .targets .wheel ]
54+ exclude = [" tests" ]
55+ only-packages = true
56+
57+ [tool .hatch .version ]
58+ source = " vcs"
59+
60+ [tool .hatch .metadata ]
61+ allow-direct-references = true
6162
6263[tool .mypy ]
6364files = [" src" , " tests" ]
@@ -81,9 +82,9 @@ unsafe-fixes = true
8182
8283[tool .ruff .lint ]
8384extend-ignore = [
84- " ANN401" , # flake8-annotate typing.Any
85- " COM812" , # Comply with ruff-format.
86- " ISC001" , # Comply with ruff-format.
85+ " ANN401" , # flake8-annotate typing.Any
86+ " COM812" , # Comply with ruff-format.
87+ " ISC001" , # Comply with ruff-format.
8788]
8889select = [" ALL" ]
8990
@@ -97,12 +98,48 @@ force-single-line = true
9798convention = " numpy"
9899
99100[tool .pytest .ini_options ]
100- # Do not add src since it messes with the loading of pytask-parallel as a plugin.
101- testpaths = [" tests" ]
101+ testpaths = [" src" , " tests" ]
102102markers = [
103103 " wip: Tests that are work-in-progress." ,
104104 " unit: Flag for unit tests which target mainly a single function." ,
105105 " integration: Flag for integration tests which may comprise of multiple unit tests." ,
106106 " end_to_end: Flag for tests that cover the whole program." ,
107107]
108108norecursedirs = [" .idea" , " .tox" ]
109+
110+ [tool .pixi .project ]
111+ channels = [" conda-forge" ]
112+ platforms = [" win-64" , " linux-64" , " osx-64" , " osx-arm64" ]
113+
114+ [tool .pixi .pypi-dependencies ]
115+ pytask_julia = { path = " ." , editable = true }
116+
117+ [tool .pixi .environments ]
118+ default = { solve-group = " default" }
119+ test = { features = [" test" ], solve-group = " default" }
120+ py38 = { features = [" py38" , " test" ]}
121+ py39 = { features = [" py39" , " test" ]}
122+ py310 = { features = [" py310" , " test" ]}
123+ py311 = { features = [" py311" , " test" ]}
124+ py312 = { features = [" py312" , " test" ]}
125+
126+ [tool .pixi .feature .py38 .dependencies ]
127+ python = " 3.8.*"
128+ [tool .pixi .feature .py39 .dependencies ]
129+ python = " 3.9.*"
130+ [tool .pixi .feature .py310 .dependencies ]
131+ python = " 3.10.*"
132+ [tool .pixi .feature .py311 .dependencies ]
133+ python = " 3.11.*"
134+ [tool .pixi .feature .py312 .dependencies ]
135+ python = " 3.12.*"
136+
137+ [tool .pixi .feature .test .target .linux-64 .dependencies ]
138+ julia = " >=1.0.0"
139+
140+ [tool .pixi .feature .test .target .osx-64 .dependencies ]
141+ julia = " >=1.0.0"
142+
143+ [tool .pixi .feature .test .tasks ]
144+ setup-julia = " julia --project=. --eval 'import Pkg; Pkg.instantiate()'"
145+ test = { cmd = " pytest --cov src --cov tests" , depends_on = [" setup-julia" ] }
0 commit comments