|
1 | 1 | [build-system] |
2 | 2 | # We need setup.cfg support, which setuptools indtroduced in 30.3.0. |
3 | 3 | requires = [ |
4 | | - "scikit-build-core>=0.3.3", |
5 | | - "setuptools_scm>=8", |
| 4 | + "scikit-build-core==0.11.1", |
| 5 | + "setuptools_scm==7.1.0", |
6 | 6 | "pybind11[global]==2.12.0", |
7 | 7 | "numpy >= 2.0" |
8 | 8 | ] |
@@ -31,6 +31,49 @@ dependencies = [ |
31 | 31 | ] |
32 | 32 | requires-python = ">=3.10, <3.14" |
33 | 33 |
|
| 34 | +[dependency-groups] |
| 35 | +# NOTE: we are doing a very odd hack here! |
| 36 | +# uv does NOT currently support locking build dependencies |
| 37 | +# so we add it as a dependency group and force it. |
| 38 | +# The PROBLEM is that we have TWO places to modify |
| 39 | +# things in the future. |
| 40 | +build = [ |
| 41 | + "scikit-build-core==0.11.1", |
| 42 | + "setuptools_scm==7.1.0", |
| 43 | + "pybind11[global]==2.12.0", |
| 44 | + "numpy >= 2.0" |
| 45 | +] |
| 46 | +format = [ |
| 47 | + "black==24.10.0" |
| 48 | +] |
| 49 | +lint = [ |
| 50 | + "flake8", |
| 51 | + "flake8-bugbear", |
| 52 | +] |
| 53 | +dev = [ |
| 54 | +#below are for building package |
| 55 | +#and running tests |
| 56 | + "pytest", |
| 57 | + "pytest-xdist", |
| 58 | + "hypothesis==6.56.4", |
| 59 | + "msprime ~= 1.3.0", |
| 60 | + "build", |
| 61 | + "twine", |
| 62 | +] |
| 63 | + |
| 64 | +doc = [ |
| 65 | + "jupyter-book~=0.15.1", |
| 66 | + "pydata-sphinx-theme==0.13.1", |
| 67 | + "matplotlib", |
| 68 | + "msprime", |
| 69 | + "pandas", |
| 70 | +# pyarrow will be a requirement of pandas soon. |
| 71 | +# right now, not having it raises a warning |
| 72 | + "pyarrow", |
| 73 | + "sphinx-issues", |
| 74 | + "demesdraw~=0.4.0", |
| 75 | +] |
| 76 | + |
34 | 77 | [project.scripts] |
35 | 78 | fwdpy11 = "fwdpy11.__main__:main" |
36 | 79 |
|
@@ -69,3 +112,8 @@ before-all = "./deployment/linux_wheels/cibuildwheel.sh" |
69 | 112 | archs = "x86_64" |
70 | 113 | # skip = "pp* *musllinux*" |
71 | 114 |
|
| 115 | +[tool.uv] |
| 116 | +required-environments = [ |
| 117 | + "sys_platform == 'darwin' and implementation_name == 'cpython'", |
| 118 | + "sys_platform == 'linux' and implementation_name == 'cpython'", |
| 119 | +] |
0 commit comments