Skip to content

Commit b9b0545

Browse files
committed
fix everything
1 parent 59bebc5 commit b9b0545

4 files changed

Lines changed: 54 additions & 53 deletions

File tree

doc/install/mne_tools_suite.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
Overview of the MNE tools suite
22
===============================
33

4-
tak
5-
64
MNE-Python is an open-source Python module for processing, analysis, and
75
visualization of functional neuroimaging data (EEG, MEG, sEEG, ECoG, and
86
fNIRS). There are several related or interoperable software packages that you

doc/sphinxext/related_software.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ def _get_mapping(packages):
116116
mapping = dict()
117117
for line in (txt.read_text() + "\n" + txt_nodeps.read_text()).split("\n"):
118118
line = line.strip()
119-
if not line or line.startswith("#"):
119+
if not line or line.startswith("##"):
120120
continue
121+
line = line.lstrip("# ")
121122
pkg = line.split("#")[0].strip()
122123
# just keep anything after "categories: " to end of line
123124
if "categories: " in line:
@@ -127,18 +128,19 @@ def _get_mapping(packages):
127128
# split the comma-separated list of categories into a tuple of strings
128129
mapping[pkg] = tuple([x.strip() for x in categories.split(",")])
129130
# unpack the tuples to make a single sequence of (unique) categories
130-
cats = sorted(set([cat for cats in mapping.values() for cat in cats]))
131+
categories = sorted(set([cat for cats in mapping.values() for cat in cats]))
131132
# put "other" last
132-
if "Other" in cats:
133-
cats.remove("Other")
134-
cats.append("Other")
133+
if "Other" in categories:
134+
categories.remove("Other")
135+
categories.append("Other")
135136
# now, invert the mapping to be category: list of packages
136137
rev_mapping = dict()
137-
for cat in cats:
138+
for cat in categories:
138139
rev_mapping[cat] = tuple([pkg for pkg, cats in mapping.items() if cat in cats])
139140
# extra packages: not in the two text files
140141
extras = tuple(set(packages) - set(mapping))
141-
rev_mapping["Other"] = tuple(sorted(rev_mapping.get("Other", ()) + extras))
142+
if len(other := tuple(sorted(rev_mapping.get("Other", ()) + extras))):
143+
rev_mapping["Other"] = other
142144
return rev_mapping
143145

144146

@@ -247,8 +249,6 @@ def run(self):
247249

248250
for package in packages:
249251
data = pkg_data.get(package.lower(), {})
250-
if not data:
251-
print(package)
252252
item = nodes.list_item()
253253
if "description" not in data:
254254
para = nodes.paragraph(text=f"{package}")

doc/sphinxext/related_software.txt

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,28 @@
1-
# This file is used to install extra packages into CircleCI when building our docs.
2-
# The purpose is to allow the packages in the "related software" list to be introspected
3-
# so we can get their URLs and Summary descriptions automatically.
4-
# Related software with onerous dependencies (e.g., torch and tensorflow)
5-
# should be added to `related_software_nodeps.txt` instead.
6-
# Ideally each package should be tagged as one or more of the following categories;
7-
# packages with no tags will be categorized as "Other".
8-
# Make sure to put categories at the END of the line, separated by commas if a package
9-
# fits in multiple categories.
10-
#
11-
# LIST OF CATEGORIES
12-
# ==================
13-
# Connectivity and source analysis
14-
# Data I/O and interoperability
15-
# Data organization and workflows
16-
# Microstates and neural states
17-
# Oscillations and time-frequency analysis
18-
# Other physiological signals and modalities
19-
# Preprocessing and artifact correction
20-
# Statistics and machine learning
21-
# Visualization and real-time analysis
22-
#
23-
# MNE-PYTHON OPTIONAL DEPENDENCIES THAT WE ALSO WANT IN THE CATEGORIZED LIST
24-
# ==========================================================================
1+
## This file is used to install extra packages into CircleCI when building our docs.
2+
## The purpose is to allow the packages in the "related software" list to be introspected
3+
## so we can get their URLs and Summary descriptions automatically.
4+
## Related software with onerous dependencies (e.g., torch and tensorflow)
5+
## should be added to `related_software_nodeps.txt` instead.
6+
## Ideally each package should be tagged as one or more of the following categories;
7+
## packages with no tags will be categorized as "Other".
8+
## Make sure to put categories at the END of the line, separated by commas if a package
9+
## fits in multiple categories.
10+
##
11+
## LIST OF CATEGORIES
12+
## ==================
13+
## Connectivity and source analysis
14+
## Data I/O and interoperability
15+
## Data organization and workflows
16+
## Microstates and neural states
17+
## Oscillations and time-frequency analysis
18+
## Other physiological signals and modalities
19+
## Preprocessing and artifact correction
20+
## Statistics and machine learning
21+
## Visualization and real-time analysis
22+
##
23+
## MNE-PYTHON OPTIONAL DEPENDENCIES THAT WE ALSO WANT IN THE CATEGORIZED LIST
24+
## ==========================================================================
2525
# antio # categories: Data I/O and interoperability
26-
# best-python # categories: Data I/O and interoperability
2726
# dipy # categories: Other physiological signals and modalities
2827
# edfio # categories: Data I/O and interoperability
2928
# eeglabio # categories: Data I/O and interoperability
@@ -35,14 +34,21 @@
3534
# nilearn # categories: Statistics and machine learning, Other physiological signals and modalities
3635
# openmeeg # categories: Connectivity and source analysis
3736
# openneuro-py # categories: Data I/O and interoperability
38-
# posthoc # categories: Statistics and machine learning
3937
# pybv # categories: Data I/O and interoperability
4038
# snirf # categories: Other physiological signals and modalities
39+
##
40+
## PACKAGES THAT CAN'T BE PIP-INSTALLED FOR VARIOUS REASONS
41+
## ========================================================
42+
# best-python # categories: Data I/O and interoperability
43+
# conpy # categories: Connectivity and source analysis
44+
# eelbrain # categories: Statistics and machine learning, Visualization and real-time analysis
45+
# mne-hcp # categories: Data I/O and interoperability
46+
# posthoc # categories: Statistics and machine learning
4147
# surfa # categories: Visualization and real-time analysis, Other physiological signals and modalities
42-
#
43-
# ONES WE ACTUALLY NEED CIRCLECI TO INSTALL
44-
# =========================================
45-
alphaCSC # categories: Statistics and machine learning, Oscillations and time-frequency analysis
48+
##
49+
## ONES WE ACTUALLY NEED CIRCLECI TO INSTALL
50+
## =========================================
51+
alphacsc # categories: Statistics and machine learning, Oscillations and time-frequency analysis
4652
autoreject # categories: Preprocessing and artifact correction
4753
bycycle # categories: Oscillations and time-frequency analysis
4854
curryreader # categories: Data I/O and interoperability

doc/sphinxext/related_software_nodeps.txt

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
# This file is used to install extra packages into CircleCI when building our docs.
2-
# The purpose is to allow the packages in the "related software" list to be introspected
3-
# so we can get their URLs and Summary descriptions automatically.
4-
# **This file** is for packages with onerous dependencies (e.g., torch and tensorflow);
5-
# the sibling file `related_software.txt` is for ordinary packages.
6-
# Ideally each package should be tagged as one or more of the categories shown at the
7-
# top of `related_software.txt`; packages with no tags will be categorized as "Other".
8-
# Make sure to put categories at the END of the line, separated by commas if a package
9-
# fits in multiple categories.
10-
11-
conpy # requires future and subprocess32, which don't have wheels # categories: Connectivity and source analysis
1+
## This file is used to install extra packages into CircleCI when building our docs.
2+
## The purpose is to allow the packages in the "related software" list to be introspected
3+
## so we can get their URLs and Summary descriptions automatically.
4+
## **This file** is for packages with onerous dependencies (e.g., torch and tensorflow);
5+
## the sibling file `related_software.txt` is for ordinary packages.
6+
## Ideally each package should be tagged as one or more of the categories shown at the
7+
## top of `related_software.txt`; packages with no tags will be categorized as "Other".
8+
## Make sure to put categories at the END of the line, separated by commas if a package
9+
## fits in multiple categories.
1210
cross-domain-saliency-maps # tensorflow # categories: Statistics and machine learning
13-
eelbrain #nowheels # categories: Statistics and machine learning, Visualization and real-time analysis
1411
fsleyes # wxPython # categories: Other physiological signals and modalities, Visualization and real-time analysis
1512
mne-kit-gui # mayavi # categories: Preprocessing and artifact correction
1613
mne-videobrowser # opencv # categories: Visualization and real-time analysis

0 commit comments

Comments
 (0)