diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c880542..17ebbb3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,12 +15,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.10", "3.11", "3.12"] - nox-session: ["tests"] - include: - - os: ubuntu-latest - python-version: "3.10" - nox-session: "lint" + python-version: ["3.12", "3.14"] steps: - name: Checkout @@ -28,30 +23,36 @@ jobs: with: submodules: true fetch-depth: 0 - - name: Configure Python - uses: actions/setup-python@v6 + - name: Install uv + uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 with: python-version: ${{ matrix.python-version }} + enable-cache: true + - name: Run tests + run: uv run pytest -v tests + - name: Upload generated images on failure + uses: actions/upload-artifact@v7 + if: ${{ failure() }} + with: + name: images-${{ matrix.os }}-${{ matrix.python-version }} + path: ./result_images + + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Install uv + uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 - name: Cache pre-commit environments - if: ${{ matrix.nox-session == 'lint' }} uses: actions/cache@v5 with: path: ~/.cache/pre-commit key: ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }} restore-keys: | ${{ runner.os }}-pre-commit- - - name: Install nox - run: | - python -m pip install -U pip - python -m pip install -U nox - - name: Run tests - run: python -m nox --non-interactive -s ${{ matrix.nox-session }} - - name: Upload generated images on failure - uses: actions/upload-artifact@v7 - if: ${{ failure() && matrix.nox-session == 'tests' }} - with: - name: images-${{ matrix.os }}-${{ matrix.python-version }} - path: ./result_images + - name: Run pre-commit + run: uvx pre-commit run --all-files build: runs-on: ubuntu-latest @@ -59,15 +60,10 @@ jobs: - uses: actions/checkout@v6 with: fetch-depth: 0 - - uses: actions/setup-python@v6 - name: Install Python - with: - python-version: "3.10" + - name: Install uv + uses: astral-sh/setup-uv@d31148d669074a8d0a63714ba94f3201e7020bc3 # v8.3.0 - name: Build sdist and wheel - run: | - python -m pip install -U pip - python -m pip install -U build - python -m build . + run: uv build - uses: actions/upload-artifact@v7 with: path: dist/* diff --git a/.gitignore b/.gitignore index 06d01ca..b88be6c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,8 @@ _skbuild *.so .mypy_cache .tox -.nox +.venv +uv.lock .coverage .coverage* dist diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0900a4e..5d6e763 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -38,8 +38,13 @@ TODO ## How to test the project ```bash -python -m pip install nox -python -m nox +uv run pytest -v tests +``` + +You can also run the linters with: + +```bash +uvx pre-commit run --all-files ``` ## How to submit changes diff --git a/docs/install.rst b/docs/install.rst index db79a5c..06a0054 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -50,9 +50,7 @@ source directory, run: .. code-block:: bash - python -m pip install nox - python -m nox -s tests-PYTHON_VERSION + uv run pytest -v tests -Where ``PYTHON_VERSION`` is the version of Python you're using (e.g. -``3.10``) This might take a few minutes but you shouldn't get any errors -if all went as planned. +This might take a few minutes but you shouldn't get any errors if all went as +planned. diff --git a/noxfile.py b/noxfile.py deleted file mode 100644 index 8e69a11..0000000 --- a/noxfile.py +++ /dev/null @@ -1,16 +0,0 @@ -import nox - - -@nox.session -def tests(session): - session.install("-e", ".[test]") - if session.posargs: - session.run("pytest", *session.posargs) - else: - session.run("pytest", "-v", "tests") - - -@nox.session -def lint(session): - session.install("pre-commit") - session.run("pre-commit", "run", "--all-files") diff --git a/pyproject.toml b/pyproject.toml index 02fa023..f1d2729 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,6 +24,10 @@ test = ["pytest", "arviz>=0.9", "arviz-base", "scipy"] arviz = ["arviz>=0.9", "arviz-base"] docs = ["arviz>=0.9", "arviz-base", "sphinx>=1.7.5", "pandoc", "myst-nb", "sphinx-book-theme", "ipython"] +# Installed by default with `uv run`/`uv sync`, so `uv run pytest` just works. +[dependency-groups] +dev = ["pytest", "arviz>=0.9", "arviz-base", "scipy"] + [build-system] requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build" diff --git a/tests/baseline_images/test_corner/1d_fig_argument.png b/tests/baseline_images/test_corner/1d_fig_argument.png index d97d43c..ef3d310 100644 Binary files a/tests/baseline_images/test_corner/1d_fig_argument.png and b/tests/baseline_images/test_corner/1d_fig_argument.png differ diff --git a/tests/baseline_images/test_corner/arviz.png b/tests/baseline_images/test_corner/arviz.png index 43a6fbd..b3c2262 100644 Binary files a/tests/baseline_images/test_corner/arviz.png and b/tests/baseline_images/test_corner/arviz.png differ diff --git a/tests/baseline_images/test_corner/basic.png b/tests/baseline_images/test_corner/basic.png index b0d2b46..9507198 100644 Binary files a/tests/baseline_images/test_corner/basic.png and b/tests/baseline_images/test_corner/basic.png differ diff --git a/tests/baseline_images/test_corner/basic_log.png b/tests/baseline_images/test_corner/basic_log.png index ddf43d1..0aefb90 100644 Binary files a/tests/baseline_images/test_corner/basic_log.png and b/tests/baseline_images/test_corner/basic_log.png differ diff --git a/tests/baseline_images/test_corner/basic_log_x2_only.png b/tests/baseline_images/test_corner/basic_log_x2_only.png index a8a8d00..efaea7a 100644 Binary files a/tests/baseline_images/test_corner/basic_log_x2_only.png and b/tests/baseline_images/test_corner/basic_log_x2_only.png differ diff --git a/tests/baseline_images/test_corner/bins.png b/tests/baseline_images/test_corner/bins.png index 5ce226a..039eaf8 100644 Binary files a/tests/baseline_images/test_corner/bins.png and b/tests/baseline_images/test_corner/bins.png differ diff --git a/tests/baseline_images/test_corner/bins_log.png b/tests/baseline_images/test_corner/bins_log.png index 10a5bf7..201f572 100644 Binary files a/tests/baseline_images/test_corner/bins_log.png and b/tests/baseline_images/test_corner/bins_log.png differ diff --git a/tests/baseline_images/test_corner/color.png b/tests/baseline_images/test_corner/color.png index c190d49..5f8dbbc 100644 Binary files a/tests/baseline_images/test_corner/color.png and b/tests/baseline_images/test_corner/color.png differ diff --git a/tests/baseline_images/test_corner/color_filled.png b/tests/baseline_images/test_corner/color_filled.png index 56d9325..01b5530 100644 Binary files a/tests/baseline_images/test_corner/color_filled.png and b/tests/baseline_images/test_corner/color_filled.png differ diff --git a/tests/baseline_images/test_corner/extended_overplotting.png b/tests/baseline_images/test_corner/extended_overplotting.png index 8473c32..b0ab29d 100644 Binary files a/tests/baseline_images/test_corner/extended_overplotting.png and b/tests/baseline_images/test_corner/extended_overplotting.png differ diff --git a/tests/baseline_images/test_corner/hist_bin_factor.png b/tests/baseline_images/test_corner/hist_bin_factor.png index 58b7eec..a4b0f1d 100644 Binary files a/tests/baseline_images/test_corner/hist_bin_factor.png and b/tests/baseline_images/test_corner/hist_bin_factor.png differ diff --git a/tests/baseline_images/test_corner/hist_bin_factor_log.png b/tests/baseline_images/test_corner/hist_bin_factor_log.png index fb27dc6..c299649 100644 Binary files a/tests/baseline_images/test_corner/hist_bin_factor_log.png and b/tests/baseline_images/test_corner/hist_bin_factor_log.png differ diff --git a/tests/baseline_images/test_corner/labels.png b/tests/baseline_images/test_corner/labels.png index 557aab3..626079b 100644 Binary files a/tests/baseline_images/test_corner/labels.png and b/tests/baseline_images/test_corner/labels.png differ diff --git a/tests/baseline_images/test_corner/no_fill_contours.png b/tests/baseline_images/test_corner/no_fill_contours.png index b775549..a517ee7 100644 Binary files a/tests/baseline_images/test_corner/no_fill_contours.png and b/tests/baseline_images/test_corner/no_fill_contours.png differ diff --git a/tests/baseline_images/test_corner/overplot.png b/tests/baseline_images/test_corner/overplot.png index 6ad51e0..ce1647e 100644 Binary files a/tests/baseline_images/test_corner/overplot.png and b/tests/baseline_images/test_corner/overplot.png differ diff --git a/tests/baseline_images/test_corner/overplot_1d.png b/tests/baseline_images/test_corner/overplot_1d.png index c0efdb7..fb82ca2 100644 Binary files a/tests/baseline_images/test_corner/overplot_1d.png and b/tests/baseline_images/test_corner/overplot_1d.png differ diff --git a/tests/baseline_images/test_corner/overplot_log.png b/tests/baseline_images/test_corner/overplot_log.png index 474cf1a..c19e9b6 100644 Binary files a/tests/baseline_images/test_corner/overplot_log.png and b/tests/baseline_images/test_corner/overplot_log.png differ diff --git a/tests/baseline_images/test_corner/pandas.png b/tests/baseline_images/test_corner/pandas.png index 1a85501..d0fefe6 100644 Binary files a/tests/baseline_images/test_corner/pandas.png and b/tests/baseline_images/test_corner/pandas.png differ diff --git a/tests/baseline_images/test_corner/quantiles.png b/tests/baseline_images/test_corner/quantiles.png index aa91757..e2c66b7 100644 Binary files a/tests/baseline_images/test_corner/quantiles.png and b/tests/baseline_images/test_corner/quantiles.png differ diff --git a/tests/baseline_images/test_corner/quantiles_log.png b/tests/baseline_images/test_corner/quantiles_log.png index eb66faa..fe2bc3e 100644 Binary files a/tests/baseline_images/test_corner/quantiles_log.png and b/tests/baseline_images/test_corner/quantiles_log.png differ diff --git a/tests/baseline_images/test_corner/range_fig_arg.png b/tests/baseline_images/test_corner/range_fig_arg.png index 1a0d0e2..62bc129 100644 Binary files a/tests/baseline_images/test_corner/range_fig_arg.png and b/tests/baseline_images/test_corner/range_fig_arg.png differ diff --git a/tests/baseline_images/test_corner/reverse.png b/tests/baseline_images/test_corner/reverse.png index aca9a1e..bba44e7 100644 Binary files a/tests/baseline_images/test_corner/reverse.png and b/tests/baseline_images/test_corner/reverse.png differ diff --git a/tests/baseline_images/test_corner/reverse_log.png b/tests/baseline_images/test_corner/reverse_log.png index e27e512..4af9dbb 100644 Binary files a/tests/baseline_images/test_corner/reverse_log.png and b/tests/baseline_images/test_corner/reverse_log.png differ diff --git a/tests/baseline_images/test_corner/reverse_overplotting.png b/tests/baseline_images/test_corner/reverse_overplotting.png index fa200e4..da0bb39 100644 Binary files a/tests/baseline_images/test_corner/reverse_overplotting.png and b/tests/baseline_images/test_corner/reverse_overplotting.png differ diff --git a/tests/baseline_images/test_corner/reverse_truths.png b/tests/baseline_images/test_corner/reverse_truths.png index 7d46736..1bbc6fc 100644 Binary files a/tests/baseline_images/test_corner/reverse_truths.png and b/tests/baseline_images/test_corner/reverse_truths.png differ diff --git a/tests/baseline_images/test_corner/smooth.png b/tests/baseline_images/test_corner/smooth.png index 27e95d4..5d8e802 100644 Binary files a/tests/baseline_images/test_corner/smooth.png and b/tests/baseline_images/test_corner/smooth.png differ diff --git a/tests/baseline_images/test_corner/smooth1d.png b/tests/baseline_images/test_corner/smooth1d.png index cb10962..9e7c447 100644 Binary files a/tests/baseline_images/test_corner/smooth1d.png and b/tests/baseline_images/test_corner/smooth1d.png differ diff --git a/tests/baseline_images/test_corner/smooth1d_log.png b/tests/baseline_images/test_corner/smooth1d_log.png index ab51128..d4d6e34 100644 Binary files a/tests/baseline_images/test_corner/smooth1d_log.png and b/tests/baseline_images/test_corner/smooth1d_log.png differ diff --git a/tests/baseline_images/test_corner/smooth_log.png b/tests/baseline_images/test_corner/smooth_log.png index b4fcf15..8ed1d16 100644 Binary files a/tests/baseline_images/test_corner/smooth_log.png and b/tests/baseline_images/test_corner/smooth_log.png differ diff --git a/tests/baseline_images/test_corner/tight.png b/tests/baseline_images/test_corner/tight.png index a11305f..5d079b3 100644 Binary files a/tests/baseline_images/test_corner/tight.png and b/tests/baseline_images/test_corner/tight.png differ diff --git a/tests/baseline_images/test_corner/title_quantiles.png b/tests/baseline_images/test_corner/title_quantiles.png index 3847c29..5403196 100644 Binary files a/tests/baseline_images/test_corner/title_quantiles.png and b/tests/baseline_images/test_corner/title_quantiles.png differ diff --git a/tests/baseline_images/test_corner/title_quantiles_default.png b/tests/baseline_images/test_corner/title_quantiles_default.png index b74178a..919908d 100644 Binary files a/tests/baseline_images/test_corner/title_quantiles_default.png and b/tests/baseline_images/test_corner/title_quantiles_default.png differ diff --git a/tests/baseline_images/test_corner/title_quantiles_raises.png b/tests/baseline_images/test_corner/title_quantiles_raises.png index 3aebbc9..eae3dbc 100644 Binary files a/tests/baseline_images/test_corner/title_quantiles_raises.png and b/tests/baseline_images/test_corner/title_quantiles_raises.png differ diff --git a/tests/baseline_images/test_corner/titles1.png b/tests/baseline_images/test_corner/titles1.png index abb7c41..7a895b9 100644 Binary files a/tests/baseline_images/test_corner/titles1.png and b/tests/baseline_images/test_corner/titles1.png differ diff --git a/tests/baseline_images/test_corner/titles2.png b/tests/baseline_images/test_corner/titles2.png index 43f66b7..89d19ad 100644 Binary files a/tests/baseline_images/test_corner/titles2.png and b/tests/baseline_images/test_corner/titles2.png differ diff --git a/tests/baseline_images/test_corner/titles_fmt_multi.png b/tests/baseline_images/test_corner/titles_fmt_multi.png index b6ca144..ec1c5d9 100644 Binary files a/tests/baseline_images/test_corner/titles_fmt_multi.png and b/tests/baseline_images/test_corner/titles_fmt_multi.png differ diff --git a/tests/baseline_images/test_corner/titles_fmt_single.png b/tests/baseline_images/test_corner/titles_fmt_single.png index 7ba19fa..2d44e91 100644 Binary files a/tests/baseline_images/test_corner/titles_fmt_single.png and b/tests/baseline_images/test_corner/titles_fmt_single.png differ diff --git a/tests/baseline_images/test_corner/top_ticks.png b/tests/baseline_images/test_corner/top_ticks.png index 0a91106..27b7176 100644 Binary files a/tests/baseline_images/test_corner/top_ticks.png and b/tests/baseline_images/test_corner/top_ticks.png differ diff --git a/tests/baseline_images/test_corner/truths.png b/tests/baseline_images/test_corner/truths.png index aecdb30..613b89f 100644 Binary files a/tests/baseline_images/test_corner/truths.png and b/tests/baseline_images/test_corner/truths.png differ