Skip to content

Commit baf68d7

Browse files
committed
intersphinx_registry, tomlsort, bump py min
1 parent 1649639 commit baf68d7

12 files changed

+96
-76
lines changed

.github/workflows/python_build.yml

-3
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ on:
99
branches: [main]
1010
pull_request:
1111
branches: [main]
12-
create:
13-
branches: [main]
14-
tags: ['**']
1512
schedule:
1613
- cron: "0 4 1 * *"
1714

.github/workflows/python_publish.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up Python
1818
uses: actions/setup-python@v5
1919
with:
20-
python-version: "3.11"
20+
python-version: "3.12"
2121
- name: Install dependencies
2222
run: |
2323
python -m pip install --upgrade pip

.github/workflows/python_tests.yml

+14-11
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ on:
99
branches: [main]
1010
pull_request:
1111
branches: [main]
12-
create:
13-
branches: [main]
14-
tags: ['**']
1512
schedule:
1613
- cron: "0 4 1 * *"
1714

@@ -21,8 +18,16 @@ jobs:
2118
strategy:
2219
fail-fast: false
2320
matrix:
24-
platform: [ubuntu-22.04, ubuntu-latest, macos-latest, windows-latest]
25-
python-version: ["3.10", "3.11", "3.12"]
21+
platform: [ubuntu-latest, macos-latest, windows-latest]
22+
python-version: ["3.10", "3.12"]
23+
mne-version: [mne-stable]
24+
25+
include:
26+
# special test runs running only on single CI systems to save resources
27+
# Test development versions
28+
- platform: ubuntu-latest
29+
python-version: "3.12"
30+
mne-version: mne-main
2631

2732
env:
2833
TZ: Europe/Berlin
@@ -44,9 +49,9 @@ jobs:
4449
python -m pip install -e .[dev]
4550
4651
- name: install MNE-Python main
47-
if: "matrix.platform == 'ubuntu-22.04'"
52+
if: matrix.mne-version == 'mne-main'
4853
run: |
49-
pip install -U git+https://github.com/mne-tools/mne-python
54+
pip install -U https://github.com/mne-tools/mne-python/archive/refs/heads/main.zip
5055
5156
- name: Display versions and environment information
5257
run: |
@@ -57,10 +62,9 @@ jobs:
5762
mne sys_info
5863
5964
- name: Check formatting
60-
if: ${{ matrix.platform == 'ubuntu-22.04' && matrix.python-version == '3.11' }}
6165
run: |
6266
make check-manifest
63-
pre-commit run --all-files || ( git status --short ; git diff ; exit 1 )
67+
pre-commit run --all-files
6468
6569
- name: Test with pytest
6670
run: |
@@ -71,14 +75,13 @@ jobs:
7175
make build-doc
7276
7377
- name: Upload artifacts
74-
if: ${{ matrix.platform == 'ubuntu-22.04' && matrix.python-version == '3.11' }}
78+
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.python-version == '3.12' && matrix.mne-version == 'mne-stable'}}
7579
uses: actions/upload-artifact@v4
7680
with:
7781
name: docs-artifact
7882
path: docs/_build/html
7983

8084
- name: Upload coverage report
81-
if: ${{ matrix.platform == 'ubuntu-22.04' && matrix.python-version == '3.11' }}
8285
uses: codecov/codecov-action@v5
8386
with:
8487
files: ./coverage.xml

.pre-commit-config.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,9 @@ repos:
1818
- id: ruff
1919
args: [ --fix ]
2020
- id: ruff-format
21+
22+
- repo: https://github.com/pappasam/toml-sort
23+
rev: v0.23.1
24+
hooks:
25+
- id: toml-sort-fix
26+
files: pyproject.toml

.readthedocs.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
version: 2
55

66
build:
7-
os: ubuntu-22.04
7+
os: ubuntu-lts-latest
88
tools:
9-
python: "3.11"
9+
python: "3.12"
1010

1111
sphinx:
1212
configuration: docs/conf.py

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
BSD 3-Clause License
22

3-
Copyright (c) 2018-2023, pybv developers
3+
Copyright (c) 2018, pybv developers
44
All rights reserved.
55

66
Redistribution and use in source and binary forms, with or without

README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ as hosted by Brain Products.
7777
Installation
7878
============
7979

80-
``pybv`` runs on Python version 3.8 or higher.
80+
``pybv`` runs on Python version 3.9 or higher.
8181

8282
``pybv``'s only dependency is ``numpy``.
8383
However, we currently recommend that you install MNE-Python for reading BrainVision data.

docs/authors.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.. _Adam Li: https://adam2392.github.io/
2+
.. _Aniket Pradhan: http://home.iiitd.edu.in/~aniket17133/
3+
.. _Chris Holdgraf: https://bids.berkeley.edu/people/chris-holdgraf
4+
.. _Clemens Brunner: https://cbrnr.github.io/
5+
.. _Felix Klotzsche: https://github.com/eioe
6+
.. _Phillip Alday: https://palday.bitbucket.io/
7+
.. _Pierre Cutellic: https://github.com/compmonks
8+
.. _Richard Höchenberger: https://hoechenberger.net/
9+
.. _Stefan Appelhoff: http://stefanappelhoff.com/
10+
.. _Tristan Stenner: https://github.com/tstenner

docs/changelog.rst

+2-11
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,6 @@ People who contributed to this software across releases (in **alphabetical order
1717
- `Stefan Appelhoff`_
1818
- `Tristan Stenner`_
1919

20-
.. _Chris Holdgraf: https://bids.berkeley.edu/people/chris-holdgraf
21-
.. _Stefan Appelhoff: http://stefanappelhoff.com/
22-
.. _Tristan Stenner: https://github.com/tstenner
23-
.. _Phillip Alday: https://palday.bitbucket.io/
24-
.. _Clemens Brunner: https://cbrnr.github.io/
25-
.. _Richard Höchenberger: https://hoechenberger.net/
26-
.. _Adam Li: https://adam2392.github.io/
27-
.. _Aniket Pradhan: http://home.iiitd.edu.in/~aniket17133/
28-
.. _Pierre Cutellic: https://github.com/compmonks
29-
.. _Felix Klotzsche: https://github.com/eioe
30-
3120
.. _changelog:
3221

3322
=========
@@ -186,3 +175,5 @@ Changelog
186175
~~~~~~~~~
187176
- Initial import from `philistine <https://pypi.org/project/philistine/>`_ package by `Phillip Alday`_
188177
and removing dependency on MNE-Python, by `Chris Holdgraf`_, and `Stefan Appelhoff`_
178+
179+
.. include:: authors.rst

docs/conf.py

+12-6
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import sys
77
from datetime import date
88

9+
from intersphinx_registry import get_intersphinx_mapping
10+
911
import pybv
1012

1113
curdir = os.path.dirname(__file__)
@@ -45,7 +47,8 @@
4547

4648
# General information about the project.
4749
project = "pybv"
48-
copyright = f"2018-{date.today().year}, pybv developers" # noqa:A001
50+
today = date.today().isoformat()
51+
copyright = f"2018, pybv developers. Last updated on {today}" # noqa: A001
4952
author = "pybv developers"
5053
version = pybv.__version__
5154
release = version
@@ -78,9 +81,12 @@
7881
}
7982

8083
# When functions from other packages are mentioned, link to them
81-
intersphinx_mapping = {
82-
"python": ("https://docs.python.org/3", None),
83-
"mne": ("https://mne.tools/dev/", None),
84-
"numpy": ("https://numpy.org/devdocs", None),
85-
}
84+
# Example configuration for intersphinx: refer to the Python standard library.
85+
intersphinx_mapping = get_intersphinx_mapping(
86+
packages={
87+
"python",
88+
"mne",
89+
"numpy",
90+
}
91+
)
8692
intersphinx_timeout = 10

docs/index.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
:hidden:
55
:glob:
66

7-
*
7+
api.rst
8+
changelog.rst

pyproject.toml

+45-39
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,73 @@
11
[build-system]
2-
requires = ["setuptools"]
32
build-backend = "setuptools.build_meta"
3+
requires = ["setuptools"]
44

55
[project]
6-
name = "pybv"
76
authors = [
8-
{name = "pybv developers"},
7+
{name = "pybv developers"},
98
]
10-
maintainers = [
11-
{name = "Stefan Appelhoff", email = "[email protected]"},
9+
classifiers = [
10+
"Intended Audience :: Developers",
11+
"Intended Audience :: Science/Research",
12+
"License :: OSI Approved",
13+
"Operating System :: MacOS",
14+
"Operating System :: Microsoft :: Windows",
15+
"Operating System :: POSIX :: Linux",
16+
"Programming Language :: Python :: 3.10",
17+
"Programming Language :: Python :: 3.11",
18+
"Programming Language :: Python :: 3.12",
19+
"Programming Language :: Python :: 3.9",
20+
"Programming Language :: Python",
21+
"Topic :: Scientific/Engineering",
22+
"Topic :: Scientific/Engineering",
23+
"Topic :: Software Development",
1224
]
13-
description = "pybv – a lightweight I/O utility for the BrainVision data format"
14-
keywords = ["Brain Products", "BrainVision", "vhdr", "vmrk", "eeg"]
15-
readme = "README.rst"
16-
license = {file = "LICENSE"}
17-
requires-python = ">=3.8"
1825
dependencies = [
19-
"numpy >= 1.18.1",
26+
"numpy >= 1.18.1",
2027
]
28+
description = "pybv - a lightweight I/O utility for the BrainVision data format"
2129
dynamic = ["version"]
22-
classifiers = [
23-
"Topic :: Scientific/Engineering",
24-
"Intended Audience :: Science/Research",
25-
"Intended Audience :: Developers",
26-
"License :: OSI Approved",
27-
"Topic :: Software Development",
28-
"Topic :: Scientific/Engineering",
29-
"Operating System :: Microsoft :: Windows",
30-
"Operating System :: POSIX :: Linux",
31-
"Operating System :: MacOS",
32-
"Programming Language :: Python",
33-
"Programming Language :: Python :: 3.8",
34-
"Programming Language :: Python :: 3.9",
35-
"Programming Language :: Python :: 3.10",
36-
"Programming Language :: Python :: 3.11",
37-
"Programming Language :: Python :: 3.12",
30+
keywords = ["Brain Products", "BrainVision", "eeg", "vhdr", "vmrk"]
31+
license = {file = "LICENSE"}
32+
maintainers = [
33+
{email = "[email protected]", name = "Stefan Appelhoff"},
3834
]
35+
name = "pybv"
36+
readme = "README.rst"
37+
requires-python = ">=3.9"
3938

4039
[project.optional-dependencies]
4140
dev = [
42-
"check-manifest",
43-
"mne",
44-
"numpydoc",
45-
"pre-commit",
46-
"pytest",
47-
"pytest-cov",
48-
"pytest-sugar",
49-
"ruff",
50-
"sphinx",
51-
"sphinx-copybutton",
41+
"check-manifest",
42+
"intersphinx_registry",
43+
"mne",
44+
"numpydoc",
45+
"pre-commit",
46+
"pytest",
47+
"pytest-cov",
48+
"pytest-sugar",
49+
"ruff",
50+
"sphinx",
51+
"sphinx-copybutton",
5252
]
5353

5454
[project.urls]
5555
Documentation = "https://pybv.readthedocs.io"
56-
Repository = "https://github.com/bids-standard/pybv"
5756
Issues = "https://github.com/bids-standard/pybv/issues"
57+
Repository = "https://github.com/bids-standard/pybv"
5858

5959
[tool.ruff.lint]
60-
select = ["A", "B006", "D", "E", "F", "I", "W", "UP"]
6160
ignore = ["D203", "D213"]
61+
select = ["A", "B006", "D", "E", "F", "I", "UP", "W"]
6262

6363
[tool.setuptools.dynamic]
6464
version = {attr = "pybv.__version__"}
6565

6666
[tool.setuptools.packages.find]
6767
exclude = ["docs", "specification"]
68+
69+
[tool.tomlsort]
70+
all = true
71+
ignore_case = true
72+
spaces_before_inline_comment = 2
73+
trailing_comma_inline_array = true

0 commit comments

Comments
 (0)