From 5b19299aac6cacee8bd2d937697fb73a2048671b Mon Sep 17 00:00:00 2001 From: Jerome Kelleher Date: Tue, 3 Mar 2026 13:19:21 +0000 Subject: [PATCH 1/6] Tighten up requirements --- pyproject.toml | 7 +----- uv.lock | 65 +++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 52 insertions(+), 20 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 73480bf..a173c75 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -65,9 +65,6 @@ Documentation = "https://tskit.dev/tstrait/docs/" [dependency-groups] test = [ "msprime", - "numba", - "pandas", - "tskit", "pytest", "pytest-cov", "pytest-xdist", @@ -78,11 +75,9 @@ docs = [ "jupyter-book<2", "matplotlib", "msprime", - "numba", "numpydoc", "pandas", "sphinx-issues", - "tskit", ] lint = [ @@ -104,6 +99,7 @@ dev = [ verification = [ "matplotlib", + "stdpopsim", "numpy", "pandas", "scipy", @@ -156,4 +152,3 @@ known-third-party = [ "numpy", "pytest", ] - diff --git a/uv.lock b/uv.lock index 5ed700e..1033ab7 100644 --- a/uv.lock +++ b/uv.lock @@ -27,6 +27,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511, upload-time = "2024-01-10T00:56:08.388Z" }, ] +[[package]] +name = "appdirs" +version = "1.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/d8/05696357e0311f5b5c316d7b95f46c669dd9c15aaeecbb48c7d0aeb88c40/appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", size = 13470, upload-time = "2020-05-11T07:59:51.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", size = 9566, upload-time = "2020-05-11T07:59:49.499Z" }, +] + [[package]] name = "appnope" version = "0.1.4" @@ -704,6 +713,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/29/4b/45d90626aef8e65336bed690106d1382f7a43665e2249017e9527df8823b/greenlet-3.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c04c5e06ec3e022cbfe2cd4a846e1d4e50087444f875ff6d2c2ad8445495cf1a", size = 237086, upload-time = "2026-02-20T20:20:45.786Z" }, ] +[[package]] +name = "humanize" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/66/a3921783d54be8a6870ac4ccffcd15c4dc0dd7fcce51c6d63b8c63935276/humanize-4.15.0.tar.gz", hash = "sha256:1dd098483eb1c7ee8e32eb2e99ad1910baefa4b75c3aff3a82f4d78688993b10", size = 83599, upload-time = "2025-12-20T20:16:13.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/7b/bca5613a0c3b542420cf92bd5e5fb8ebd5435ce1011a091f66bb7693285e/humanize-4.15.0-py3-none-any.whl", hash = "sha256:b1186eb9f5a9749cd9cb8565aee77919dd7c8d076161cf44d70e59e3301e1769", size = 132203, upload-time = "2025-12-20T20:16:11.67Z" }, +] + [[package]] name = "id" version = "1.6.1" @@ -1908,6 +1926,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, ] +[[package]] +name = "pyslim" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "msprime" }, + { name = "numpy" }, + { name = "tskit" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/1f/0d278036af7464b91771925524b04dc86b8b5cd0898c685aa29bb761deb3/pyslim-1.1.0.tar.gz", hash = "sha256:4f4112d1aec1e324c850c5d0803122223c4525f64d980edeb93a5aec99abc905", size = 2026204, upload-time = "2025-08-16T10:01:28.651Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/80/7c97b08fddc251b10864a8f7e97334fc1df40bc568eda1fb4f1e4c4c380a/pyslim-1.1.0-py3-none-any.whl", hash = "sha256:28bb7c1d16a4f3d6037b19f08944888396a5c37cb8913f53bd5f7a7d4152b948", size = 72544, upload-time = "2025-08-16T10:01:24.551Z" }, +] + [[package]] name = "pytest" version = "8.4.2" @@ -2762,6 +2794,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/26/33/f1652d0c59fa51de18492ee2345b65372550501ad061daa38f950be390b6/statsmodels-0.14.6-cp314-cp314-win_amd64.whl", hash = "sha256:151b73e29f01fe619dbce7f66d61a356e9d1fe5e906529b78807df9189c37721", size = 9588010, upload-time = "2025-12-05T23:14:07.28Z" }, ] +[[package]] +name = "stdpopsim" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appdirs" }, + { name = "attrs" }, + { name = "humanize" }, + { name = "msprime" }, + { name = "numpy" }, + { name = "pyslim" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/44/08/c52c12a068460261efff9940a04068a68541533551904a4ed31d14d108a7/stdpopsim-0.3.0.tar.gz", hash = "sha256:fa9b6d55bfebd7bd5a0e224bf21cad2ff102da8a08a51bcad1136219622c7144", size = 471603, upload-time = "2025-03-19T02:48:20.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/04/80c8f180babb0a3f664b59488590c87b25e42da3dd666126833d9baec3a7/stdpopsim-0.3.0-py3-none-any.whl", hash = "sha256:4ad3b64bb6baccb4ef761ece740d6bc0399ac070ed40dad9eefa4e26e1f972f8", size = 244631, upload-time = "2025-03-19T02:48:17.931Z" }, +] + [[package]] name = "tabulate" version = "0.9.0" @@ -2913,7 +2962,6 @@ dev = [ { name = "jupyter-book" }, { name = "matplotlib" }, { name = "msprime" }, - { name = "numba" }, { name = "numpydoc" }, { name = "pandas" }, { name = "prek" }, @@ -2923,7 +2971,6 @@ dev = [ { name = "ruff" }, { name = "scipy" }, { name = "sphinx-issues" }, - { name = "tskit" }, { name = "twine" }, { name = "validate-pyproject", extra = ["all"] }, ] @@ -2931,11 +2978,9 @@ docs = [ { name = "jupyter-book" }, { name = "matplotlib" }, { name = "msprime" }, - { name = "numba" }, { name = "numpydoc" }, { name = "pandas" }, { name = "sphinx-issues" }, - { name = "tskit" }, ] lint = [ { name = "prek" }, @@ -2947,13 +2992,10 @@ packaging = [ ] test = [ { name = "msprime" }, - { name = "numba" }, - { name = "pandas" }, { name = "pytest" }, { name = "pytest-cov" }, { name = "pytest-xdist" }, { name = "scipy" }, - { name = "tskit" }, ] verification = [ { name = "argparse" }, @@ -2965,6 +3007,7 @@ verification = [ { name = "scipy" }, { name = "seaborn" }, { name = "statsmodels" }, + { name = "stdpopsim" }, { name = "tqdm" }, ] @@ -2981,7 +3024,6 @@ dev = [ { name = "jupyter-book", specifier = "<2" }, { name = "matplotlib" }, { name = "msprime" }, - { name = "numba" }, { name = "numpydoc" }, { name = "pandas" }, { name = "prek", specifier = "==0.3.3" }, @@ -2991,7 +3033,6 @@ dev = [ { name = "ruff", specifier = "==0.15.1" }, { name = "scipy" }, { name = "sphinx-issues" }, - { name = "tskit" }, { name = "twine" }, { name = "validate-pyproject", extras = ["all"] }, ] @@ -2999,11 +3040,9 @@ docs = [ { name = "jupyter-book", specifier = "<2" }, { name = "matplotlib" }, { name = "msprime" }, - { name = "numba" }, { name = "numpydoc" }, { name = "pandas" }, { name = "sphinx-issues" }, - { name = "tskit" }, ] lint = [ { name = "prek", specifier = "==0.3.3" }, @@ -3015,13 +3054,10 @@ packaging = [ ] test = [ { name = "msprime" }, - { name = "numba" }, - { name = "pandas" }, { name = "pytest" }, { name = "pytest-cov" }, { name = "pytest-xdist" }, { name = "scipy" }, - { name = "tskit" }, ] verification = [ { name = "argparse" }, @@ -3033,6 +3069,7 @@ verification = [ { name = "scipy" }, { name = "seaborn" }, { name = "statsmodels" }, + { name = "stdpopsim" }, { name = "tqdm" }, ] From 6c6fb399a1ac6ab69d4a0dc68e3c5a788fc9874a Mon Sep 17 00:00:00 2001 From: Jerome Kelleher Date: Tue, 3 Mar 2026 13:21:01 +0000 Subject: [PATCH 2/6] Remove redundant files --- .codecov.yaml | 13 ------------- .flake8 | 7 ------- 2 files changed, 20 deletions(-) delete mode 100644 .codecov.yaml delete mode 100644 .flake8 diff --git a/.codecov.yaml b/.codecov.yaml deleted file mode 100644 index 75c8342..0000000 --- a/.codecov.yaml +++ /dev/null @@ -1,13 +0,0 @@ -coverage: - status: - project: - python: - target: 95% - flags: - - python - - patch: - python: - target: 90% - flags: - - python \ No newline at end of file diff --git a/.flake8 b/.flake8 deleted file mode 100644 index e533d06..0000000 --- a/.flake8 +++ /dev/null @@ -1,7 +0,0 @@ -[flake8] -# Based directly on Black's recommendations: -# https://black.readthedocs.io/en/stable/the_black_code_style.html#line-length -max-line-length = 81 -select = A,C,E,F,W,B,B950 -#B305 doesn't like `.next()` that is a key Tree method. -ignore = E203, E501, W503, B305 From a25f60e9fe8b26c1eb0456a88d8c533e5c413950 Mon Sep 17 00:00:00 2001 From: Jerome Kelleher Date: Tue, 3 Mar 2026 13:21:31 +0000 Subject: [PATCH 3/6] Test on python 3.14 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #176  --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d706f2c..dceef65 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,5 +21,5 @@ jobs: secrets: inherit strategy: matrix: - python: ["3.11", "3.13"] + python: ["3.11", "3.14"] os: [macos-latest, ubuntu-24.04, windows-latest] From 3151a952c2673c1b8334c707eff50601229258bf Mon Sep 17 00:00:00 2001 From: Jerome Kelleher Date: Tue, 3 Mar 2026 13:23:27 +0000 Subject: [PATCH 4/6] Update changelog for 0.1.2 --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b09bb9..629ed96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # Changelog -## [0.1.2] - 2026-XX-XX -Unreleased +## [0.1.2] - 2026-03-03 + +Maintenance release - Upgrade supported Python versions to 3.11 -> 3.14 From f65f442106eee8e4d30eece8a81a510cb19da9bd Mon Sep 17 00:00:00 2001 From: Jerome Kelleher Date: Tue, 3 Mar 2026 13:25:08 +0000 Subject: [PATCH 5/6] Drop unused pyslim docs dep --- docs/_config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/_config.yml b/docs/_config.yml index 5308bfd..c37bf57 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -23,7 +23,7 @@ html: use_repository_button: true use_edit_page_button: true - + sphinx: extra_extensions: - sphinx_copybutton @@ -55,7 +55,6 @@ sphinx: matplotlib: ["https://matplotlib.org/stable", null] numpy: ["https://numpy.org/doc/stable/", null] pandas: ["https://pandas.pydata.org/pandas-docs/stable", null] - pyslim: ["https://tskit.dev/pyslim/docs/latest/", null] tskit: ["https://tskit.dev/tskit/docs/stable/", null] tskit-tutorials: ["https://tskit.dev/tutorials/", null] msprime: ["https://tskit.dev/msprime/docs/stable/", null] From 5eea1ab0008b8c1aff7fd7336f218e3ff8b36554 Mon Sep 17 00:00:00 2001 From: Jerome Kelleher Date: Tue, 3 Mar 2026 13:27:17 +0000 Subject: [PATCH 6/6] Revert to python 3.13 for tests Bump actions versions --- .github/workflows/lint.yml | 2 +- .github/workflows/tests.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5bfbe56..c1a59cd 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -5,4 +5,4 @@ on: jobs: Lint: - uses: tskit-dev/.github/.github/workflows/lint.yml@v12 + uses: tskit-dev/.github/.github/workflows/lint.yml@v13 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index dceef65..8228707 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,11 +9,11 @@ on: jobs: packaging: name: Python packaging - uses: tskit-dev/.github/.github/workflows/python-packaging.yml@v12 + uses: tskit-dev/.github/.github/workflows/python-packaging.yml@v13 test: name: Python - uses: tskit-dev/.github/.github/workflows/python-tests.yml@v12 + uses: tskit-dev/.github/.github/workflows/python-tests.yml@v13 with: os: ${{ matrix.os }} python-version: ${{ matrix.python }} @@ -21,5 +21,5 @@ jobs: secrets: inherit strategy: matrix: - python: ["3.11", "3.14"] + python: ["3.11", "3.13"] os: [macos-latest, ubuntu-24.04, windows-latest]