Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
/usr/share/miniconda/envs/anaconda-client-env
~/osx-conda
~/.profile
key: conda-v${{ env.CACHE_NUM }}-${{ hashFiles('requirements/CI-docs/requirements.txt') }}
key: conda-v${{ env.CACHE_NUM }}-${{ hashFiles('pyproject.toml') }}

- name: Install Conda
uses: conda-incubator/[email protected]
Expand All @@ -54,11 +54,14 @@ jobs:
run: |
conda install --yes slim

- name: Install pip deps
- name: Install uv and pip deps
if: steps.cache.outputs.cache-hit != 'true'
shell: bash -l {0}
run: |
pip install -r requirements/CI-docs/requirements.txt
pip install uv
uv pip install --system -r pyproject.toml --extra docs
# Install current pyslim as editable to ensure we get the latest version
uv pip install --system -e .

# # Retaining commented block for next devel cycle
# - name: Build SLiM
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ jobs:
uses: mamba-org/[email protected]
with:
environment-name: anaconda-client-env
environment-file: requirements/CI-conda/ci-environment.yml
cache-environment: true
create-args: |
python=${{ matrix.python }}
Expand Down Expand Up @@ -92,6 +91,12 @@ jobs:
cmake -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make -j 2

- name: Install uv and dependencies
shell: bash -l {0}
run: |
pip install uv
uv pip install --system -r pyproject.toml --extra test

- name: Install SLiM macos / linux
if: (matrix.os == 'macos-latest' || matrix.os == 'ubuntu-24.04')
run: |
Expand Down
4 changes: 2 additions & 2 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ To install a particular version of ``pyslim`` from source, e.g., to obtain a rec
```bash
git clone https://github.com/tskit-dev/pyslim.git
cd pyslim
python setup.py install --user
python -m pip install -e ".[dev]"
```


Expand All @@ -48,7 +48,7 @@ git clone [email protected]:YOUR_GITHUB/pyslim.git
```

- Install the development requirements using
``python3 -m pip install -r requirements/development.txt``.
``python3 -m pip install -e ".[dev]"``.
- Run the tests to ensure everything has worked: ``python3 -m pytest tests``. These should
all pass.
- Make your changes in a local branch, and open a pull request on GitHub when you
Expand Down
91 changes: 91 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"

[project]
name = "pyslim"
dynamic = ["version"]
description = "Manipulate tree sequences produced by SLiM."
readme = "README.md"
license = {text = "MIT"}
authors = [
{name = "Peter Ralph", email = "[email protected]"},
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Bio-Informatics",
]
keywords = ["tree sequences", "tskit"]
requires-python = ">=3.9"
dependencies = [
"msprime>=1.0.1",
"tskit",
"numpy",
]

[project.urls]
homepage = "https://github.com/tskit-dev/pyslim"
repository = "https://github.com/tskit-dev/pyslim"
"Bug Reports" = "https://github.com/tskit-dev/pyslim/issues"

[tool.setuptools]
packages = ["pyslim"]
include-package-data = true

[tool.setuptools.dynamic]
version = {attr = "pyslim._version.pyslim_version"}

[project.optional-dependencies]
test = [
"flake8==7.1.2",
"pytest==8.3.5",
"pytest-cov==6.1.1",
"pytest-xdist==3.6.1",
"filelock==3.19.1",
"tskit==0.6.4",
"msprime>=1.2.0",
"matplotlib==3.9.4",
"pandas==2.3.2",
]

docs = [
"jupyter-book==1.0.4.post1",
"matplotlib==3.10.3",
"msprime==1.3.4",
"pandas==2.2.3",
"PyGithub==2.6.1",
"setuptools-scm==8.2.1",
"sphinx-argparse==0.5.2",
"sphinx-issues==5.0.0",
"tskit==0.6.3",
]

dev = [
"flake8>=7.0",
"pytest>=8.0",
"pytest-cov>=6.0",
"pytest-xdist>=3.0",
"numpy",
"filelock",
"tskit>=0.6.3",
"msprime>=1.2.0",
"matplotlib>=3.0",
"pandas>=2.0",
"jupyter-book>=1.0",
"setuptools-scm>=8.0",
"sphinx-argparse>=0.5",
"sphinx-issues>=5.0",
]
15 changes: 0 additions & 15 deletions requirements/CI-conda/ci-environment.yml

This file was deleted.

3 changes: 0 additions & 3 deletions requirements/CI-conda/requirements.txt

This file was deleted.

9 changes: 0 additions & 9 deletions requirements/CI-docs/requirements.txt

This file was deleted.

6 changes: 0 additions & 6 deletions requirements/CI-pip/requirements.txt

This file was deleted.

4 changes: 0 additions & 4 deletions requirements/conda-minimal.txt

This file was deleted.

45 changes: 0 additions & 45 deletions setup.py

This file was deleted.

Loading