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
4 changes: 2 additions & 2 deletions .github/workflows/ci_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ jobs:
if: matrix.platform == 'ubuntu-latest'

- name: Fetch BNGL test corpus
run: uv run python tests/v1/fetch_bngl_corpus.py
run: uv run --no-project python -P tests/v1/fetch_bngl_corpus.py

- name: Unit tests
run: |
uv sync --group ci
uv sync --no-default-groups --group test
uv pip list
uv run pytest --cov=petab --cov-report=xml --cov-append --durations=10 tests

Expand Down
17 changes: 9 additions & 8 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,12 @@ build:
os: "ubuntu-24.04"
tools:
python: "3.12"

python:
install:
- method: pip
path: .
extra_requirements:
- doc
- vis
jobs:
pre_create_environment:
- asdf plugin add uv
- asdf install uv latest
- asdf global uv latest
create_environment:
- uv venv "${READTHEDOCS_VIRTUALENV_PATH}"
install:
- UV_PROJECT_ENVIRONMENT="${READTHEDOCS_VIRTUALENV_PATH}" uv sync --no-default-groups --group doc
2 changes: 1 addition & 1 deletion doc/development.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ To build the documentation, run:

.. code-block:: bash

uv sync --extra doc --extra vis
uv sync --group doc
cd doc
make html
# then open `build/html/index.html` in a browser
63 changes: 33 additions & 30 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,48 +33,26 @@ maintainers = [
]

[project.optional-dependencies]
tests = [
"antimony>=3.1.0",
"copasi-basico>=0.85",
"petab_sciml",
"pysb",
"pytest",
"pytest-cov",
"scipy",
]
quality = [
"pre-commit",
]
reports = [
# https://github.com/spatialaudio/nbsphinx/issues/641
"Jinja2==3.1.6",
]
antimony = [
"antimony>=2.14.0",
]
combine = [
"python-libcombine>=0.2.6",
]
doc = [
"sphinx>=3.5.3, !=5.1.0",
"sphinxcontrib-napoleon>=0.7",
"sphinx-markdown-tables>=0.0.15",
"sphinx-rtd-theme>=0.5.1",
"m2r2",
"myst-nb>=0.14.0",
# https://github.com/spatialaudio/nbsphinx/issues/687#issuecomment-1339271312
"ipython>=7.21.0, !=8.7.0",
"pysb",
"antimony>=2.14.0",
]
vis = [
"matplotlib>=3.6.0",
"seaborn",
"scipy"
]
reports = [
"Jinja2",
]
sciml = [
"petab_sciml",
]
all = [
"petab[antimony,combine,reports,sciml,vis]",
]

[project.scripts]
petablint = "petab.petablint:main"
Expand All @@ -85,19 +63,44 @@ Repository = "https://github.com/PEtab-dev/libpetab-python"
Documentation = "https://petab.readthedocs.io/projects/libpetab-python/"

[dependency-groups]
ci = [
"petab[tests,reports,combine,vis]",
test = [
"petab[all]",
"antimony>=3.1.0",
"copasi-basico>=0.85",
"pysb",
"pytest",
"pytest-cov",
"scipy",
"petabtests @ git+https://github.com/PEtab-dev/petab_test_suite@main",
"benchmark_models_petab @ git+https://github.com/Benchmarking-Initiative/Benchmark-Models-PEtab.git@master#subdirectory=src/python",
]
doc = [
"petab[antimony,vis]",
"sphinx>=3.5.3, !=5.1.0",
"sphinx-markdown-tables>=0.0.15",
"sphinx-rtd-theme>=0.5.1",
"m2r2",
"myst-nb>=0.14.0",
# https://github.com/spatialaudio/nbsphinx/issues/687#issuecomment-1339271312
"ipython>=7.21.0, !=8.7.0",
"pysb",
]
dev = [
{include-group = "test"},
"pre-commit",
]

[tool.uv]
default-groups = ["dev"]
# pysb<1.17 fails to build: its legacy `ez_setup.py` bootstrap downloads
# setuptools from a defunct pypi.python.org URL.
constraint-dependencies = ["pysb>=1.17.0"]
# pysb pins an older sympy than we need; force a newer one.
override-dependencies = ["sympy>=1.12.1"]

[tool.uv.sources]
pysb = { git = "https://github.com/pysb/pysb", branch = "master" }

[tool.setuptools.packages.find]
include = ["petab", "petab.*"]
namespaces = false
Expand Down
Loading