Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
97571da
[MAINT] Post-1.3.0 release update (#183)
tsbinns Dec 12, 2025
de74b7a
[pre-commit.ci] pre-commit autoupdate (#184)
pre-commit-ci[bot] Dec 16, 2025
7c71a23
Bump actions/upload-artifact from 5 to 6 (#185)
dependabot[bot] Dec 16, 2025
a0b72ef
Bump actions/download-artifact from 6 to 7 (#186)
dependabot[bot] Dec 16, 2025
02d710b
[pre-commit.ci] pre-commit autoupdate (#187)
pre-commit-ci[bot] Dec 23, 2025
cd228cb
[pre-commit.ci] pre-commit autoupdate (#188)
pre-commit-ci[bot] Jan 13, 2026
74d6623
[MAINT] Update copyright (#190)
tsbinns Jan 19, 2026
8347a10
[pre-commit.ci] pre-commit autoupdate (#191)
pre-commit-ci[bot] Jan 20, 2026
3b80d63
[pre-commit.ci] pre-commit autoupdate (#192)
pre-commit-ci[bot] Jan 27, 2026
d75bb38
[pre-commit.ci] pre-commit autoupdate (#193)
pre-commit-ci[bot] Feb 10, 2026
07e7659
[pre-commit.ci] pre-commit autoupdate (#194)
pre-commit-ci[bot] Feb 17, 2026
9be3e50
[pre-commit.ci] pre-commit autoupdate (#195)
pre-commit-ci[bot] Feb 24, 2026
227633e
[pre-commit.ci] pre-commit autoupdate (#196)
pre-commit-ci[bot] Mar 2, 2026
4e6bfe1
Bump actions/upload-artifact from 6 to 7 (#198)
dependabot[bot] Mar 3, 2026
deb62d2
Bump actions/download-artifact from 7 to 8 (#197)
dependabot[bot] Mar 3, 2026
653e635
[pre-commit.ci] pre-commit autoupdate (#199)
pre-commit-ci[bot] Mar 10, 2026
58ca9b2
[MAINT] Update installation info (#200)
tsbinns Mar 15, 2026
5c17938
[pre-commit.ci] pre-commit autoupdate (#202)
pre-commit-ci[bot] Mar 17, 2026
b8d9b15
[pre-commit.ci] pre-commit autoupdate (#203)
pre-commit-ci[bot] Mar 23, 2026
bd2e5b6
[pre-commit.ci] pre-commit autoupdate (#204)
pre-commit-ci[bot] Mar 31, 2026
f6fc6c0
Bump mamba-org/setup-micromamba from 2 to 3 (#205)
dependabot[bot] Mar 31, 2026
bfb9d43
[MAINT] Bump conda support to Python 3.14 (#206)
tsbinns Apr 4, 2026
b50de05
[MAINT] Document Python >= 3.14 support for macOS-Intel systems (#207)
tsbinns Apr 6, 2026
6ad6a6c
[MAINT] Prepare for v1.3.1 release (#208)
tsbinns Apr 6, 2026
6a31d1b
[MAINT] Post-1.3.1 release update (#210)
tsbinns Apr 6, 2026
b6f8663
[pre-commit.ci] pre-commit autoupdate (#211)
pre-commit-ci[bot] Apr 7, 2026
1a8cf93
[MAINT] Drop pin for max support Python version (#213)
tsbinns Apr 13, 2026
6ba1188
[MAINT] Update old CI steps (#214)
tsbinns Apr 13, 2026
240ba3c
[pre-commit.ci] pre-commit autoupdate (#215)
pre-commit-ci[bot] Apr 14, 2026
2fabdab
[pre-commit.ci] pre-commit autoupdate (#216)
pre-commit-ci[bot] Apr 21, 2026
1e4ae7e
[pre-commit.ci] pre-commit autoupdate (#217)
pre-commit-ci[bot] Apr 28, 2026
b46a435
[pre-commit.ci] pre-commit autoupdate (#218)
pre-commit-ci[bot] May 19, 2026
4b1274b
[pre-commit.ci] pre-commit autoupdate (#219)
pre-commit-ci[bot] May 26, 2026
55d2561
[pre-commit.ci] pre-commit autoupdate (#220)
pre-commit-ci[bot] Jun 2, 2026
1cb3dec
[pre-commit.ci] pre-commit autoupdate (#221)
pre-commit-ci[bot] Jun 9, 2026
7a3b947
[pre-commit.ci] pre-commit autoupdate (#222)
pre-commit-ci[bot] Jun 16, 2026
5e06e89
Bump actions/checkout from 6 to 7 (#224)
dependabot[bot] Jun 23, 2026
b7e0a5a
[pre-commit.ci] pre-commit autoupdate (#223)
pre-commit-ci[bot] Jun 23, 2026
f6388f2
[pre-commit.ci] pre-commit autoupdate (#225)
pre-commit-ci[bot] Jun 30, 2026
418d1e1
[pre-commit.ci] pre-commit autoupdate (#226)
pre-commit-ci[bot] Jul 14, 2026
c86c863
[pre-commit.ci] pre-commit autoupdate (#227)
pre-commit-ci[bot] Jul 21, 2026
b8f89ea
Bump actions/setup-python from 6 to 7 (#228)
dependabot[bot] Jul 21, 2026
dfa9984
[pre-commit.ci] pre-commit autoupdate (#229)
pre-commit-ci[bot] Aug 1, 2026
e538681
Update CSS (#230)
tsbinns Aug 2, 2026
ad17c09
[MAINT] Prepare for 1.3.2 release (#231)
tsbinns Aug 2, 2026
bfde2c6
Merge branch '1.3' into update-ver
tsbinns Aug 2, 2026
817765d
Remove pin
tsbinns Aug 2, 2026
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/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ jobs:
package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- name: Set up Python
uses: actions/setup-python@v6
uses: actions/setup-python@v7
with:
python-version: '3.10'
- name: Install dependencies
Expand Down
19 changes: 8 additions & 11 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ jobs:
OPENBLAS_NUM_THREADS: "1"
PYTHONUNBUFFERED: "1"
steps:
- uses: actions/setup-python@v6
- uses: actions/setup-python@v7
with:
python-version: ${{ matrix.python-version }}
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: pyvista/setup-headless-display-action@main
with:
qt: true
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
MKL_NUM_THREADS: '1'
PYTHONUNBUFFERED: '1'
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: pyvista/setup-headless-display-action@main
with:
qt: true
Expand Down Expand Up @@ -115,28 +115,25 @@ jobs:
OPENBLAS_NUM_THREADS: "1"
PYTHONUNBUFFERED: "1"
steps:
- uses: actions/setup-python@v6
- uses: actions/setup-python@v7
with:
python-version: "3.10"
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: pyvista/setup-headless-display-action@main
with:
qt: true
pyvista: false
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install --upgrade --upgrade-strategy eager .[test]
pip install -e . --no-deps
pip install -r tools/requirements_old.txt
- name: Display versions and environment information
run: |
echo $TZ
date
python --version
which python
- run: |
pip install -e . --no-deps
pip install -r tools/requirements_old.txt
- run: python -c "import pybispectra; import mne; print(f'PyBispectra {pybispectra.__version__}\n'); mne.sys_info()"
python -c "import pybispectra; import mne; print(f'PyBispectra {pybispectra.__version__}\n'); mne.sys_info()"
- name: Download testing data
run: python -c "from pybispectra.utils import DATASETS, get_example_data_paths; (get_example_data_paths(data) for data in DATASETS.keys())"
- name: Run pytest
Expand Down
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
repos:
# ruff PyBispectra
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.8
rev: v0.16.0
hooks:
- id: ruff
name: ruff lint pybispectra
Expand All @@ -10,7 +10,7 @@ repos:

# ruff examples
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.8
rev: v0.16.0
hooks:
- id: ruff
name: ruff lint examples
Expand All @@ -19,7 +19,7 @@ repos:

# codespell
- repo: https://github.com/codespell-project/codespell
rev: v2.4.2
rev: v2.4.3
hooks:
- id: codespell
additional_dependencies:
Expand Down
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ No changes.

## [Version 1.3](https://pybispectra.readthedocs.io/1.3/)

### Version 1.3.2

##### Dependencies
- Dropped max supported Python version being pinned.

<br>

### Version 1.3.1

##### Dependencies
Expand Down
23 changes: 23 additions & 0 deletions docs/source/_static/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,29 @@ ul {
text-align: left
}

/* widen main content area */
.bd-page-width {
max-width: 100rem;
}

/* make versionadded smaller and inline with param name */
/* don't do for deprecated / versionchanged; they have extra info (too long to fit) */
div.versionadded>p {
margin-top: 0;
margin-bottom: 0;
}

div.versionadded {
margin: 0;
margin-left: 0.5rem;
display: inline-block;
}

/* when FF supports :has(), change to → dd > p:has(+div.versionadded) */
dd>p {
display: inline;
}

@media (max-width: 1199.98px) {
.bd-header .navbar-header-items__start {
flex-shrink: 1;
Expand Down
2 changes: 1 addition & 1 deletion docs/source/_static/versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
},
{
"name": "1.3 (stable)",
"version": "1.3.1",
"version": "1.3.2",
"url": "https://pybispectra.readthedocs.io/1.3/"
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
project = "PyBispectra"
copyright = "2023-2026, Thomas S. Binns"
author = "Thomas S. Binns"
release = "1.3.1"
release = "1.3.2"

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
Expand Down
34 changes: 27 additions & 7 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ for version ≥ 1.2.2.

PyBispectra requires Python ≥ 3.10.


Package installation
--------------------

To install PyBispectra, activate the desired environment or project in which you want
the package, then install it using `pip <https://pip.pypa.io/en/stable/>`_:

Expand Down Expand Up @@ -34,21 +38,37 @@ or `pixi <https://pixi.prefix.dev/latest/>`_:

|

.. dropdown:: Compatibility for newly released Python versions
:icon: alert
:color: info

If you encounter issues installing PyBispectra in environments with newly released Python versions, this may be due to a lack of compatible ``numba`` releases, one of PyBispectra's core dependencies.

``numba`` is not always immediately compatible with new Python versions, and there may be a delay of several weeks before a compatible version is released.

You can find the supported Python versions for ``numba`` in this `table <https://numba.readthedocs.io/en/stable/user/installing.html#numba-support-info>`_.

If a compatible ``numba`` release is available for your environment's Python version and you are still encountering installation issues, please report this on the `PyBispectra issue page <https://github.com/braindatalab/PyBispectra/issues>`_.

.. dropdown:: Compatibility with Python ≥ 3.14 on macOS Intel systems
:icon: alert
:color: info

Support for macOS Intel systems is limited to Python < 3.14 due to wheel availability limitations for `llvmlite`, which can lead to installation issues using ``pip`` and ``uv``.
Due to wheel availability limitations for ``llvmlite`` on macOS Intel systems with Python ≥ 3.14, installation issues can arise when using ``pip`` and ``uv``.

If you have a macOS Intel system and need to use Python ≥ 3.14, consider using ``conda`` or ``pixi`` for installation.
If you have a macOS Intel system and need to use Python ≥ 3.14, consider using ``conda`` or ``pixi`` for an easier installation.

|

Creating an environment or project for installation
---------------------------------------------------

If you need to create an environment or project in which to install PyBispectra, you can
do so using `venv <https://docs.python.org/3/library/venv.html>`_,
`uv <https://docs.astral.sh/uv/>`_, `pixi <https://pixi.prefix.dev/latest/>`_, or
`conda <https://docs.conda.io/en/latest/>`_.

With ``venv``
-------------
~~~~~~~~~~~~~

In a shell with Python available, navigate to your project location and create the
environment:
Expand All @@ -66,7 +86,7 @@ then install the package:
pip install pybispectra

With ``uv``
-----------
~~~~~~~~~~~

In a shell with ``uv`` available, navigate to your project location and create the
environment:
Expand All @@ -84,7 +104,7 @@ then install the package:
uv pip install pybispectra

With ``pixi``
-------------
~~~~~~~~~~~~~

In a shell with ``pixi`` available, run the following commands:

Expand All @@ -95,7 +115,7 @@ In a shell with ``pixi`` available, run the following commands:
pixi add pybispectra

With ``conda``
--------------
~~~~~~~~~~~~~~

In a shell with ``conda`` available, run the following commands:

Expand Down
2 changes: 1 addition & 1 deletion environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: pybispectra
channels:
- conda-forge
dependencies:
- python>=3.10,<3.15
- python>=3.10
- joblib>=1.2
- matplotlib>=3.6
- mne-base>=1.7
Expand Down
2 changes: 1 addition & 1 deletion examples/plot_compute_time_resolved.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from matplotlib import pyplot as plt
from numpy.random import RandomState

from pybispectra import WaveShape, get_example_data_paths, compute_tfr
from pybispectra import WaveShape, compute_tfr, get_example_data_paths

########################################################################################
# Background
Expand Down
8 changes: 6 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ dynamic = [
] # check tools/hatch_build.py for details
name = "pybispectra"
readme = "README.md"
version = "1.3.1"
version = "1.3.2"

[project.optional-dependencies]
dev = ["pybispectra[doc]", "pybispectra[lint]", "pybispectra[test]"]
Expand Down Expand Up @@ -126,7 +126,11 @@ ignore_roles = [
report_level = "WARNING"

[tool.ruff]
extend-exclude = ["docs", "examples/compute_*.py"]
extend-exclude = [
"docs",
"examples/compute_*.py",
"src/pybispectra/utils/_docs.py",
]
line-length = 88

[tool.ruff.lint.per-file-ignores]
Expand Down
2 changes: 1 addition & 1 deletion src/pybispectra/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Initialisation of the PyBispectra package."""

__version__ = "1.3.1"
__version__ = "1.3.2"

from .cfc import AAC, PAC, PPC
from .general import Bispectrum, Threenorm
Expand Down
10 changes: 5 additions & 5 deletions src/pybispectra/cfc/aac.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
from pybispectra.utils._defaults import _precision
from pybispectra.utils._process import _ProcessFreqBase
from pybispectra.utils._utils import (
_compute_in_parallel,
_compute_pearsonr_2d,
_fast_find_first,
_compute_in_parallel,
)


Expand Down Expand Up @@ -61,7 +61,7 @@ class AAC(_ProcessFreqBase):

verbose : bool
Whether or not to report the progress of the processing.
""" # noqa: E501
"""

_data_precision: type = _precision.real # Real-valued TFR power

Expand All @@ -72,9 +72,9 @@ class AAC(_ProcessFreqBase):
def compute(
self,
indices: tuple[tuple[int]] | None = None,
f1s: tuple[int | float] | None = None,
f2s: tuple[int | float] | None = None,
times: tuple[int | float] | None = None,
f1s: tuple[float] | None = None,
f2s: tuple[float] | None = None,
times: tuple[float] | None = None,
n_jobs: int = 1,
) -> None:
r"""Compute AAC, averaged over epochs.
Expand Down
8 changes: 4 additions & 4 deletions src/pybispectra/cfc/pac.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@ class PAC(_ProcessBispectrum):
def compute(
self,
indices: tuple[tuple[int]] | None = None,
f1s: tuple[int | float] | None = None,
f2s: tuple[int | float] | None = None,
times: tuple[int | float] | None = None,
f1s: tuple[float] | None = None,
f2s: tuple[float] | None = None,
times: tuple[float] | None = None,
antisym: bool | tuple[bool] = False,
norm: bool | tuple[bool] = False,
n_jobs: int = 1,
Expand Down Expand Up @@ -181,7 +181,7 @@ def compute(
References
----------
.. footbibliography::
""" # noqa: E501
"""
self._reset_attrs()

self._sort_metrics(antisym, norm)
Expand Down
8 changes: 4 additions & 4 deletions src/pybispectra/cfc/ppc.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from pybispectra.utils import ResultsCFC
from pybispectra.utils._defaults import _precision
from pybispectra.utils._process import _ProcessFreqBase
from pybispectra.utils._utils import _fast_find_first, _compute_in_parallel
from pybispectra.utils._utils import _compute_in_parallel, _fast_find_first


class PPC(_ProcessFreqBase):
Expand Down Expand Up @@ -73,9 +73,9 @@ class PPC(_ProcessFreqBase):
def compute(
self,
indices: tuple[tuple[int]] | None = None,
f1s: tuple[int | float] | None = None,
f2s: tuple[int | float] | None = None,
times: tuple[int | float] | None = None,
f1s: tuple[float] | None = None,
f2s: tuple[float] | None = None,
times: tuple[float] | None = None,
n_jobs: int = 1,
) -> None:
r"""Compute PPC, averaged over epochs.
Expand Down
Loading