Skip to content

AntroPy v0.2.0

Choose a tag to compare

@raphaelvallat raphaelvallat released this 06 Mar 14:33
· 8 commits to master since this release
ab8c158

v0.2.0 (March 2026)

Build & CI

  • Drop Python 3.9 (EOL), add Python 3.13 support. Minimum is now Python 3.10.
  • Switch from pip to uv in all GitHub Actions workflows.
  • Add explicit minimum versions for core dependencies: numpy>=1.22.4, scipy>=1.8.0, scikit-learn>=1.2.0.
  • Migrate [project.optional-dependencies] to PEP 735 [dependency-groups].
  • Bump setuptools>=80.0.
  • Split CI into three jobs: test-core (3 platforms × 4 Python versions), test-dependency-combinations (4 dep combos from minimum to latest), and coverage.
  • Fix test-dependency-combinations job: separate antropy install (--no-deps) from test-dependency install so that pytest’s own dependencies (e.g. pluggy) are always resolved.
  • Fix Codecov upload to use ${{ secrets.CODECOV_TOKEN }} instead of a hardcoded token.
  • Switch Ruff workflow from astral-sh/ruff-action@v1 to uvx ruff via astral-sh/setup-uv@v7.
  • Extend Ruff rules: add W (pycodestyle warnings) and NPY (NumPy rules).

Tests

  • Increase test coverage from ~54 % to 100 %.
  • Add tests/test_utils.py covering all branches of the _embed helper (1-D and 2-D paths, all error conditions).
  • Add edge-case tests: sample_entropy returning inf (m-length matches exist but no (m+1)-length matches); detrended_fluctuation returning NaN for a constant signal; spectral_entropy raising on an invalid method string.
  • Set NUMBA_DISABLE_JIT=1 in the coverage CI job so coverage.py can instrument Numba JIT function bodies; other CI jobs still exercise real compiled code.

Bug fixes

  • Fix antropy.higuchi_fd() returning a ValueError (math domain error) on constant or integer-typed input arrays: log(0) is now guarded to return -inf, matching Numba’s IEEE 754 behaviour.

Docs

  • Switch documentation theme from sphinx_bootstrap_theme to pydata-sphinx-theme (dark/light toggle, GitHub icon, improved layout).
  • Fix three broken intersphinx URLs: NumPy, SciPy, and MNE-Python.
  • Add sphinx.ext.mathjax for LaTeX math rendering in docstrings.
  • Add contributing.rst guide.
  • Fix stale :py:func: cross-references in changelog entries v0.1.1–v0.1.3 (entropy.XXX → antropy.XXX).
  • Fix typo in v0.1.6 changelog (“Fox for KDTree” → “Fix for KDTree”).
  • Modernize README.rst and docs/index.rst: add PyPI, conda-forge, downloads, and Ruff badges; add uv installation instructions; fix broken links.