diff --git a/.extended_metadata.yaml b/.extended_metadata.yaml new file mode 100644 index 00000000000..39a52d04121 --- /dev/null +++ b/.extended_metadata.yaml @@ -0,0 +1,53 @@ +package_name: MNE-Python +date_created: '2010-12-26' +date_published: '2014-08-04' +application_category: Neuroscience +code_doi: 10.5281/zenodo.592483 +compound_surnames: + - García Alanis + - van Vliet + - De Santis + - Dupré la Tour + - de la Torre + - de Jong + - de Montalivet + - van den Bosch + - Van den Bossche + - Van Der Donckt + - van der Meer + - van Harmelen + - Visconti di Oleggio Castello + - van Es +preferred_citation: + title: MEG and EEG Data Analysis with MNE-Python + journal: Frontiers in Neuroscience + type: article + year: 2013 + volume: 7 + issue: 267 + start: 1 + end: 13 + doi: 10.3389/fnins.2013.00267 + authors: + - family-names: Gramfort + given-names: Alexandre + - family-names: Luessi + given-names: Martin + - family-names: Larson + given-names: Eric + - family-names: Engemann + given-names: Denis A. + - family-names: Strohmeier + given-names: Daniel + - family-names: Brodbeck + given-names: Christian + - family-names: Goj + given-names: Roman + - family-names: Jas + given-names: Mainak + - family-names: Brooks + given-names: Teon + - family-names: Parkkonen + given-names: Lauri + - family-names: Hämäläinen + given-names: Matti S. diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 7e244d147a5..a11d2eb3f3b 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -19,4 +19,27 @@ jobs: - run: pip install --upgrade towncrier pygithub gitpython numpy - run: python ./.github/actions/rename_towncrier/rename_towncrier.py - run: python ./tools/dev/ensure_headers.py + - name: Sync dependencies to README + uses: tsbinns/mne-tools/actions/sync-dependencies-to-readme@add_tools + with: + project-root: ${{ github.workspace }} + ignore-upper-pins: numpy + - name: Sync dependencies to environment file + uses: tsbinns/mne-tools/actions/sync-dependencies-to-environment-file@add_tools + with: + project-root: ${{ github.workspace }} + extras: full,full-no-qt,hdf5 + additional-dependencies: pip,mamba,conda,nomkl,noqt5 + pip-dependencies: pymef + requirements-overrides: PySide6==6.10.2,vtk==9.6.0 + # - name: Generate citation + # uses: tsbinns/mne-tools/actions/generate-citation@add_tools + # with: + # project-root: ${{ github.workspace }} + # release-version: "1.13.0" + - name: Generate codemeta + uses: tsbinns/mne-tools/actions/generate-codemeta@add_tools + with: + project-root: ${{ github.workspace }} + release-version: "1.13.0" - uses: autofix-ci/action@c5b2d67aa2274e7b5a18224e8171550871fc7e4a diff --git a/.github/workflows/check_environment.yml b/.github/workflows/check_environment.yml new file mode 100644 index 00000000000..84bcc79bbe4 --- /dev/null +++ b/.github/workflows/check_environment.yml @@ -0,0 +1,33 @@ +name: Check 'old' environment + +on: # yamllint disable-line rule:truthy + pull_request: + +jobs: + check-environment: + permissions: + contents: write + name: Check 'old' environment + runs-on: ubuntu-latest + defaults: + run: + shell: bash -el {0} + env: + MNE_CI_KIND: 'old' + steps: + - uses: actions/checkout@v6.0.3 + with: + persist-credentials: false + - uses: astral-sh/setup-uv@v8.2.0 + with: + version: ">=0.9" + activate-environment: true + cache-dependency-glob: | + **/pylock.ci-old.toml + python-version: '3.10' + - run: bash ./tools/github_actions_dependencies.sh + - name: Run MNE-Tools action + uses: tsbinns/mne-tools/actions/check-environment@add_tools + with: + project-root: ${{ github.workspace }} + groups: lockfile_extras diff --git a/.github/workflows/check_lockfile.yml b/.github/workflows/check_lockfile.yml new file mode 100644 index 00000000000..c1b68879231 --- /dev/null +++ b/.github/workflows/check_lockfile.yml @@ -0,0 +1,24 @@ +name: Check 'old' lockfile + +on: # yamllint disable-line rule:truthy + pull_request: + +jobs: + check-lockfile: + permissions: + contents: write + name: Check 'old' lockfile + runs-on: ubuntu-latest + defaults: + run: + shell: bash -el {0} + steps: + - uses: actions/checkout@v6.0.3 + with: + persist-credentials: false + - name: Run MNE-Tools action + uses: tsbinns/mne-tools/actions/check-lockfile@add_tools + with: + project-root: ${{ github.workspace }} + lockfile-path: tools/pylock.ci-old.toml + groups: lockfile_extras diff --git a/.github/workflows/spec_zero.yml b/.github/workflows/spec_zero.yml index 08dec793a08..9909bd447e2 100644 --- a/.github/workflows/spec_zero.yml +++ b/.github/workflows/spec_zero.yml @@ -1,6 +1,7 @@ name: SPEC0 on: # yamllint disable-line rule:truthy + pull_request: schedule: - cron: '0 0 * * 1' # At 00:00 every Monday workflow_dispatch: @@ -43,7 +44,7 @@ jobs: detached: true - uses: astral-sh/setup-uv@v8.2.0 with: - version: ">=0.9" + version: ">=0.9,<=0.9.26" activate-environment: true python-version: "3.12" - name: Install dependencies @@ -51,12 +52,27 @@ jobs: - name: Update tracked dependencies run: python ./tools/dev/spec_zero_update_versions.py - name: Sync updated dependencies to README - run: python tools/sync_dependencies.py + uses: tsbinns/mne-tools/actions/sync-dependencies-to-readme@add_tools + with: + project-root: ${{ github.workspace }} + ignore-upper-pins: numpy + - name: Sync updated dependencies to environment file + uses: tsbinns/mne-tools/actions/sync-dependencies-to-environment-file@add_tools + with: + project-root: ${{ github.workspace }} + extras: full,full-no-qt,hdf5 + additional-dependencies: pip,mamba,conda,nomkl,noqt5 + pip-dependencies: pymef + requirements-overrides: PySide6==6.10.2,vtk==9.6.0 - name: Create lockfile for old CI # uv pip compile requires setting the python version explicitly in the command :( - run: | - uv pip compile pyproject.toml --python "3.10" --python-platform "x86_64-unknown-linux-gnu" --group test --group lockfile_extras --resolution lowest-direct --format pylock.toml --output-file tools/pylock.ci-old.toml - python tools/github_actions_check_old_lockfile.py + run: uv pip compile pyproject.toml --python "3.10" --python-platform "x86_64-unknown-linux-gnu" --group test --group lockfile_extras --resolution lowest-direct --format pylock.toml --output-file tools/pylock.ci-old.toml + - name: Validate lockfile for old CI + uses: tsbinns/mne-tools/actions/check-lockfile@add_tools + with: + project-root: ${{ github.workspace }} + lockfile-path: tools/pylock.ci-old.toml + groups: lockfile_extras - name: check if files changed run: | git diff && git status --porcelain @@ -64,23 +80,6 @@ jobs: echo "dirty=true" >> $GITHUB_OUTPUT fi id: status - - name: Run pre-commit hooks to update other files - run: | - uv pip install pre-commit - pre-commit run --all || true - if: steps.status.outputs.dirty == 'true' - - name: Create PR - run: | - set -xeo pipefail - git diff - git config --global user.email "50266005+mne-bot@users.noreply.github.com" - git config --global user.name "mne[bot]" - git checkout -b spec_zero - if [ -f doc/changes/dev/dependency.rst ]; then - git add doc/changes/dev/dependency.rst # one new file, others changed - fi - git commit -am "mne[bot]: Update dependency specifiers" - git push origin spec_zero - PR_NUM=$(gh pr create --base main --head spec_zero --title "MAINT: Update dependency specifiers" --body "Created by spec_zero [GitHub action](https://github.com/mne-tools/mne-python/actions/runs/${{ github.run_id }}).

*Adjustments may need to be made to shims in \`mne/fixes.py\` and elswhere in this or another PR. \`make -C tools/dev dep\` is a good starting point for finding potential updates.*") - echo "Opened https://github.com/mne-tools/mne-python/pull/${PR_NUM}" >> $GITHUB_STEP_SUMMARY + - name: Show diff + run: git diff -- ':!pylock.ci-old.toml' if: steps.status.outputs.dirty == 'true' diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7f04a6858b5..f83d9ed35d3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -149,7 +149,11 @@ jobs: - run: bash ./tools/github_actions_verify_python.sh "${{ matrix.python }}" - run: bash ./tools/github_actions_dependencies.sh timeout-minutes: 10 - - run: python ./tools/github_actions_check_old_env.py + - name: Run MNE-Tools action + uses: tsbinns/mne-tools/actions/check-environment@add_tools + with: + project-root: ${{ github.workspace }} + groups: lockfile_extras if: matrix.kind == 'old' # Minimal commands on Linux (macOS stalls) - uses: actions/cache@v5.0.5 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 68213b504d5..dc4664df57b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -64,15 +64,6 @@ repos: - id: toml-sort-fix files: pyproject.toml - # dependencies - - repo: local - hooks: - - id: update-env-file - name: Copy dependency changes from pyproject.toml to environment.yml - language: python - entry: ./tools/hooks/update_environment_file.py - files: '^(pyproject.toml|tools/hooks/update_environment_file.py)$' - # zizmor - repo: https://github.com/woodruffw/zizmor-pre-commit rev: v1.26.1 diff --git a/.yamllint.yml b/.yamllint.yml index 3b8f96c0e53..50100964bfe 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -8,3 +8,5 @@ rules: document-start: disable new-lines: type: platform + indentation: + indent-sequences: consistent diff --git a/CITATION.cff b/CITATION.cff index 545d0cf1c24..eee8830c54b 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,890 +1,917 @@ cff-version: 1.2.0 -title: "MNE-Python" -message: "If you use this software, please cite both the software itself, and the paper listed in the preferred-citation field." -version: 1.12.0 -date-released: "2026-04-07" -commit: 3536d9228d226f6f701075e5ce0f69989457bf22 +title: MNE-Python +message: If you use this software, please cite both the software itself, and the paper listed in the preferred-citation field. +version: 1.13.0 +date-released: '2026-07-01' +commit: 5f66c6e9f9102f0d7ec0bb051ef98bd71ed5a69f doi: 10.5281/zenodo.592483 keywords: - - MEG - - magnetoencephalography - - EEG - - electroencephalography - - fNIRS - - "functional near-infrared spectroscopy" - - iEEG - - "intracranial EEG" - - eCoG - - electrocorticography - - DBS - - "deep brain stimulation" +- brain +- ECoG +- EEG +- fNIRS +- MEG +- neuroimaging +- neuroscience authors: - - family-names: Larson - given-names: Eric - - family-names: Gramfort - given-names: Alexandre - - family-names: Engemann - given-names: Denis A - - family-names: Leppakangas - given-names: Jaakko - - family-names: Brodbeck - given-names: Christian - - family-names: Jas - given-names: Mainak - - family-names: Brooks - given-names: Teon L - - family-names: Sassenhagen - given-names: Jona - - family-names: McCloy - given-names: Daniel - - family-names: Luessi - given-names: Martin - - family-names: King - given-names: Jean-Rémi - - family-names: Höchenberger - given-names: Richard - - family-names: Brunner - given-names: Clemens - - family-names: Goj - given-names: Roman - - family-names: Favelier - given-names: Guillaume - - family-names: van Vliet - given-names: Marijn - - family-names: Wronkiewicz - given-names: Mark - - family-names: Appelhoff - given-names: Stefan - - family-names: Rockhill - given-names: Alex - - family-names: Holdgraf - given-names: Chris - - family-names: Scheltienne - given-names: Mathieu - - family-names: Massich - given-names: Joan - - family-names: Bekhti - given-names: Yousra - - family-names: Leggitt - given-names: Alan - - family-names: Dykstra - given-names: Andrew - - family-names: Trachel - given-names: Romain - - family-names: Luke - given-names: Robert - - family-names: De Santis - given-names: Lorenzo - - family-names: Panda - given-names: Asish - - family-names: Magnuski - given-names: Mikołaj - - family-names: Westner - given-names: Britta - - family-names: Wakeman - given-names: Dan G - - family-names: Strohmeier - given-names: Daniel - - family-names: Bharadwaj - given-names: Hari - - family-names: Linzen - given-names: Tal - - family-names: Barachant - given-names: Alexandre - - family-names: Ruzich - given-names: Emily - - family-names: Huberty - given-names: Scott - - family-names: Bailey - given-names: Christopher J - - family-names: Li - given-names: Adam - - family-names: Moutard - given-names: Clément - - family-names: Bloy - given-names: Luke - - family-names: Raimondo - given-names: Fede - - family-names: Nurminen - given-names: Jussi - - family-names: Billinger - given-names: Martin - - family-names: Montoya - given-names: Jair - - family-names: Woodman - given-names: Marmaduke - - family-names: Binns - given-names: Thomas S - - family-names: Lee - given-names: Ingoo - - family-names: Schulz - given-names: Martin - - family-names: Foti - given-names: Nick - - family-names: Nangini - given-names: Cathy - - family-names: García Alanis - given-names: José C - - family-names: Orfanos - given-names: Dimitri Papadopoulos - - family-names: Hauk - given-names: Olaf - - family-names: Maddox - given-names: Ross - - family-names: LaPlante - given-names: Roan - - family-names: Drew - given-names: Ashley - - family-names: Dinh - given-names: Christoph - - family-names: Dumas - given-names: Guillaume - - name: Martin - - family-names: Benerradi - given-names: Johann - - family-names: Hartmann - given-names: Thomas - - family-names: Ort - given-names: Eduard - - family-names: Billinger - given-names: Martin - - family-names: Pasler - given-names: Paul - - family-names: Repplinger - given-names: Stefan - - family-names: Rudiuk - given-names: Alexander - - family-names: Radanovic - given-names: Ana - - family-names: Buran - given-names: Brad - - family-names: Woessner - given-names: Jacob - - family-names: Massias - given-names: Mathurin - - family-names: Hämäläinen - given-names: Matti - - family-names: Sripad - given-names: Praveen - - family-names: Kern - given-names: Simon - - family-names: Chirkov - given-names: Valerii - - family-names: Mullins - given-names: Christopher - - family-names: Raimundo - given-names: Félix - - family-names: Belonosov - given-names: Gennadiy - - family-names: Kaneda - given-names: Michiru - - family-names: Alday - given-names: Phillip - - family-names: Pari - given-names: Ram - - family-names: Kornblith - given-names: Simon - - family-names: Halchenko - given-names: Yaroslav - - family-names: Luo - given-names: Yu-Han - - family-names: Gramfort - given-names: Alexandre - - family-names: Mahor - given-names: Himanshu - - family-names: Kasper - given-names: Johannes - - family-names: Doelling - given-names: Keith - - family-names: Jensen - given-names: Mads - - family-names: Ruuskanen - given-names: Santeri - - family-names: Gahlot - given-names: Tanay - - family-names: Nunes - given-names: Adonay - - family-names: Yadav - given-names: Aniket Singh - - family-names: Gütlin - given-names: Dirk - - family-names: Heinila - given-names: Erkka - - family-names: Armeni - given-names: Kristijan - - name: kjs - - family-names: Weinstein - given-names: Alejandro - - family-names: Aristimunha - given-names: Bruno - - family-names: Lamus - given-names: Camilo - - family-names: Galván - given-names: Catalina María - - family-names: Moënne-Loccoz - given-names: Cristóbal - - family-names: Altukhov - given-names: Dmitrii - - family-names: Peterson - given-names: Erica - - family-names: Bhat - given-names: Famous Raj - - family-names: Hanna - given-names: Jevri - - family-names: Houck - given-names: Jon - - family-names: Straube - given-names: Michael - - family-names: Klein - given-names: Natalie - - family-names: Roujansky - given-names: Paul - - family-names: Luke - given-names: Rob - - family-names: Férat - given-names: Victor - - family-names: Rantala - given-names: Antti - - family-names: Maess - given-names: Burkhard - - family-names: Forster - given-names: Carina - - family-names: O'Reilly - given-names: Christian - - family-names: Welke - given-names: Dominik - - family-names: Welke - given-names: Dominik - - family-names: Budhiraja - given-names: Hansuja - - family-names: Kolkhorst - given-names: Henrich - - family-names: Banville - given-names: Hubert - - family-names: Zhang - given-names: Jack - - family-names: Maksymenko - given-names: Kostiantyn - - family-names: Clarke - given-names: Maggie - - family-names: Anelli - given-names: Matteo - - family-names: Chapochnikov - given-names: Nikolai - - family-names: Bannier - given-names: Pierre-Antoine - - family-names: Khandelwal - given-names: Pragnya - - family-names: Choudhary - given-names: Saket - - family-names: Kim - given-names: Cora - - family-names: Klotzsche - given-names: Felix - - family-names: Wong - given-names: Fu-Te - - family-names: Abdelhedi - given-names: Hamza - - family-names: Kojcic - given-names: Ivana - - family-names: Nielsen - given-names: Jesper Duemose - - family-names: Lankinen - given-names: Kaisu - - family-names: Tabavi - given-names: Kambiz - - family-names: Thibault - given-names: Louis - - family-names: Gerster - given-names: Moritz - - family-names: Alibou - given-names: Nabil - - family-names: Gayraud - given-names: Nathalie - - family-names: Ward - given-names: Nick - - family-names: Chu - given-names: Qian - - family-names: Herbst - given-names: Sophie - - family-names: Ma - given-names: Tom - - family-names: Radanovic - given-names: Ana - - family-names: Quinn - given-names: Andrew - - family-names: Gauthier - given-names: Antoine - - family-names: Pinsard - given-names: Basile - - family-names: Stephen - given-names: Emily - - family-names: Hornberger - given-names: Erik - - family-names: Hathaway - given-names: Evan - - family-names: Kalenkovich - given-names: Evgenii - - family-names: Mamashli - given-names: Fahimeh - - family-names: O'Neill - given-names: George - - family-names: Marinato - given-names: Giorgio - - family-names: Anevar - given-names: Hafeza - - family-names: Sosulski - given-names: Jan - - family-names: Stout - given-names: Jeff - - family-names: Herforth - given-names: Johannes - - family-names: Calder-Travis - given-names: Joshua - - family-names: Zhu - given-names: Judy D - - family-names: Eisenman - given-names: Larry - - family-names: Esch - given-names: Lorenz - - family-names: Dovgialo - given-names: Marian - - family-names: Barascud - given-names: Nicolas - - family-names: Legrand - given-names: Nicolas - - family-names: Kapralov - given-names: Nikolai - - family-names: Molfese - given-names: Peter J - - family-names: Falach - given-names: Rotem - - family-names: Deslauriers-Gauthier - given-names: Samuel - - family-names: Cotroneo - given-names: Silvia - - family-names: Matindi - given-names: Steve - - family-names: Bierer - given-names: Steven - - family-names: Papadopoulo - given-names: Theodore - - family-names: Binns - given-names: Thomas Samuel - - family-names: Stenner - given-names: Tristan - - family-names: Pentamaraju - given-names: Varun Kasyap - - family-names: Peterson - given-names: Victoria - - family-names: Baratz - given-names: Zvi - - family-names: Tonin - given-names: Alessandro - - family-names: Kovrig - given-names: Alexander - - family-names: Srivastava - given-names: Aman - - family-names: Pascarella - given-names: Annalisa - - family-names: Karekal - given-names: Apoorva - - family-names: de la Torre - given-names: Carlos - - family-names: Gohil - given-names: Chetan - - family-names: Zhao - given-names: Christina - - family-names: Krzemiński - given-names: Dominik - - family-names: Makowski - given-names: Dominique - - family-names: Mikulan - given-names: Ezequiel - - family-names: Hofer - given-names: Florian - - family-names: Ritz - given-names: Harrison - - family-names: Schiratti - given-names: Jean-Baptiste - - family-names: Evans - given-names: Jen - - family-names: Veillette - given-names: John - - family-names: Drew - given-names: Jordan - - family-names: Teves - given-names: Joshua - - family-names: Mathewson - given-names: Kyle - - family-names: Gwilliams - given-names: Laura - - family-names: Lementec - given-names: Laurent - - family-names: Varghese - given-names: Lenny - - family-names: Hamilton - given-names: Liberty - - family-names: Gemein - given-names: Lukas - - family-names: Hecker - given-names: Lukas - - name: Lx37 - - family-names: van Es - given-names: Mats - - family-names: Boggess - given-names: Matt - - family-names: Eberlein - given-names: Matthias - - family-names: Žák - given-names: Michal - - family-names: Sherif - given-names: Mohamed - - family-names: Kozhemiako - given-names: Nataliia - - family-names: Srinivasan - given-names: Naveen - - family-names: Wilming - given-names: Niklas - - family-names: Kozynets - given-names: Oleh - - family-names: Ablin - given-names: Pierre - - family-names: Das - given-names: Proloy - - family-names: Bertrand - given-names: Quentin - - family-names: Shoorangiz - given-names: Reza - - family-names: Scholz - given-names: Richard - - family-names: Hübner - given-names: Rodrigo - - family-names: Sommariva - given-names: Sara - - family-names: Er - given-names: Sena - - family-names: Khan - given-names: Sheraz - - family-names: Datta - given-names: Sumalyo - - family-names: Donoghue - given-names: Thomas - - family-names: Jochmann - given-names: Thomas - - family-names: Merk - given-names: Timon - - family-names: Flak - given-names: Tod - - family-names: Dupré la Tour - given-names: Tom - - family-names: NessAiver - given-names: Tziona - - name: akshay0724 - - name: sviter - - family-names: Earle-Richardson - given-names: Aaron - - family-names: Hindle - given-names: Abram - - family-names: Koutsou - given-names: Achilleas - - family-names: Fecker - given-names: Adeline - - family-names: Wagner - given-names: Adina - - family-names: Yadav - given-names: Akhilesh S - - family-names: Ciok - given-names: Alex - - family-names: Lepauvre - given-names: Alex - - family-names: Kiefer - given-names: Alexander - - family-names: Gilbert - given-names: Andy - - family-names: Pradhan - given-names: Aniket - - family-names: Padee - given-names: Anna - - family-names: Dubarry - given-names: Anne-Sophie - - family-names: Collas - given-names: Antoine - - family-names: Waniek - given-names: Anton Nikolas - - family-names: Singhal - given-names: Archit - - family-names: Rokem - given-names: Ariel - - family-names: Pelzer - given-names: Arne - - family-names: Hurst - given-names: Austin - - family-names: Jin - given-names: Beige Jerry - - family-names: Beasley - given-names: Ben - - family-names: Ehinger - given-names: Benedikt - - family-names: Nicenboim - given-names: Bruno - - family-names: de la Torre - given-names: Carlos - - family-names: Clauss - given-names: Christian - - family-names: Mista - given-names: Christian - - family-names: Kechris - given-names: Christodoulos - - family-names: Huber-Huber - given-names: Christoph - - family-names: Li - given-names: Chun-Hui - - family-names: Braboszcz - given-names: Claire - - family-names: Schad - given-names: Daniel C - - family-names: Hasegan - given-names: Daniel - - family-names: Tse - given-names: Daniel - - family-names: Sleiter - given-names: Darin Erat - - family-names: Haslacher - given-names: David - - family-names: Sabbagh - given-names: David - - family-names: Kostas - given-names: Demetres - - family-names: Petkova - given-names: Desislava - - family-names: Issagaliyeva - given-names: Dinara - - family-names: Das - given-names: Diptyajit - - family-names: Wetzel - given-names: Dominik - - family-names: Eich - given-names: Eberhard - - family-names: DuPre - given-names: Elizabeth - - family-names: Lau - given-names: Ellen - - family-names: Olivetti - given-names: Emanuele - - family-names: Zhang - given-names: Emma - - family-names: Ferdman - given-names: Emmanuel - - family-names: Çelik - given-names: Emrecan - - family-names: Varano - given-names: Enrico - - family-names: Altamiranda - given-names: Enzo - - family-names: Brayet - given-names: Eric - - family-names: de Montalivet - given-names: Etienne - - family-names: Goldstein - given-names: Evgeny - - family-names: Mamashli - given-names: Fahimeh - - family-names: Negahbani - given-names: Farzin - - family-names: Zamberlan - given-names: Federico - - family-names: Pop - given-names: Florin - - family-names: Weber - given-names: Frederik D - - family-names: Tan - given-names: Gansheng - - family-names: Brookshire - given-names: Geoff - - family-names: O'Neill - given-names: George - - name: Giulio - - family-names: Lopinti - given-names: Gnaneswar - - family-names: Reina - given-names: Gonzalo - - family-names: Maymandi - given-names: Hamid - - family-names: Arzoo - given-names: Hasrat Ali - - family-names: Sonntag - given-names: Hermann - - family-names: Ye - given-names: Hongjiang - - family-names: Shin - given-names: Hyonyoung - - family-names: Elmas - given-names: Hüseyin Orkun - - family-names: AZZ - given-names: Ilian - - family-names: Machairas - given-names: Ilias - - family-names: Zubarev - given-names: Ivan - - family-names: de Jong - given-names: Ivo - - family-names: Phelan - given-names: Jacob - - family-names: Kaczmarzyk - given-names: Jakub - - family-names: Zerfowski - given-names: Jan - - family-names: van den Bosch - given-names: Jasper J F - - family-names: Van Der Donckt - given-names: Jeroen - - family-names: van der Meer - given-names: Johan - - family-names: Niediek - given-names: Johannes - - family-names: Koen - given-names: Josh - - family-names: Bear - given-names: Joshua J - - family-names: Dammers - given-names: Juergen - - family-names: Galán - given-names: Julia Guiomar Niso - - family-names: Welzel - given-names: Julius - - family-names: Slama - given-names: Katarina - - family-names: Al-Amir - given-names: Katia - - family-names: Leinweber - given-names: Katrin - - family-names: Robbins - given-names: Kay - - family-names: Tsilimparis - given-names: Konstantinos - - family-names: Grabot - given-names: Laetitia - - family-names: Andersen - given-names: Lau Møller - - family-names: Almeida - given-names: Leonardo Rochael - - family-names: Barbosa - given-names: Leonardo S - - family-names: Alfine - given-names: Lorenzo - - family-names: Hejtmánek - given-names: Lukáš - - family-names: Balatsko - given-names: Maksym - - family-names: Kitzbichler - given-names: Manfred - - family-names: Kumar - given-names: Manoj - - family-names: Kadwani - given-names: Manorama - - family-names: Sutela - given-names: Manu - - family-names: Koculak - given-names: Marcin - - family-names: Henney - given-names: Mark - - family-names: BaBer - given-names: Martin - - family-names: Oberg - given-names: Martin - - family-names: van Harmelen - given-names: Martin - - family-names: Scheltienne - given-names: Mathieu - - family-names: Courtemanche - given-names: Matt - - family-names: Tucker - given-names: Matt - - family-names: Visconti di Oleggio Castello - given-names: Matteo - - family-names: Dold - given-names: Matthias - - family-names: Toivonen - given-names: Matti - - family-names: Shader - given-names: Maureen - - family-names: Cespedes - given-names: Mauricio - - family-names: Yayli - given-names: Melih - - family-names: Krause - given-names: Michael - - family-names: Rybář - given-names: Milan - - family-names: He - given-names: Mingjian - - family-names: Daneshzand - given-names: Mohammad - - name: Mojackhak - - family-names: B - given-names: Natneal - - family-names: Fourcaud-Trocmé - given-names: Nicolas - - family-names: Gensollen - given-names: Nicolas - - family-names: Proulx - given-names: Nicole - - family-names: Focke - given-names: Niels - - family-names: Chalas - given-names: Nikolas - - family-names: Markowitz - given-names: Noah - - family-names: Shubi - given-names: Omer - - family-names: Mainar - given-names: Pablo - - family-names: Sundaram - given-names: Padma - - family-names: Anders - given-names: Paul - - family-names: Silva - given-names: Pedro - - family-names: Guetschel - given-names: Pierre - - family-names: Li - given-names: Quanliang - - family-names: Barthélemy - given-names: Quentin - - family-names: Nadkarni - given-names: Rahul - - family-names: Gatti - given-names: Ramiro - - family-names: Apariciogarcia - given-names: Ramonapariciog - - family-names: Aagaard - given-names: Rasmus - - family-names: Nasri - given-names: Reza - - family-names: Koehler - given-names: Richard - - family-names: Stargardsky - given-names: Riessarius - - family-names: Oostenveld - given-names: Robert - - family-names: Seymour - given-names: Robert - - family-names: Schirrmeister - given-names: Robin Tibor - - family-names: Jin - given-names: Rongfei - - family-names: Wieske - given-names: Roy Eric - - family-names: Law - given-names: Ryan - - family-names: Pai - given-names: Sagun - - family-names: Perry - given-names: Sam - - family-names: Louviot - given-names: Samuel - - family-names: Martínez - given-names: Santi - - family-names: Saha - given-names: Sawradip - - family-names: Mathot - given-names: Sebastiaan - - family-names: Jentschke - given-names: Sebastian - - family-names: Major - given-names: Sebastian - - family-names: Treguer - given-names: Sebastien - - family-names: Castaño - given-names: Sebastián - - family-names: Deng - given-names: Senwen - - family-names: Antopolskiy - given-names: Sergey - - family-names: Shirazi - given-names: Seyed (Yahya) - - family-names: Keshari - given-names: Shresth - - family-names: Baral - given-names: Shristi - - family-names: Baral - given-names: Shristi - - family-names: Bhale - given-names: Shruti - - family-names: Wong - given-names: Simeon - - family-names: Wong - given-names: Simeon - - family-names: Hofmann - given-names: Simon M - - family-names: Poil - given-names: Simon-Shlomo - - family-names: Foslien - given-names: Sondre - - family-names: Singh - given-names: Sourav - - family-names: Chivukula - given-names: Srivarsha - - family-names: Chambon - given-names: Stanislas - - family-names: Magnússon - given-names: Steinn Hauser - - family-names: Bethard - given-names: Steven - - family-names: Gutstein - given-names: Steven M - - family-names: Meyer - given-names: Svea Marie - - family-names: Wang - given-names: T - - family-names: Fehervari - given-names: Tamas - - family-names: Taivainen - given-names: Teemu - - family-names: Jayawardana - given-names: Tharupahan - - family-names: Caswell - given-names: Thomas A - - family-names: Moreau - given-names: Thomas - - family-names: Radman - given-names: Thomas - - family-names: Gates - given-names: Timothy - - family-names: Stone - given-names: Tom - - family-names: Clausner - given-names: Tommy - - family-names: Anijärv - given-names: Toomas Erik - - family-names: Kumaravel - given-names: Velu Prabhakar - - family-names: Xu - given-names: Wei - - family-names: Turner - given-names: Will - - family-names: Zuazo - given-names: Xabier de - - family-names: Xia - given-names: Xiaokai - - family-names: Zuo - given-names: Yiping - - family-names: Shen - given-names: Yixiao - - family-names: Truong - given-names: Young - - family-names: Zhang - given-names: Zhi - - family-names: ZENG - given-names: Ziyi - - name: btkcodedev - - name: buildqa - - name: luzpaz - - name: user27182 +- family-names: Larson + given-names: Eric +- family-names: Gramfort + given-names: Alexandre +- family-names: Engemann + given-names: Denis A +- family-names: Leppakangas + given-names: Jaakko +- family-names: Brodbeck + given-names: Christian +- family-names: Jas + given-names: Mainak +- family-names: Brooks + given-names: Teon L +- family-names: Sassenhagen + given-names: Jona +- family-names: McCloy + given-names: Daniel +- family-names: Luessi + given-names: Martin +- family-names: King + given-names: Jean-Rémi +- family-names: Höchenberger + given-names: Richard +- family-names: Brunner + given-names: Clemens +- family-names: Goj + given-names: Roman +- family-names: Favelier + given-names: Guillaume +- family-names: van Vliet + given-names: Marijn +- family-names: Wronkiewicz + given-names: Mark +- family-names: Appelhoff + given-names: Stefan +- family-names: Rockhill + given-names: Alex +- family-names: Holdgraf + given-names: Chris +- family-names: Scheltienne + given-names: Mathieu +- family-names: Massich + given-names: Joan +- family-names: Bekhti + given-names: Yousra +- family-names: Leggitt + given-names: Alan +- family-names: Dykstra + given-names: Andrew +- family-names: Trachel + given-names: Romain +- family-names: Luke + given-names: Robert +- family-names: De Santis + given-names: Lorenzo +- family-names: Panda + given-names: Asish +- family-names: Magnuski + given-names: Mikołaj +- family-names: Binns + given-names: Thomas S +- family-names: Westner + given-names: Britta +- family-names: Wakeman + given-names: Dan G +- family-names: Strohmeier + given-names: Daniel +- family-names: Bharadwaj + given-names: Hari +- family-names: Linzen + given-names: Tal +- family-names: Barachant + given-names: Alexandre +- family-names: Ruzich + given-names: Emily +- family-names: Huberty + given-names: Scott +- family-names: Bailey + given-names: Christopher J +- family-names: Li + given-names: Adam +- family-names: Moutard + given-names: Clément +- family-names: Bloy + given-names: Luke +- family-names: Raimondo + given-names: Fede +- family-names: Nurminen + given-names: Jussi +- family-names: Billinger + given-names: Martin +- family-names: Montoya + given-names: Jair +- family-names: Woodman + given-names: Marmaduke +- family-names: Lee + given-names: Ingoo +- family-names: Schulz + given-names: Martin +- family-names: Foti + given-names: Nick +- family-names: Nangini + given-names: Cathy +- family-names: García Alanis + given-names: José C +- family-names: Orfanos + given-names: Dimitri Papadopoulos +- family-names: Hauk + given-names: Olaf +- family-names: Maddox + given-names: Ross +- family-names: LaPlante + given-names: Roan +- family-names: Drew + given-names: Ashley +- family-names: Dinh + given-names: Christoph +- family-names: Dumas + given-names: Guillaume +- name: Martin +- family-names: Khandelwal + given-names: Pragnya +- family-names: Benerradi + given-names: Johann +- family-names: Hartmann + given-names: Thomas +- family-names: Ort + given-names: Eduard +- family-names: Billinger + given-names: Martin +- family-names: Pasler + given-names: Paul +- family-names: Repplinger + given-names: Stefan +- family-names: Rudiuk + given-names: Alexander +- family-names: Radanovic + given-names: Ana +- family-names: Yadav + given-names: Aniket Singh +- family-names: Buran + given-names: Brad +- family-names: Mahor + given-names: Himanshu +- family-names: Woessner + given-names: Jacob +- family-names: Massias + given-names: Mathurin +- family-names: Hämäläinen + given-names: Matti +- family-names: Sripad + given-names: Praveen +- family-names: Kern + given-names: Simon +- family-names: Chirkov + given-names: Valerii +- family-names: Mullins + given-names: Christopher +- family-names: Raimundo + given-names: Félix +- family-names: Belonosov + given-names: Gennadiy +- family-names: Kaneda + given-names: Michiru +- family-names: Alday + given-names: Phillip +- family-names: Pari + given-names: Ram +- family-names: Kornblith + given-names: Simon +- family-names: Halchenko + given-names: Yaroslav +- family-names: Luo + given-names: Yu-Han +- family-names: Gramfort + given-names: Alexandre +- family-names: Bhat + given-names: Famous Raj +- family-names: Kasper + given-names: Johannes +- family-names: Doelling + given-names: Keith +- family-names: Jensen + given-names: Mads +- family-names: Ruuskanen + given-names: Santeri +- family-names: Gahlot + given-names: Tanay +- family-names: Nunes + given-names: Adonay +- family-names: Aristimunha + given-names: Bruno +- family-names: Forster + given-names: Carina +- family-names: Gütlin + given-names: Dirk +- family-names: Heinila + given-names: Erkka +- family-names: Armeni + given-names: Kristijan +- family-names: Straube + given-names: Michael +- name: kjs +- family-names: Weinstein + given-names: Alejandro +- family-names: Lamus + given-names: Camilo +- family-names: Galván + given-names: Catalina María +- family-names: Moënne-Loccoz + given-names: Cristóbal +- family-names: Altukhov + given-names: Dmitrii +- family-names: Peterson + given-names: Erica +- family-names: Hanna + given-names: Jevri +- family-names: Houck + given-names: Jon +- family-names: Klein + given-names: Natalie +- family-names: Roujansky + given-names: Paul +- family-names: Luke + given-names: Rob +- family-names: Férat + given-names: Victor +- family-names: Rantala + given-names: Antti +- family-names: Maess + given-names: Burkhard +- family-names: O'Reilly + given-names: Christian +- family-names: Welke + given-names: Dominik +- family-names: Welke + given-names: Dominik +- family-names: Budhiraja + given-names: Hansuja +- family-names: Kolkhorst + given-names: Henrich +- family-names: Banville + given-names: Hubert +- family-names: Zhang + given-names: Jack +- family-names: Maksymenko + given-names: Kostiantyn +- family-names: Clarke + given-names: Maggie +- family-names: Anelli + given-names: Matteo +- family-names: Chapochnikov + given-names: Nikolai +- family-names: Bannier + given-names: Pierre-Antoine +- family-names: Choudhary + given-names: Saket +- family-names: Ma + given-names: Tom +- family-names: Kim + given-names: Cora +- family-names: Klotzsche + given-names: Felix +- family-names: Wong + given-names: Fu-Te +- family-names: Abdelhedi + given-names: Hamza +- family-names: Kojcic + given-names: Ivana +- family-names: Nielsen + given-names: Jesper Duemose +- family-names: Lankinen + given-names: Kaisu +- family-names: Tabavi + given-names: Kambiz +- family-names: Thibault + given-names: Louis +- family-names: Gerster + given-names: Moritz +- family-names: Alibou + given-names: Nabil +- family-names: Gayraud + given-names: Nathalie +- family-names: Ward + given-names: Nick +- family-names: Kapralov + given-names: Nikolai +- family-names: Chu + given-names: Qian +- family-names: Herbst + given-names: Sophie +- family-names: Srivastava + given-names: Aman +- family-names: Radanovic + given-names: Ana +- family-names: Quinn + given-names: Andrew +- family-names: Gauthier + given-names: Antoine +- family-names: Pinsard + given-names: Basile +- family-names: Stephen + given-names: Emily +- family-names: Hornberger + given-names: Erik +- family-names: Hathaway + given-names: Evan +- family-names: Kalenkovich + given-names: Evgenii +- family-names: Mamashli + given-names: Fahimeh +- family-names: O'Neill + given-names: George +- family-names: Marinato + given-names: Giorgio +- family-names: Anevar + given-names: Hafeza +- family-names: Sosulski + given-names: Jan +- family-names: Stout + given-names: Jeff +- family-names: Herforth + given-names: Johannes +- family-names: Calder-Travis + given-names: Joshua +- family-names: Zhu + given-names: Judy D +- family-names: Eisenman + given-names: Larry +- family-names: Esch + given-names: Lorenz +- family-names: Dovgialo + given-names: Marian +- family-names: Barascud + given-names: Nicolas +- family-names: Legrand + given-names: Nicolas +- name: Payam +- family-names: Molfese + given-names: Peter J +- family-names: Falach + given-names: Rotem +- family-names: Deslauriers-Gauthier + given-names: Samuel +- family-names: Cotroneo + given-names: Silvia +- family-names: Matindi + given-names: Steve +- family-names: Bierer + given-names: Steven +- family-names: Papadopoulo + given-names: Theodore +- family-names: Binns + given-names: Thomas Samuel +- family-names: Stenner + given-names: Tristan +- family-names: Pentamaraju + given-names: Varun Kasyap +- family-names: Peterson + given-names: Victoria +- family-names: Baratz + given-names: Zvi +- family-names: M + given-names: ATHISH +- family-names: Tonin + given-names: Alessandro +- family-names: Kovrig + given-names: Alexander +- family-names: Pascarella + given-names: Annalisa +- family-names: Karekal + given-names: Apoorva +- family-names: de la Torre + given-names: Carlos +- family-names: Gohil + given-names: Chetan +- family-names: Zhao + given-names: Christina +- family-names: Krzemiński + given-names: Dominik +- family-names: Makowski + given-names: Dominique +- family-names: Mikulan + given-names: Ezequiel +- family-names: Hofer + given-names: Florian +- family-names: Ritz + given-names: Harrison +- family-names: Schiratti + given-names: Jean-Baptiste +- family-names: Evans + given-names: Jen +- family-names: Veillette + given-names: John +- family-names: Drew + given-names: Jordan +- family-names: Teves + given-names: Joshua +- family-names: Mäkelä + given-names: Kalle +- family-names: Mathewson + given-names: Kyle +- family-names: Gwilliams + given-names: Laura +- family-names: Lementec + given-names: Laurent +- family-names: Varghese + given-names: Lenny +- family-names: Hamilton + given-names: Liberty +- name: Lifeng +- family-names: Gemein + given-names: Lukas +- family-names: Hecker + given-names: Lukas +- name: Lx37 +- family-names: Oberg + given-names: Martin +- family-names: van Es + given-names: Mats +- family-names: Boggess + given-names: Matt +- family-names: Eberlein + given-names: Matthias +- family-names: Žák + given-names: Michal +- family-names: Sherif + given-names: Mohamed +- family-names: Kozhemiako + given-names: Nataliia +- family-names: Srinivasan + given-names: Naveen +- family-names: Wilming + given-names: Niklas +- family-names: Kozynets + given-names: Oleh +- family-names: Ablin + given-names: Pierre +- family-names: Das + given-names: Proloy +- family-names: Bertrand + given-names: Quentin +- family-names: Shoorangiz + given-names: Reza +- family-names: Scholz + given-names: Richard +- family-names: Hübner + given-names: Rodrigo +- family-names: Sommariva + given-names: Sara +- family-names: Er + given-names: Sena +- family-names: Khan + given-names: Sheraz +- family-names: Datta + given-names: Sumalyo +- family-names: Donoghue + given-names: Thomas +- family-names: Jochmann + given-names: Thomas +- family-names: Merk + given-names: Timon +- family-names: Flak + given-names: Tod +- family-names: Dupré la Tour + given-names: Tom +- family-names: NessAiver + given-names: Tziona +- name: akshay0724 +- name: sviter +- family-names: Earle-Richardson + given-names: Aaron +- family-names: Hindle + given-names: Abram +- family-names: Koutsou + given-names: Achilleas +- family-names: Fecker + given-names: Adeline +- family-names: Wagner + given-names: Adina +- family-names: Yadav + given-names: Akhilesh S +- family-names: Ciok + given-names: Alex +- family-names: Lepauvre + given-names: Alex +- family-names: Kiefer + given-names: Alexander +- family-names: Gilbert + given-names: Andy +- family-names: Pradhan + given-names: Aniket +- family-names: Padee + given-names: Anna +- family-names: Dubarry + given-names: Anne-Sophie +- family-names: Collas + given-names: Antoine +- family-names: Waniek + given-names: Anton Nikolas +- family-names: Verma + given-names: Apoorva +- family-names: Singhal + given-names: Archit +- family-names: Rokem + given-names: Ariel +- family-names: Pelzer + given-names: Arne +- family-names: Hurst + given-names: Austin +- family-names: Satodiya + given-names: Ayushi +- name: Baris +- family-names: Jin + given-names: Beige Jerry +- family-names: Beasley + given-names: Ben +- family-names: Tang + given-names: Ben +- family-names: Ehinger + given-names: Benedikt +- family-names: Kowshik + given-names: Bhargav +- family-names: Nicenboim + given-names: Bruno +- family-names: de la Torre + given-names: Carlos +- family-names: Conday + given-names: Cedric +- family-names: Clauss + given-names: Christian +- family-names: Mista + given-names: Christian +- family-names: Kechris + given-names: Christodoulos +- family-names: Huber-Huber + given-names: Christoph +- family-names: Li + given-names: Chun-Hui +- family-names: Braboszcz + given-names: Claire +- family-names: Schad + given-names: Daniel C +- family-names: Hasegan + given-names: Daniel +- family-names: Tse + given-names: Daniel +- family-names: Sleiter + given-names: Darin Erat +- family-names: Haslacher + given-names: David +- family-names: Sabbagh + given-names: David +- name: Deep +- family-names: Kostas + given-names: Demetres +- family-names: Petkova + given-names: Desislava +- family-names: Issagaliyeva + given-names: Dinara +- family-names: Das + given-names: Diptyajit +- family-names: Wetzel + given-names: Dominik +- family-names: Eich + given-names: Eberhard +- family-names: DuPre + given-names: Elizabeth +- family-names: Lau + given-names: Ellen +- family-names: Olivetti + given-names: Emanuele +- family-names: Zhang + given-names: Emma +- family-names: Ferdman + given-names: Emmanuel +- family-names: Çelik + given-names: Emrecan +- family-names: Varano + given-names: Enrico +- family-names: Altamiranda + given-names: Enzo +- family-names: Brayet + given-names: Eric +- family-names: de Montalivet + given-names: Etienne +- family-names: Goldstein + given-names: Evgeny +- family-names: Mamashli + given-names: Fahimeh +- family-names: Negahbani + given-names: Farzin +- family-names: Zamberlan + given-names: Federico +- family-names: Pop + given-names: Florin +- family-names: Weber + given-names: Frederik D +- family-names: Tan + given-names: Gansheng +- family-names: Brookshire + given-names: Geoff +- family-names: O'Neill + given-names: George +- name: Giulio +- family-names: Lopinti + given-names: Gnaneswar +- family-names: Reina + given-names: Gonzalo +- family-names: Maymandi + given-names: Hamid +- family-names: Arzoo + given-names: Hasrat Ali +- family-names: Sonntag + given-names: Hermann +- family-names: Ye + given-names: Hongjiang +- family-names: Shin + given-names: Hyonyoung +- family-names: Elmas + given-names: Hüseyin Orkun +- family-names: AZZ + given-names: Ilian +- family-names: Machairas + given-names: Ilias +- family-names: Zubarev + given-names: Ivan +- family-names: de Jong + given-names: Ivo +- family-names: Phelan + given-names: Jacob +- family-names: Kaczmarzyk + given-names: Jakub +- family-names: Zerfowski + given-names: Jan +- family-names: van den Bosch + given-names: Jasper J F +- family-names: Van Der Donckt + given-names: Jeroen +- family-names: van der Meer + given-names: Johan +- family-names: Niediek + given-names: Johannes +- family-names: Mago + given-names: Jonas +- family-names: Koen + given-names: Josh +- family-names: Bear + given-names: Joshua J +- family-names: Dammers + given-names: Juergen +- family-names: Galán + given-names: Julia Guiomar Niso +- family-names: Dubois + given-names: Julien +- family-names: Welzel + given-names: Julius +- family-names: Slama + given-names: Katarina +- family-names: Al-Amir + given-names: Katia +- family-names: Leinweber + given-names: Katrin +- family-names: Robbins + given-names: Kay +- family-names: Tsilimparis + given-names: Konstantinos +- family-names: Grabot + given-names: Laetitia +- family-names: Andersen + given-names: Lau Møller +- family-names: Almeida + given-names: Leonardo Rochael +- family-names: Barbosa + given-names: Leonardo S +- family-names: Alfine + given-names: Lorenzo +- family-names: Hejtmánek + given-names: Lukáš +- family-names: Balatsko + given-names: Maksym +- family-names: Kitzbichler + given-names: Manfred +- family-names: Kumar + given-names: Manoj +- family-names: Kadwani + given-names: Manorama +- family-names: Sutela + given-names: Manu +- family-names: Koculak + given-names: Marcin +- family-names: Henney + given-names: Mark +- family-names: BaBer + given-names: Martin +- family-names: van Harmelen + given-names: Martin +- family-names: Sablé-Meyer + given-names: Mathias +- family-names: Scheltienne + given-names: Mathieu +- family-names: Courtemanche + given-names: Matt +- family-names: Tucker + given-names: Matt +- family-names: Visconti di Oleggio Castello + given-names: Matteo +- family-names: Dold + given-names: Matthias +- family-names: Toivonen + given-names: Matti +- family-names: Shader + given-names: Maureen +- family-names: Cespedes + given-names: Mauricio +- family-names: Yayli + given-names: Melih +- family-names: Krause + given-names: Michael +- family-names: Rybář + given-names: Milan +- family-names: He + given-names: Mingjian +- family-names: Daneshzand + given-names: Mohammad +- name: Mojackhak +- family-names: B + given-names: Natneal +- family-names: Fourcaud-Trocmé + given-names: Nicolas +- family-names: Gensollen + given-names: Nicolas +- family-names: Proulx + given-names: Nicole +- family-names: Focke + given-names: Niels +- family-names: Chalas + given-names: Nikolas +- family-names: Markowitz + given-names: Noah +- family-names: Shubi + given-names: Omer +- family-names: Mainar + given-names: Pablo +- family-names: Sundaram + given-names: Padma +- family-names: Anders + given-names: Paul +- family-names: Popov + given-names: Pavel +- family-names: Silva + given-names: Pedro +- family-names: Guetschel + given-names: Pierre +- family-names: Li + given-names: Quanliang +- family-names: Barthélemy + given-names: Quentin +- family-names: Nadkarni + given-names: Rahul +- family-names: Gatti + given-names: Ramiro +- family-names: Apariciogarcia + given-names: Ramonapariciog +- family-names: Aagaard + given-names: Rasmus +- family-names: Nasri + given-names: Reza +- family-names: Koehler + given-names: Richard +- family-names: Stargardsky + given-names: Riessarius +- family-names: Oostenveld + given-names: Robert +- family-names: Seymour + given-names: Robert +- family-names: Schirrmeister + given-names: Robin Tibor +- family-names: Jin + given-names: Rongfei +- family-names: Wieske + given-names: Roy Eric +- family-names: Law + given-names: Ryan +- family-names: Pai + given-names: Sagun +- family-names: Perry + given-names: Sam +- family-names: Louviot + given-names: Samuel +- family-names: Martínez + given-names: Santi +- family-names: Saha + given-names: Sawradip +- family-names: Mathot + given-names: Sebastiaan +- family-names: Jentschke + given-names: Sebastian +- family-names: Major + given-names: Sebastian +- family-names: Treguer + given-names: Sebastien +- family-names: Castaño + given-names: Sebastián +- family-names: Deng + given-names: Senwen +- family-names: Antopolskiy + given-names: Sergey +- family-names: Bashford + given-names: Seth +- family-names: Shirazi + given-names: Seyed (Yahya) +- family-names: Keshari + given-names: Shresth +- family-names: Baral + given-names: Shristi +- family-names: Baral + given-names: Shristi +- family-names: Bhale + given-names: Shruti +- family-names: Wong + given-names: Simeon +- family-names: Wong + given-names: Simeon +- family-names: Hofmann + given-names: Simon M +- family-names: Poil + given-names: Simon-Shlomo +- family-names: Foslien + given-names: Sondre +- family-names: Singh + given-names: Sourav +- family-names: Chivukula + given-names: Srivarsha +- family-names: Chambon + given-names: Stanislas +- family-names: Magnússon + given-names: Steinn Hauser +- family-names: Bethard + given-names: Steven +- family-names: Gutstein + given-names: Steven M +- family-names: Meyer + given-names: Svea Marie +- family-names: Wang + given-names: T +- family-names: Fehervari + given-names: Tamas +- family-names: Taivainen + given-names: Teemu +- family-names: Jayawardana + given-names: Tharupahan +- family-names: Caswell + given-names: Thomas A +- family-names: Moreau + given-names: Thomas +- family-names: Radman + given-names: Thomas +- family-names: Gates + given-names: Timothy +- family-names: Stone + given-names: Tom +- family-names: Clausner + given-names: Tommy +- family-names: Anijärv + given-names: Toomas Erik +- family-names: Kumaravel + given-names: Velu Prabhakar +- family-names: Gao + given-names: Vincent +- family-names: Xu + given-names: Wei +- family-names: Turner + given-names: Will +- family-names: Zuazo + given-names: Xabier de +- family-names: Xia + given-names: Xiaokai +- family-names: Zuo + given-names: Yiping +- family-names: Shen + given-names: Yixiao +- family-names: Truong + given-names: Young +- family-names: Zhang + given-names: Zhi +- family-names: ZENG + given-names: Ziyi +- name: btkcodedev +- name: buildqa +- name: luzpaz +- name: pjdurka +- name: tcastillo +- name: user27182 preferred-citation: - title: "MEG and EEG Data Analysis with MNE-Python" - journal: "Frontiers in Neuroscience" + title: MEG and EEG Data Analysis with MNE-Python + journal: Frontiers in Neuroscience type: article year: 2013 volume: 7 @@ -893,25 +920,25 @@ preferred-citation: end: 13 doi: 10.3389/fnins.2013.00267 authors: - - family-names: Gramfort - given-names: Alexandre - - family-names: Luessi - given-names: Martin - - family-names: Larson - given-names: Eric - - family-names: Engemann - given-names: Denis A. - - family-names: Strohmeier - given-names: Daniel - - family-names: Brodbeck - given-names: Christian - - family-names: Goj - given-names: Roman - - family-names: Jas - given-names: Mainak - - family-names: Brooks - given-names: Teon - - family-names: Parkkonen - given-names: Lauri - - family-names: Hämäläinen - given-names: Matti S. + - family-names: Gramfort + given-names: Alexandre + - family-names: Luessi + given-names: Martin + - family-names: Larson + given-names: Eric + - family-names: Engemann + given-names: Denis A. + - family-names: Strohmeier + given-names: Daniel + - family-names: Brodbeck + given-names: Christian + - family-names: Goj + given-names: Roman + - family-names: Jas + given-names: Mainak + - family-names: Brooks + given-names: Teon + - family-names: Parkkonen + given-names: Lauri + - family-names: Hämäläinen + given-names: Matti S. diff --git a/codemeta.json b/codemeta.json index 732f9cfe51e..1455d524bb6 100644 --- a/codemeta.json +++ b/codemeta.json @@ -5,43 +5,39 @@ "codeRepository": "git+https://github.com/mne-tools/mne-python.git", "dateCreated": "2010-12-26", "datePublished": "2014-08-04", - "dateModified": "2026-04-07", - "downloadUrl": "https://github.com/mne-tools/mne-python/archive/v1.12.0.zip", + "dateModified": "2026-07-03", + "downloadUrl": "https://github.com/mne-tools/mne-python/archive/v1.13.0.zip", "issueTracker": "https://github.com/mne-tools/mne-python/issues", "name": "MNE-Python", - "version": "1.12.0", - "description": "MNE-Python is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data. It provides methods for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics.", + "version": "1.13.0", + "description": "MNE-Python project for MEG and EEG data analysis.", "applicationCategory": "Neuroscience", "developmentStatus": "active", - "referencePublication": "https://doi.org/10.3389/fnins.2013.00267", + "referencePublication": "10.3389/fnins.2013.00267", "keywords": [ - "MEG", - "magnetoencephalography", + "brain", + "ECoG", "EEG", - "electroencephalography", "fNIRS", - "functional near-infrared spectroscopy", - "iEEG", - "intracranial EEG", - "eCoG", - "electrocorticography", - "DBS", - "deep brain stimulation" + "MEG", + "neuroimaging", + "neuroscience" ], "programmingLanguage": [ "Python" ], "operatingSystem": [ - "Linux", - "Windows", - "macOS" + "MacOS", + "POSIX", + "Unix", + "Windows" ], "softwareRequirements": [ - "python>= 3.10", + "python >= 3.10", "decorator >= 5.1", "jinja2 >= 3.1", "lazy_loader >= 0.3", - "matplotlib >= 3.8", + "matplotlib >= 3.9", "numpy >= 1.26, < 3", "packaging", "pooch >= 1.5", @@ -50,2626 +46,2740 @@ ], "author": [ { - "@type":"Person", - "email":"larson.eric.d@gmail.com", - "givenName":"Eric", - "familyName": "Larson" + "@type": "Person", + "email": "larson.eric.d@gmail.com", + "givenName": "Eric", + "familyName": "Larson" + }, + { + "@type": "Person", + "email": "alexandre.gramfort@inria.fr", + "givenName": "Alexandre", + "familyName": "Gramfort" + }, + { + "@type": "Person", + "email": "denis.engemann@gmail.com", + "givenName": "Denis A", + "familyName": "Engemann" + }, + { + "@type": "Person", + "email": "jaeilepp@gmail.com", + "givenName": "Jaakko", + "familyName": "Leppakangas" + }, + { + "@type": "Person", + "email": "christianmbrodbeck@gmail.com", + "givenName": "Christian", + "familyName": "Brodbeck" + }, + { + "@type": "Person", + "email": "mainakjas@gmail.com", + "givenName": "Mainak", + "familyName": "Jas" + }, + { + "@type": "Person", + "email": "teon.brooks@gmail.com", + "givenName": "Teon L", + "familyName": "Brooks" + }, + { + "@type": "Person", + "email": "jona.sassenhagen@gmail.com", + "givenName": "Jona", + "familyName": "Sassenhagen" + }, + { + "@type": "Person", + "email": "dan@mccloy.info", + "givenName": "Daniel", + "familyName": "McCloy" + }, + { + "@type": "Person", + "email": "mluessi@nmr.mgh.harvard.edu", + "givenName": "Martin", + "familyName": "Luessi" + }, + { + "@type": "Person", + "email": "jeanremi.king+github@gmail.com", + "givenName": "Jean-R\u00e9mi", + "familyName": "King" + }, + { + "@type": "Person", + "email": "richard.hoechenberger@gmail.com", + "givenName": "Richard", + "familyName": "H\u00f6chenberger" + }, + { + "@type": "Person", + "email": "clemens.brunner@gmail.com", + "givenName": "Clemens", + "familyName": "Brunner" + }, + { + "@type": "Person", + "email": "roman.goj@gmail.com", + "givenName": "Roman", + "familyName": "Goj" + }, + { + "@type": "Person", + "email": "guillaume.favelier@gmail.com", + "givenName": "Guillaume", + "familyName": "Favelier" + }, + { + "@type": "Person", + "email": "w.m.vanvliet@gmail.com", + "givenName": "Marijn", + "familyName": "van Vliet" + }, + { + "@type": "Person", + "email": "wronk.mark@gmail.com", + "givenName": "Mark", + "familyName": "Wronkiewicz" + }, + { + "@type": "Person", + "email": "stefan.appelhoff@mailbox.org", + "givenName": "Stefan", + "familyName": "Appelhoff" + }, + { + "@type": "Person", + "email": "aprockhill206@gmail.com", + "givenName": "Alex", + "familyName": "Rockhill" + }, + { + "@type": "Person", + "email": "choldgraf@gmail.com", + "givenName": "Chris", + "familyName": "Holdgraf" }, { - "@type":"Person", - "email":"alexandre.gramfort@inria.fr", - "givenName":"Alexandre", - "familyName": "Gramfort" + "@type": "Person", + "email": "mathieu.scheltienne@gmail.com", + "givenName": "Mathieu", + "familyName": "Scheltienne" }, { - "@type":"Person", - "email":"denis.engemann@gmail.com", - "givenName":"Denis A", - "familyName": "Engemann" + "@type": "Person", + "email": "mailsik@gmail.com", + "givenName": "Joan", + "familyName": "Massich" }, { - "@type":"Person", - "email":"jaeilepp@gmail.com", - "givenName":"Jaakko", - "familyName": "Leppakangas" + "@type": "Person", + "email": "yousra.bekhti@gmail.com", + "givenName": "Yousra", + "familyName": "Bekhti" }, { - "@type":"Person", - "email":"christianmbrodbeck@gmail.com", - "givenName":"Christian", - "familyName": "Brodbeck" + "@type": "Person", + "email": "leggitta3@gmail.com", + "givenName": "Alan", + "familyName": "Leggitt" }, { - "@type":"Person", - "email":"mainakjas@gmail.com", - "givenName":"Mainak", - "familyName": "Jas" + "@type": "Person", + "email": "andrew.r.dykstra@gmail.com", + "givenName": "Andrew", + "familyName": "Dykstra" }, { - "@type":"Person", - "email":"teon.brooks@gmail.com", - "givenName":"Teon L", - "familyName": "Brooks" + "@type": "Person", + "email": "t.s.binns@outlook.com", + "givenName": "Thomas S", + "familyName": "Binns" }, { - "@type":"Person", - "email":"jona.sassenhagen@gmail.com", - "givenName":"Jona", - "familyName": "Sassenhagen" + "@type": "Person", + "email": "romain.trachel@inria.fr", + "givenName": "Romain", + "familyName": "Trachel" }, { - "@type":"Person", - "email":"dan@mccloy.info", - "givenName":"Daniel", - "familyName": "McCloy" + "@type": "Person", + "email": "code@robertluke.net", + "givenName": "Robert", + "familyName": "Luke" }, { - "@type":"Person", - "email":"mluessi@nmr.mgh.harvard.edu", - "givenName":"Martin", - "familyName": "Luessi" + "@type": "Person", + "email": "desantis.lnz@gmail.com", + "givenName": "Lorenzo", + "familyName": "De Santis" }, { - "@type":"Person", - "email":"jeanremi.king+github@gmail.com", - "givenName":"Jean-Rémi", - "familyName": "King" + "@type": "Person", + "email": "asishrocks95@gmail.com", + "givenName": "Asish", + "familyName": "Panda" }, { - "@type":"Person", - "email":"richard.hoechenberger@gmail.com", - "givenName":"Richard", - "familyName": "Höchenberger" + "@type": "Person", + "email": "mmagnuski@swps.edu.pl", + "givenName": "Miko\u0142aj", + "familyName": "Magnuski" }, { - "@type":"Person", - "email":"clemens.brunner@gmail.com", - "givenName":"Clemens", - "familyName": "Brunner" + "@type": "Person", + "email": "britta.wstnr@gmail.com", + "givenName": "Britta", + "familyName": "Westner" }, { - "@type":"Person", - "email":"roman.goj@gmail.com", - "givenName":"Roman", - "familyName": "Goj" + "@type": "Person", + "email": "dgwakeman@gmail.com", + "givenName": "Dan G", + "familyName": "Wakeman" }, { - "@type":"Person", - "email":"guillaume.favelier@gmail.com", - "givenName":"Guillaume", - "familyName": "Favelier" + "@type": "Person", + "email": "daniel.strohmeier@googlemail.com", + "givenName": "Daniel", + "familyName": "Strohmeier" }, { - "@type":"Person", - "email":"w.m.vanvliet@gmail.com", - "givenName":"Marijn", - "familyName": "van Vliet" + "@type": "Person", + "email": "hari@nmr.mgh.harvard.edu", + "givenName": "Hari", + "familyName": "Bharadwaj" }, { - "@type":"Person", - "email":"wronk.mark@gmail.com", - "givenName":"Mark", - "familyName": "Wronkiewicz" + "@type": "Person", + "email": "tal.linzen@gmail.com", + "givenName": "Tal", + "familyName": "Linzen" }, { - "@type":"Person", - "email":"stefan.appelhoff@mailbox.org", - "givenName":"Stefan", - "familyName": "Appelhoff" + "@type": "Person", + "email": "alexandre.barachant@gmail.com", + "givenName": "Alexandre", + "familyName": "Barachant" }, { - "@type":"Person", - "email":"aprockhill206@gmail.com", - "givenName":"Alex", - "familyName": "Rockhill" + "@type": "Person", + "email": "emilyr@nmr.mgh.harvard.edu", + "givenName": "Emily", + "familyName": "Ruzich" }, { - "@type":"Person", - "email":"choldgraf@gmail.com", - "givenName":"Chris", - "familyName": "Holdgraf" + "@type": "Person", + "email": "", + "givenName": "Scott", + "familyName": "Huberty" }, { - "@type":"Person", - "email":"mathieu.scheltienne@gmail.com", - "givenName":"Mathieu", - "familyName": "Scheltienne" + "@type": "Person", + "email": "bailey.cj@gmail.com", + "givenName": "Christopher J", + "familyName": "Bailey" }, { - "@type":"Person", - "email":"mailsik@gmail.com", - "givenName":"Joan", - "familyName": "Massich" + "@type": "Person", + "email": "adam2392@gmail.com", + "givenName": "Adam", + "familyName": "Li" }, { - "@type":"Person", - "email":"yousra.bekhti@gmail.com", - "givenName":"Yousra", - "familyName": "Bekhti" + "@type": "Person", + "email": "clement.moutard@gmail.com", + "givenName": "Cl\u00e9ment", + "familyName": "Moutard" }, { - "@type":"Person", - "email":"leggitta3@gmail.com", - "givenName":"Alan", - "familyName": "Leggitt" + "@type": "Person", + "email": "luke.bloy@gmail.com", + "givenName": "Luke", + "familyName": "Bloy" }, { - "@type":"Person", - "email":"andrew.r.dykstra@gmail.com", - "givenName":"Andrew", - "familyName": "Dykstra" + "@type": "Person", + "email": "federaimondo@gmail.com", + "givenName": "Fede", + "familyName": "Raimondo" }, { - "@type":"Person", - "email":"romain.trachel@inria.fr", - "givenName":"Romain", - "familyName": "Trachel" + "@type": "Person", + "email": "jnu@iki.fi", + "givenName": "Jussi", + "familyName": "Nurminen" }, { - "@type":"Person", - "email":"code@robertluke.net", - "givenName":"Robert", - "familyName": "Luke" + "@type": "Person", + "email": "flKazemakase@gmail.com", + "givenName": "Martin", + "familyName": "Billinger" }, { - "@type":"Person", - "email":"desantis.lnz@gmail.com", - "givenName":"Lorenzo", - "familyName": "De Santis" + "@type": "Person", + "email": "montoya.jair.m@gmail.com", + "givenName": "Jair", + "familyName": "Montoya" }, { - "@type":"Person", - "email":"asishrocks95@gmail.com", - "givenName":"Asish", - "familyName": "Panda" + "@type": "Person", + "email": "mmwoodman@gmail.com", + "givenName": "Marmaduke", + "familyName": "Woodman" }, { - "@type":"Person", - "email":"mmagnuski@swps.edu.pl", - "givenName":"Mikołaj", - "familyName": "Magnuski" + "@type": "Person", + "email": "dlsrnsladlek@naver.com", + "givenName": "Ingoo", + "familyName": "Lee" }, { - "@type":"Person", - "email":"britta.wstnr@gmail.com", - "givenName":"Britta", - "familyName": "Westner" + "@type": "Person", + "email": "dev@mgschulz.de", + "givenName": "Martin", + "familyName": "Schulz" }, { - "@type":"Person", - "email":"dgwakeman@gmail.com", - "givenName":"Dan G", - "familyName": "Wakeman" + "@type": "Person", + "email": "nfoti01@gmail.com", + "givenName": "Nick", + "familyName": "Foti" }, { - "@type":"Person", - "email":"daniel.strohmeier@googlemail.com", - "givenName":"Daniel", - "familyName": "Strohmeier" + "@type": "Person", + "email": "cnangini@gmail.com", + "givenName": "Cathy", + "familyName": "Nangini" }, { - "@type":"Person", - "email":"hari@nmr.mgh.harvard.edu", - "givenName":"Hari", - "familyName": "Bharadwaj" + "@type": "Person", + "email": "joialanisson@gmail.com", + "givenName": "Jos\u00e9 C", + "familyName": "Garc\u00eda Alanis" }, { - "@type":"Person", - "email":"tal.linzen@gmail.com", - "givenName":"Tal", - "familyName": "Linzen" + "@type": "Person", + "email": "", + "givenName": "Dimitri Papadopoulos", + "familyName": "Orfanos" }, { - "@type":"Person", - "email":"alexandre.barachant@gmail.com", - "givenName":"Alexandre", - "familyName": "Barachant" + "@type": "Person", + "email": "olaf.hauk@mrc-cbu.cam.ac.uk", + "givenName": "Olaf", + "familyName": "Hauk" }, { - "@type":"Person", - "email":"emilyr@nmr.mgh.harvard.edu", - "givenName":"Emily", - "familyName": "Ruzich" + "@type": "Person", + "email": "ross.maddox@rochester.edu", + "givenName": "Ross", + "familyName": "Maddox" }, { - "@type":"Person", - "email":"", - "givenName":"Scott", - "familyName": "Huberty" + "@type": "Person", + "email": "aestrivex@gmail.com", + "givenName": "Roan", + "familyName": "LaPlante" }, { - "@type":"Person", - "email":"bailey.cj@gmail.com", - "givenName":"Christopher J", - "familyName": "Bailey" + "@type": "Person", + "email": "ashdrew@uw.edu", + "givenName": "Ashley", + "familyName": "Drew" }, { - "@type":"Person", - "email":"adam2392@gmail.com", - "givenName":"Adam", - "familyName": "Li" + "@type": "Person", + "email": "chdinh@nmr.mgh.harvard.edu", + "givenName": "Christoph", + "familyName": "Dinh" }, { - "@type":"Person", - "email":"clement.moutard@gmail.com", - "givenName":"Clément", - "familyName": "Moutard" + "@type": "Person", + "email": "prag1704@gmail.com", + "givenName": "Pragnya", + "familyName": "Khandelwal" }, { - "@type":"Person", - "email":"luke.bloy@gmail.com", - "givenName":"Luke", - "familyName": "Bloy" + "@type": "Person", + "email": "deep@introspection.eu", + "givenName": "Guillaume", + "familyName": "Dumas" }, { - "@type":"Person", - "email":"federaimondo@gmail.com", - "givenName":"Fede", - "familyName": "Raimondo" + "@type": "Person", + "email": "martin.billinger@tugraz.at", + "givenName": "", + "familyName": "Martin" }, { - "@type":"Person", - "email":"jnu@iki.fi", - "givenName":"Jussi", - "familyName": "Nurminen" + "@type": "Person", + "email": "johann.benerradi@gmail.com", + "givenName": "Johann", + "familyName": "Benerradi" }, { - "@type":"Person", - "email":"flKazemakase@gmail.com", - "givenName":"Martin", - "familyName": "Billinger" + "@type": "Person", + "email": "thomas.hartmann@th-ht.de", + "givenName": "Thomas", + "familyName": "Hartmann" }, { - "@type":"Person", - "email":"montoya.jair.m@gmail.com", - "givenName":"Jair", - "familyName": "Montoya" + "@type": "Person", + "email": "eduardxort@gmail.com", + "givenName": "Eduard", + "familyName": "Ort" }, { - "@type":"Person", - "email":"mmwoodman@gmail.com", - "givenName":"Marmaduke", - "familyName": "Woodman" + "@type": "Person", + "email": "flkazemakase@gmail.com", + "givenName": "Martin", + "familyName": "Billinger" }, { - "@type":"Person", - "email":"t.s.binns@outlook.com", - "givenName":"Thomas S", - "familyName": "Binns" + "@type": "Person", + "email": "paul@ppasler.de", + "givenName": "Paul", + "familyName": "Pasler" }, { - "@type":"Person", - "email":"dlsrnsladlek@naver.com", - "givenName":"Ingoo", - "familyName": "Lee" + "@type": "Person", + "email": "stefan.repplinger@posteo.net", + "givenName": "Stefan", + "familyName": "Repplinger" }, { - "@type":"Person", - "email":"dev@mgschulz.de", - "givenName":"Martin", - "familyName": "Schulz" + "@type": "Person", + "email": "alxanderr@gmail.com", + "givenName": "Alexander", + "familyName": "Rudiuk" }, { - "@type":"Person", - "email":"nfoti01@gmail.com", - "givenName":"Nick", - "familyName": "Foti" + "@type": "Person", + "email": "anaradanovica@gmail.com", + "givenName": "Ana", + "familyName": "Radanovic" }, { - "@type":"Person", - "email":"cnangini@gmail.com", - "givenName":"Cathy", - "familyName": "Nangini" + "@type": "Person", + "email": "", + "givenName": "Aniket Singh", + "familyName": "Yadav" }, { - "@type":"Person", - "email":"joialanisson@gmail.com", - "givenName":"José C", - "familyName": "García Alanis" + "@type": "Person", + "email": "bburan@galenea.com", + "givenName": "Brad", + "familyName": "Buran" }, { - "@type":"Person", - "email":"", - "givenName":"Dimitri Papadopoulos", - "familyName": "Orfanos" + "@type": "Person", + "email": "", + "givenName": "Himanshu", + "familyName": "Mahor" }, { - "@type":"Person", - "email":"olaf.hauk@mrc-cbu.cam.ac.uk", - "givenName":"Olaf", - "familyName": "Hauk" + "@type": "Person", + "email": "Woessner.jacob@gmail.com", + "givenName": "Jacob", + "familyName": "Woessner" }, { - "@type":"Person", - "email":"ross.maddox@rochester.edu", - "givenName":"Ross", - "familyName": "Maddox" + "@type": "Person", + "email": "mathurin.massias@gmail.com", + "givenName": "Mathurin", + "familyName": "Massias" }, { - "@type":"Person", - "email":"aestrivex@gmail.com", - "givenName":"Roan", - "familyName": "LaPlante" + "@type": "Person", + "email": "msh@nmr.mgh.harvard.edu", + "givenName": "Matti", + "familyName": "H\u00e4m\u00e4l\u00e4inen" }, { - "@type":"Person", - "email":"ashdrew@uw.edu", - "givenName":"Ashley", - "familyName": "Drew" + "@type": "Person", + "email": "pravsripad@gmail.com", + "givenName": "Praveen", + "familyName": "Sripad" }, { - "@type":"Person", - "email":"chdinh@nmr.mgh.harvard.edu", - "givenName":"Christoph", - "familyName": "Dinh" + "@type": "Person", + "email": "simon.kern@online.de", + "givenName": "Simon", + "familyName": "Kern" }, { - "@type":"Person", - "email":"deep@introspection.eu", - "givenName":"Guillaume", - "familyName": "Dumas" + "@type": "Person", + "email": "vagechirkov@gmail.com", + "givenName": "Valerii", + "familyName": "Chirkov" }, { - "@type":"Person", - "email":"martin.billinger@tugraz.at", - "givenName":"", - "familyName": "Martin" + "@type": "Person", + "email": "christopherrmullins@gmail.com", + "givenName": "Christopher", + "familyName": "Mullins" }, { - "@type":"Person", - "email":"johann.benerradi@gmail.com", - "givenName":"Johann", - "familyName": "Benerradi" + "@type": "Person", + "email": "gamaz3ps@gmail.com", + "givenName": "F\u00e9lix", + "familyName": "Raimundo" }, { - "@type":"Person", - "email":"thomas.hartmann@th-ht.de", - "givenName":"Thomas", - "familyName": "Hartmann" + "@type": "Person", + "email": "", + "givenName": "Gennadiy", + "familyName": "Belonosov" }, { - "@type":"Person", - "email":"eduardxort@gmail.com", - "givenName":"Eduard", - "familyName": "Ort" + "@type": "Person", + "email": "rcmdnk@gmail.com", + "givenName": "Michiru", + "familyName": "Kaneda" }, { - "@type":"Person", - "email":"flkazemakase@gmail.com", - "givenName":"Martin", - "familyName": "Billinger" + "@type": "Person", + "email": "phillip.alday@mpi.nl", + "givenName": "Phillip", + "familyName": "Alday" }, { - "@type":"Person", - "email":"paul@ppasler.de", - "givenName":"Paul", - "familyName": "Pasler" + "@type": "Person", + "email": "ramsbam@gmail.com", + "givenName": "Ram", + "familyName": "Pari" }, { - "@type":"Person", - "email":"stefan.repplinger@posteo.net", - "givenName":"Stefan", - "familyName": "Repplinger" + "@type": "Person", + "email": "simon@simonster.com", + "givenName": "Simon", + "familyName": "Kornblith" }, { - "@type":"Person", - "email":"alxanderr@gmail.com", - "givenName":"Alexander", - "familyName": "Rudiuk" + "@type": "Person", + "email": "debian@onerussian.com", + "givenName": "Yaroslav", + "familyName": "Halchenko" }, { - "@type":"Person", - "email":"anaradanovica@gmail.com", - "givenName":"Ana", - "familyName": "Radanovic" + "@type": "Person", + "email": "yuhanluo1994@gmail.com", + "givenName": "Yu-Han", + "familyName": "Luo" }, { - "@type":"Person", - "email":"bburan@galenea.com", - "givenName":"Brad", - "familyName": "Buran" + "@type": "Person", + "email": "agramfort@fb.com", + "givenName": "Alexandre", + "familyName": "Gramfort" }, { - "@type":"Person", - "email":"Woessner.jacob@gmail.com", - "givenName":"Jacob", - "familyName": "Woessner" + "@type": "Person", + "email": "famousrajbhatt@gmail.com", + "givenName": "Famous Raj", + "familyName": "Bhat" }, { - "@type":"Person", - "email":"mathurin.massias@gmail.com", - "givenName":"Mathurin", - "familyName": "Massias" + "@type": "Person", + "email": "jeythekey@tutanota.com", + "givenName": "Johannes", + "familyName": "Kasper" }, { - "@type":"Person", - "email":"msh@nmr.mgh.harvard.edu", - "givenName":"Matti", - "familyName": "Hämäläinen" + "@type": "Person", + "email": "kd889@nyu.edu", + "givenName": "Keith", + "familyName": "Doelling" }, { - "@type":"Person", - "email":"pravsripad@gmail.com", - "givenName":"Praveen", - "familyName": "Sripad" + "@type": "Person", + "email": "mje.mads@gmail.com", + "givenName": "Mads", + "familyName": "Jensen" }, { - "@type":"Person", - "email":"simon.kern@online.de", - "givenName":"Simon", - "familyName": "Kern" + "@type": "Person", + "email": "santeri.ruuskanen@aalto.fi", + "givenName": "Santeri", + "familyName": "Ruuskanen" }, { - "@type":"Person", - "email":"vagechirkov@gmail.com", - "givenName":"Valerii", - "familyName": "Chirkov" + "@type": "Person", + "email": "tanaygahlot@gmail.com", + "givenName": "Tanay", + "familyName": "Gahlot" }, { - "@type":"Person", - "email":"christopherrmullins@gmail.com", - "givenName":"Christopher", - "familyName": "Mullins" + "@type": "Person", + "email": "adonay.s.nunes@gmail.com", + "givenName": "Adonay", + "familyName": "Nunes" }, { - "@type":"Person", - "email":"gamaz3ps@gmail.com", - "givenName":"Félix", - "familyName": "Raimundo" + "@type": "Person", + "email": "b.aristimunha@gmail.com", + "givenName": "Bruno", + "familyName": "Aristimunha" }, { - "@type":"Person", - "email":"", - "givenName":"Gennadiy", - "familyName": "Belonosov" + "@type": "Person", + "email": "carinaforster0611@gmail.com", + "givenName": "Carina", + "familyName": "Forster" }, { - "@type":"Person", - "email":"rcmdnk@gmail.com", - "givenName":"Michiru", - "familyName": "Kaneda" + "@type": "Person", + "email": "", + "givenName": "Dirk", + "familyName": "G\u00fctlin" }, { - "@type":"Person", - "email":"phillip.alday@mpi.nl", - "givenName":"Phillip", - "familyName": "Alday" + "@type": "Person", + "email": "erkkahe@gmail.com", + "givenName": "Erkka", + "familyName": "Heinila" }, { - "@type":"Person", - "email":"ramsbam@gmail.com", - "givenName":"Ram", - "familyName": "Pari" + "@type": "Person", + "email": "kristijan.armeni@gmail.com", + "givenName": "Kristijan", + "familyName": "Armeni" }, { - "@type":"Person", - "email":"simon@simonster.com", - "givenName":"Simon", - "familyName": "Kornblith" + "@type": "Person", + "email": "michael.straube.d@gmail.com", + "givenName": "Michael", + "familyName": "Straube" }, { - "@type":"Person", - "email":"debian@onerussian.com", - "givenName":"Yaroslav", - "familyName": "Halchenko" + "@type": "Person", + "email": "kjs@llama", + "givenName": "", + "familyName": "kjs" }, { - "@type":"Person", - "email":"yuhanluo1994@gmail.com", - "givenName":"Yu-Han", - "familyName": "Luo" + "@type": "Person", + "email": "alejandro.weinstein@gmail.com", + "givenName": "Alejandro", + "familyName": "Weinstein" }, { - "@type":"Person", - "email":"agramfort@fb.com", - "givenName":"Alexandre", - "familyName": "Gramfort" + "@type": "Person", + "email": "camilo@neurostat.mit.edu", + "givenName": "Camilo", + "familyName": "Lamus" }, { - "@type":"Person", - "email":"", - "givenName":"Himanshu", - "familyName": "Mahor" + "@type": "Person", + "email": "", + "givenName": "Catalina Mar\u00eda", + "familyName": "Galv\u00e1n" }, { - "@type":"Person", - "email":"jeythekey@tutanota.com", - "givenName":"Johannes", - "familyName": "Kasper" + "@type": "Person", + "email": "cmmoenne@gmail.com", + "givenName": "Crist\u00f3bal", + "familyName": "Mo\u00ebnne-Loccoz" }, { - "@type":"Person", - "email":"kd889@nyu.edu", - "givenName":"Keith", - "familyName": "Doelling" + "@type": "Person", + "email": "dm.altukhov@ya.ru", + "givenName": "Dmitrii", + "familyName": "Altukhov" }, { - "@type":"Person", - "email":"mje.mads@gmail.com", - "givenName":"Mads", - "familyName": "Jensen" + "@type": "Person", + "email": "nordme@uw.edu", + "givenName": "Erica", + "familyName": "Peterson" }, { - "@type":"Person", - "email":"santeri.ruuskanen@aalto.fi", - "givenName":"Santeri", - "familyName": "Ruuskanen" + "@type": "Person", + "email": "jevri.hanna@gmail.com", + "givenName": "Jevri", + "familyName": "Hanna" }, { - "@type":"Person", - "email":"tanaygahlot@gmail.com", - "givenName":"Tanay", - "familyName": "Gahlot" + "@type": "Person", + "email": "jon.houck@gmail.com", + "givenName": "Jon", + "familyName": "Houck" }, { - "@type":"Person", - "email":"adonay.s.nunes@gmail.com", - "givenName":"Adonay", - "familyName": "Nunes" + "@type": "Person", + "email": "neklein@andrew.cmu.edu", + "givenName": "Natalie", + "familyName": "Klein" }, { - "@type":"Person", - "email":"", - "givenName":"Aniket Singh", - "familyName": "Yadav" + "@type": "Person", + "email": "paul@roujansky.eu", + "givenName": "Paul", + "familyName": "Roujansky" }, { - "@type":"Person", - "email":"", - "givenName":"Dirk", - "familyName": "Gütlin" + "@type": "Person", + "email": "code@robertluke.net", + "givenName": "Rob", + "familyName": "Luke" }, { - "@type":"Person", - "email":"erkkahe@gmail.com", - "givenName":"Erkka", - "familyName": "Heinila" + "@type": "Person", + "email": "victor.ferat@live.Fr", + "givenName": "Victor", + "familyName": "F\u00e9rat" }, { - "@type":"Person", - "email":"kristijan.armeni@gmail.com", - "givenName":"Kristijan", - "familyName": "Armeni" + "@type": "Person", + "email": "antti.rantala90@gmail.com", + "givenName": "Antti", + "familyName": "Rantala" }, { - "@type":"Person", - "email":"kjs@llama", - "givenName":"", - "familyName": "kjs" + "@type": "Person", + "email": "burkhard.maess@arcor.de", + "givenName": "Burkhard", + "familyName": "Maess" }, { - "@type":"Person", - "email":"alejandro.weinstein@gmail.com", - "givenName":"Alejandro", - "familyName": "Weinstein" + "@type": "Person", + "email": "christian.oreilly@gmail.com", + "givenName": "Christian", + "familyName": "O'Reilly" }, { - "@type":"Person", - "email":"b.aristimunha@gmail.com", - "givenName":"Bruno", - "familyName": "Aristimunha" + "@type": "Person", + "email": "dominik.welke@ae.mpg.de", + "givenName": "Dominik", + "familyName": "Welke" }, { - "@type":"Person", - "email":"camilo@neurostat.mit.edu", - "givenName":"Camilo", - "familyName": "Lamus" + "@type": "Person", + "email": "dominik.welke@web.de", + "givenName": "Dominik", + "familyName": "Welke" }, { - "@type":"Person", - "email":"", - "givenName":"Catalina María", - "familyName": "Galván" + "@type": "Person", + "email": "hansujaigdtuwcseai@gmail.com", + "givenName": "Hansuja", + "familyName": "Budhiraja" }, { - "@type":"Person", - "email":"cmmoenne@gmail.com", - "givenName":"Cristóbal", - "familyName": "Moënne-Loccoz" + "@type": "Person", + "email": "", + "givenName": "Henrich", + "familyName": "Kolkhorst" }, { - "@type":"Person", - "email":"dm.altukhov@ya.ru", - "givenName":"Dmitrii", - "familyName": "Altukhov" + "@type": "Person", + "email": "hubert.jbanville@gmail.com", + "givenName": "Hubert", + "familyName": "Banville" }, { - "@type":"Person", - "email":"nordme@uw.edu", - "givenName":"Erica", - "familyName": "Peterson" + "@type": "Person", + "email": "zhangmengyu10@gmail.com", + "givenName": "Jack", + "familyName": "Zhang" }, { - "@type":"Person", - "email":"famousrajbhatt@gmail.com", - "givenName":"Famous Raj", - "familyName": "Bhat" + "@type": "Person", + "email": "makkostya@ukr.net", + "givenName": "Kostiantyn", + "familyName": "Maksymenko" }, { - "@type":"Person", - "email":"jevri.hanna@gmail.com", - "givenName":"Jevri", - "familyName": "Hanna" + "@type": "Person", + "email": "mdclarke@uw.edu", + "givenName": "Maggie", + "familyName": "Clarke" }, { - "@type":"Person", - "email":"jon.houck@gmail.com", - "givenName":"Jon", - "familyName": "Houck" + "@type": "Person", + "email": "matteo.anelli@aalto.fi", + "givenName": "Matteo", + "familyName": "Anelli" }, { - "@type":"Person", - "email":"michael.straube.d@gmail.com", - "givenName":"Michael", - "familyName": "Straube" + "@type": "Person", + "email": "", + "givenName": "Nikolai", + "familyName": "Chapochnikov" }, { - "@type":"Person", - "email":"neklein@andrew.cmu.edu", - "givenName":"Natalie", - "familyName": "Klein" + "@type": "Person", + "email": "pierreantoine.bannier@gmail.com", + "givenName": "Pierre-Antoine", + "familyName": "Bannier" }, { - "@type":"Person", - "email":"paul@roujansky.eu", - "givenName":"Paul", - "familyName": "Roujansky" + "@type": "Person", + "email": "saketkc@gmail.com", + "givenName": "Saket", + "familyName": "Choudhary" }, { - "@type":"Person", - "email":"code@robertluke.net", - "givenName":"Rob", - "familyName": "Luke" + "@type": "Person", + "email": "myd7349@gmail.com", + "givenName": "Tom", + "familyName": "Ma" }, { - "@type":"Person", - "email":"victor.ferat@live.Fr", - "givenName":"Victor", - "familyName": "Férat" + "@type": "Person", + "email": "kimjico@gmail.com", + "givenName": "Cora", + "familyName": "Kim" }, { - "@type":"Person", - "email":"antti.rantala90@gmail.com", - "givenName":"Antti", - "familyName": "Rantala" + "@type": "Person", + "email": "klotzsche@cbs.mpg.de", + "givenName": "Felix", + "familyName": "Klotzsche" }, { - "@type":"Person", - "email":"burkhard.maess@arcor.de", - "givenName":"Burkhard", - "familyName": "Maess" + "@type": "Person", + "email": "zuxfoucault@gmail.com", + "givenName": "Fu-Te", + "familyName": "Wong" }, { - "@type":"Person", - "email":"carinaforster0611@gmail.com", - "givenName":"Carina", - "familyName": "Forster" + "@type": "Person", + "email": "hamza.abdelhedii@gmail.com", + "givenName": "Hamza", + "familyName": "Abdelhedi" }, { - "@type":"Person", - "email":"christian.oreilly@gmail.com", - "givenName":"Christian", - "familyName": "O'Reilly" + "@type": "Person", + "email": "", + "givenName": "Ivana", + "familyName": "Kojcic" }, { - "@type":"Person", - "email":"dominik.welke@ae.mpg.de", - "givenName":"Dominik", - "familyName": "Welke" + "@type": "Person", + "email": "jdue@dtu.dk", + "givenName": "Jesper Duemose", + "familyName": "Nielsen" }, { - "@type":"Person", - "email":"dominik.welke@web.de", - "givenName":"Dominik", - "familyName": "Welke" + "@type": "Person", + "email": "", + "givenName": "Kaisu", + "familyName": "Lankinen" }, { - "@type":"Person", - "email":"hansujaigdtuwcseai@gmail.com", - "givenName":"Hansuja", - "familyName": "Budhiraja" + "@type": "Person", + "email": "ktavabi@gmail.com", + "givenName": "Kambiz", + "familyName": "Tabavi" }, { - "@type":"Person", - "email":"", - "givenName":"Henrich", - "familyName": "Kolkhorst" + "@type": "Person", + "email": "louist87@gmail.com", + "givenName": "Louis", + "familyName": "Thibault" }, { - "@type":"Person", - "email":"hubert.jbanville@gmail.com", - "givenName":"Hubert", - "familyName": "Banville" + "@type": "Person", + "email": "", + "givenName": "Moritz", + "familyName": "Gerster" }, { - "@type":"Person", - "email":"zhangmengyu10@gmail.com", - "givenName":"Jack", - "familyName": "Zhang" + "@type": "Person", + "email": "", + "givenName": "Nabil", + "familyName": "Alibou" }, { - "@type":"Person", - "email":"makkostya@ukr.net", - "givenName":"Kostiantyn", - "familyName": "Maksymenko" + "@type": "Person", + "email": "nathalie.gayraud@inria.fr", + "givenName": "Nathalie", + "familyName": "Gayraud" }, { - "@type":"Person", - "email":"mdclarke@uw.edu", - "givenName":"Maggie", - "familyName": "Clarke" + "@type": "Person", + "email": "ward.nickjames@gmail.com", + "givenName": "Nick", + "familyName": "Ward" }, { - "@type":"Person", - "email":"matteo.anelli@aalto.fi", - "givenName":"Matteo", - "familyName": "Anelli" + "@type": "Person", + "email": "4dvlup@gmail.com", + "givenName": "Nikolai", + "familyName": "Kapralov" }, { - "@type":"Person", - "email":"", - "givenName":"Nikolai", - "familyName": "Chapochnikov" + "@type": "Person", + "email": "", + "givenName": "Qian", + "familyName": "Chu" }, { - "@type":"Person", - "email":"pierreantoine.bannier@gmail.com", - "givenName":"Pierre-Antoine", - "familyName": "Bannier" + "@type": "Person", + "email": "ksherbst@gmail.com", + "givenName": "Sophie", + "familyName": "Herbst" }, { - "@type":"Person", - "email":"prag1704@gmail.com", - "givenName":"Pragnya", - "familyName": "Khandelwal" + "@type": "Person", + "email": "", + "givenName": "Aman", + "familyName": "Srivastava" }, { - "@type":"Person", - "email":"saketkc@gmail.com", - "givenName":"Saket", - "familyName": "Choudhary" + "@type": "Person", + "email": "", + "givenName": "Ana", + "familyName": "Radanovic" }, { - "@type":"Person", - "email":"kimjico@gmail.com", - "givenName":"Cora", - "familyName": "Kim" + "@type": "Person", + "email": "", + "givenName": "Andrew", + "familyName": "Quinn" }, { - "@type":"Person", - "email":"klotzsche@cbs.mpg.de", - "givenName":"Felix", - "familyName": "Klotzsche" + "@type": "Person", + "email": "antoine.gauthier@ensta.fr", + "givenName": "Antoine", + "familyName": "Gauthier" }, { - "@type":"Person", - "email":"zuxfoucault@gmail.com", - "givenName":"Fu-Te", - "familyName": "Wong" + "@type": "Person", + "email": "basile.pinsard@umontreal.ca", + "givenName": "Basile", + "familyName": "Pinsard" }, { - "@type":"Person", - "email":"hamza.abdelhedii@gmail.com", - "givenName":"Hamza", - "familyName": "Abdelhedi" + "@type": "Person", + "email": "emilyps14@gmail.com", + "givenName": "Emily", + "familyName": "Stephen" }, { - "@type":"Person", - "email":"", - "givenName":"Ivana", - "familyName": "Kojcic" + "@type": "Person", + "email": "erik.hornberger@shi-g.com", + "givenName": "Erik", + "familyName": "Hornberger" }, { - "@type":"Person", - "email":"jdue@dtu.dk", - "givenName":"Jesper Duemose", - "familyName": "Nielsen" + "@type": "Person", + "email": "", + "givenName": "Evan", + "familyName": "Hathaway" }, { - "@type":"Person", - "email":"", - "givenName":"Kaisu", - "familyName": "Lankinen" + "@type": "Person", + "email": "e.kalenkovich@gmail.com", + "givenName": "Evgenii", + "familyName": "Kalenkovich" }, { - "@type":"Person", - "email":"ktavabi@gmail.com", - "givenName":"Kambiz", - "familyName": "Tabavi" + "@type": "Person", + "email": "", + "givenName": "Fahimeh", + "familyName": "Mamashli" }, { - "@type":"Person", - "email":"louist87@gmail.com", - "givenName":"Louis", - "familyName": "Thibault" + "@type": "Person", + "email": "g.o'neill@ucl.ac.uk", + "givenName": "George", + "familyName": "O'Neill" }, { - "@type":"Person", - "email":"", - "givenName":"Moritz", - "familyName": "Gerster" + "@type": "Person", + "email": "giorgio.marinato@unitn.it", + "givenName": "Giorgio", + "familyName": "Marinato" }, { - "@type":"Person", - "email":"", - "givenName":"Nabil", - "familyName": "Alibou" + "@type": "Person", + "email": "hafiza.taj@gmail.com", + "givenName": "Hafeza", + "familyName": "Anevar" }, { - "@type":"Person", - "email":"nathalie.gayraud@inria.fr", - "givenName":"Nathalie", - "familyName": "Gayraud" + "@type": "Person", + "email": "mail@jan-sosulski.de", + "givenName": "Jan", + "familyName": "Sosulski" }, { - "@type":"Person", - "email":"ward.nickjames@gmail.com", - "givenName":"Nick", - "familyName": "Ward" + "@type": "Person", + "email": "stoutjd@nih.gov", + "givenName": "Jeff", + "familyName": "Stout" }, { - "@type":"Person", - "email":"", - "givenName":"Qian", - "familyName": "Chu" + "@type": "Person", + "email": "johannes@herforth.net", + "givenName": "Johannes", + "familyName": "Herforth" }, { - "@type":"Person", - "email":"ksherbst@gmail.com", - "givenName":"Sophie", - "familyName": "Herbst" + "@type": "Person", + "email": "", + "givenName": "Joshua", + "familyName": "Calder-Travis" }, { - "@type":"Person", - "email":"myd7349@gmail.com", - "givenName":"Tom", - "familyName": "Ma" + "@type": "Person", + "email": "", + "givenName": "Judy D", + "familyName": "Zhu" }, { - "@type":"Person", - "email":"", - "givenName":"Ana", - "familyName": "Radanovic" + "@type": "Person", + "email": "leisenman@wustl.edu", + "givenName": "Larry", + "familyName": "Eisenman" }, { - "@type":"Person", - "email":"", - "givenName":"Andrew", - "familyName": "Quinn" + "@type": "Person", + "email": "Lorenz.Esch@tu-ilmenau.de", + "givenName": "Lorenz", + "familyName": "Esch" }, { - "@type":"Person", - "email":"antoine.gauthier@ensta.fr", - "givenName":"Antoine", - "familyName": "Gauthier" + "@type": "Person", + "email": "marian.dowgialo@gmail.com", + "givenName": "Marian", + "familyName": "Dovgialo" }, { - "@type":"Person", - "email":"basile.pinsard@umontreal.ca", - "givenName":"Basile", - "familyName": "Pinsard" + "@type": "Person", + "email": "", + "givenName": "Nicolas", + "familyName": "Barascud" }, { - "@type":"Person", - "email":"emilyps14@gmail.com", - "givenName":"Emily", - "familyName": "Stephen" + "@type": "Person", + "email": "legrand@cyceron.fr", + "givenName": "Nicolas", + "familyName": "Legrand" }, { - "@type":"Person", - "email":"erik.hornberger@shi-g.com", - "givenName":"Erik", - "familyName": "Hornberger" + "@type": "Person", + "email": "payam.sadeghi74@gmail.com", + "givenName": "Payam", + "familyName": "Sadeghi-Shabestari" }, { - "@type":"Person", - "email":"", - "givenName":"Evan", - "familyName": "Hathaway" + "@type": "Person", + "email": "pmolfese@gmail.com", + "givenName": "Peter J", + "familyName": "Molfese" }, { - "@type":"Person", - "email":"e.kalenkovich@gmail.com", - "givenName":"Evgenii", - "familyName": "Kalenkovich" + "@type": "Person", + "email": "falachrotem@gmail.com", + "givenName": "Rotem", + "familyName": "Falach" }, { - "@type":"Person", - "email":"", - "givenName":"Fahimeh", - "familyName": "Mamashli" + "@type": "Person", + "email": "sam.deslauriers@gmail.com", + "givenName": "Samuel", + "familyName": "Deslauriers-Gauthier" }, { - "@type":"Person", - "email":"g.o'neill@ucl.ac.uk", - "givenName":"George", - "familyName": "O'Neill" + "@type": "Person", + "email": "", + "givenName": "Silvia", + "familyName": "Cotroneo" }, { - "@type":"Person", - "email":"giorgio.marinato@unitn.it", - "givenName":"Giorgio", - "familyName": "Marinato" + "@type": "Person", + "email": "stevematindi@gmail.com", + "givenName": "Steve", + "familyName": "Matindi" }, { - "@type":"Person", - "email":"hafiza.taj@gmail.com", - "givenName":"Hafeza", - "familyName": "Anevar" + "@type": "Person", + "email": "neurolaunch@gmail.copm", + "givenName": "Steven", + "familyName": "Bierer" }, { - "@type":"Person", - "email":"mail@jan-sosulski.de", - "givenName":"Jan", - "familyName": "Sosulski" + "@type": "Person", + "email": "Theodore.Papadopoulo@inria.fr", + "givenName": "Theodore", + "familyName": "Papadopoulo" }, { - "@type":"Person", - "email":"stoutjd@nih.gov", - "givenName":"Jeff", - "familyName": "Stout" + "@type": "Person", + "email": "t.s.binns@outlook.com", + "givenName": "Thomas Samuel", + "familyName": "Binns" }, { - "@type":"Person", - "email":"johannes@herforth.net", - "givenName":"Johannes", - "familyName": "Herforth" + "@type": "Person", + "email": "ttstenner@gmail.com", + "givenName": "Tristan", + "familyName": "Stenner" }, { - "@type":"Person", - "email":"", - "givenName":"Joshua", - "familyName": "Calder-Travis" + "@type": "Person", + "email": "", + "givenName": "Varun Kasyap", + "familyName": "Pentamaraju" }, { - "@type":"Person", - "email":"", - "givenName":"Judy D", - "familyName": "Zhu" + "@type": "Person", + "email": "victoriapeterson09@gmail.com", + "givenName": "Victoria", + "familyName": "Peterson" }, { - "@type":"Person", - "email":"leisenman@wustl.edu", - "givenName":"Larry", - "familyName": "Eisenman" + "@type": "Person", + "email": "z.baratz@gmail.com", + "givenName": "Zvi", + "familyName": "Baratz" }, { - "@type":"Person", - "email":"Lorenz.Esch@tu-ilmenau.de", - "givenName":"Lorenz", - "familyName": "Esch" + "@type": "Person", + "email": "alessandro.tonin@wysscenter.ch", + "givenName": "Alessandro", + "familyName": "Tonin" }, { - "@type":"Person", - "email":"marian.dowgialo@gmail.com", - "givenName":"Marian", - "familyName": "Dovgialo" + "@type": "Person", + "email": "alexander.kovrig@gmail.com", + "givenName": "Alexander", + "familyName": "Kovrig" }, { - "@type":"Person", - "email":"", - "givenName":"Nicolas", - "familyName": "Barascud" + "@type": "Person", + "email": "a.pascarella@iac.cnr.it", + "givenName": "Annalisa", + "familyName": "Pascarella" }, { - "@type":"Person", - "email":"legrand@cyceron.fr", - "givenName":"Nicolas", - "familyName": "Legrand" + "@type": "Person", + "email": "", + "givenName": "Apoorva", + "familyName": "Karekal" }, { - "@type":"Person", - "email":"4dvlup@gmail.com", - "givenName":"Nikolai", - "familyName": "Kapralov" + "@type": "Person", + "email": "athishdresu@gmail.com", + "givenName": "Athish", + "familyName": "M" }, { - "@type":"Person", - "email":"pmolfese@gmail.com", - "givenName":"Peter J", - "familyName": "Molfese" + "@type": "Person", + "email": "", + "givenName": "Carlos", + "familyName": "de la Torre" }, { - "@type":"Person", - "email":"falachrotem@gmail.com", - "givenName":"Rotem", - "familyName": "Falach" + "@type": "Person", + "email": "neumann.alpha@gmail.com", + "givenName": "Cedric", + "familyName": "Conday" }, { - "@type":"Person", - "email":"sam.deslauriers@gmail.com", - "givenName":"Samuel", - "familyName": "Deslauriers-Gauthier" + "@type": "Person", + "email": "", + "givenName": "Chetan", + "familyName": "Gohil" }, { - "@type":"Person", - "email":"", - "givenName":"Silvia", - "familyName": "Cotroneo" + "@type": "Person", + "email": "zhaotc@uw.edu", + "givenName": "Christina", + "familyName": "Zhao" }, { - "@type":"Person", - "email":"stevematindi@gmail.com", - "givenName":"Steve", - "familyName": "Matindi" + "@type": "Person", + "email": "raymon92@gmail.com", + "givenName": "Dominik", + "familyName": "Krzemi\u0144ski" }, { - "@type":"Person", - "email":"neurolaunch@gmail.copm", - "givenName":"Steven", - "familyName": "Bierer" + "@type": "Person", + "email": "dom.mak19@gmail.com", + "givenName": "Dominique", + "familyName": "Makowski" }, { - "@type":"Person", - "email":"Theodore.Papadopoulo@inria.fr", - "givenName":"Theodore", - "familyName": "Papadopoulo" + "@type": "Person", + "email": "e.mikulan@gmail.com", + "givenName": "Ezequiel", + "familyName": "Mikulan" }, { - "@type":"Person", - "email":"t.s.binns@outlook.com", - "givenName":"Thomas Samuel", - "familyName": "Binns" + "@type": "Person", + "email": "hofaflo@gmail.com", + "givenName": "Florian", + "familyName": "Hofer" }, { - "@type":"Person", - "email":"ttstenner@gmail.com", - "givenName":"Tristan", - "familyName": "Stenner" + "@type": "Person", + "email": "harrison.ritz@gmail.com", + "givenName": "Harrison", + "familyName": "Ritz" }, { - "@type":"Person", - "email":"", - "givenName":"Varun Kasyap", - "familyName": "Pentamaraju" + "@type": "Person", + "email": "jean.baptiste.schiratti@gmail.com", + "givenName": "Jean-Baptiste", + "familyName": "Schiratti" }, { - "@type":"Person", - "email":"victoriapeterson09@gmail.com", - "givenName":"Victoria", - "familyName": "Peterson" + "@type": "Person", + "email": "", + "givenName": "Jen", + "familyName": "Evans" }, { - "@type":"Person", - "email":"z.baratz@gmail.com", - "givenName":"Zvi", - "familyName": "Baratz" + "@type": "Person", + "email": "johnv@uchicago.edu", + "givenName": "John", + "familyName": "Veillette" }, { - "@type":"Person", - "email":"alessandro.tonin@wysscenter.ch", - "givenName":"Alessandro", - "familyName": "Tonin" + "@type": "Person", + "email": "", + "givenName": "Jordan", + "familyName": "Drew" }, { - "@type":"Person", - "email":"alexander.kovrig@gmail.com", - "givenName":"Alexander", - "familyName": "Kovrig" + "@type": "Person", + "email": "jbtevespro@gmail.com", + "givenName": "Joshua", + "familyName": "Teves" }, { - "@type":"Person", - "email":"", - "givenName":"Aman", - "familyName": "Srivastava" + "@type": "Person", + "email": "", + "givenName": "Kalle", + "familyName": "M\u00e4kel\u00e4" }, { - "@type":"Person", - "email":"a.pascarella@iac.cnr.it", - "givenName":"Annalisa", - "familyName": "Pascarella" + "@type": "Person", + "email": "kylemath@gmail.com", + "givenName": "Kyle", + "familyName": "Mathewson" }, { - "@type":"Person", - "email":"", - "givenName":"Apoorva", - "familyName": "Karekal" + "@type": "Person", + "email": "lgwilliams90@gmail.com", + "givenName": "Laura", + "familyName": "Gwilliams" }, { - "@type":"Person", - "email":"", - "givenName":"Carlos", - "familyName": "de la Torre" + "@type": "Person", + "email": "laurent.lementec@gmail.com", + "givenName": "Laurent", + "familyName": "Lementec" }, { - "@type":"Person", - "email":"", - "givenName":"Chetan", - "familyName": "Gohil" + "@type": "Person", + "email": "", + "givenName": "Lenny", + "familyName": "Varghese" }, { - "@type":"Person", - "email":"zhaotc@uw.edu", - "givenName":"Christina", - "familyName": "Zhao" + "@type": "Person", + "email": "", + "givenName": "Liberty", + "familyName": "Hamilton" }, { - "@type":"Person", - "email":"raymon92@gmail.com", - "givenName":"Dominik", - "familyName": "Krzemiński" + "@type": "Person", + "email": "", + "givenName": "", + "familyName": "Lifeng" }, { - "@type":"Person", - "email":"dom.mak19@gmail.com", - "givenName":"Dominique", - "familyName": "Makowski" + "@type": "Person", + "email": "lukas.gemein@gmx.de", + "givenName": "Lukas", + "familyName": "Gemein" }, { - "@type":"Person", - "email":"e.mikulan@gmail.com", - "givenName":"Ezequiel", - "familyName": "Mikulan" + "@type": "Person", + "email": "", + "givenName": "Lukas", + "familyName": "Hecker" }, { - "@type":"Person", - "email":"hofaflo@gmail.com", - "givenName":"Florian", - "familyName": "Hofer" + "@type": "Person", + "email": "capmanip@DESKTOP-TLIFEG1.localdomain", + "givenName": "", + "familyName": "Lx37" }, { - "@type":"Person", - "email":"harrison.ritz@gmail.com", - "givenName":"Harrison", - "familyName": "Ritz" + "@type": "Person", + "email": "", + "givenName": "Martin", + "familyName": "Oberg" }, { - "@type":"Person", - "email":"jean.baptiste.schiratti@gmail.com", - "givenName":"Jean-Baptiste", - "familyName": "Schiratti" + "@type": "Person", + "email": "mats.vanes@psych.ox.ac.uk", + "givenName": "Mats", + "familyName": "van Es" }, { - "@type":"Person", - "email":"", - "givenName":"Jen", - "familyName": "Evans" + "@type": "Person", + "email": "", + "givenName": "Matt", + "familyName": "Boggess" }, { - "@type":"Person", - "email":"johnv@uchicago.edu", - "givenName":"John", - "familyName": "Veillette" + "@type": "Person", + "email": "", + "givenName": "Matthias", + "familyName": "Eberlein" }, { - "@type":"Person", - "email":"", - "givenName":"Jordan", - "familyName": "Drew" + "@type": "Person", + "email": "", + "givenName": "Michal", + "familyName": "\u017d\u00e1k" }, { - "@type":"Person", - "email":"jbtevespro@gmail.com", - "givenName":"Joshua", - "familyName": "Teves" + "@type": "Person", + "email": "molpsychistb@gmail.com", + "givenName": "Mohamed", + "familyName": "Sherif" }, { - "@type":"Person", - "email":"kylemath@gmail.com", - "givenName":"Kyle", - "familyName": "Mathewson" + "@type": "Person", + "email": "natakozh22@gmail.com", + "givenName": "Nataliia", + "familyName": "Kozhemiako" }, { - "@type":"Person", - "email":"lgwilliams90@gmail.com", - "givenName":"Laura", - "familyName": "Gwilliams" + "@type": "Person", + "email": "", + "givenName": "Naveen", + "familyName": "Srinivasan" }, { - "@type":"Person", - "email":"laurent.lementec@gmail.com", - "givenName":"Laurent", - "familyName": "Lementec" + "@type": "Person", + "email": "niklas.wilming@gmail.com", + "givenName": "Niklas", + "familyName": "Wilming" }, { - "@type":"Person", - "email":"", - "givenName":"Lenny", - "familyName": "Varghese" + "@type": "Person", + "email": "", + "givenName": "Oleh", + "familyName": "Kozynets" }, { - "@type":"Person", - "email":"", - "givenName":"Liberty", - "familyName": "Hamilton" + "@type": "Person", + "email": "pierreablin@gmail.com", + "givenName": "Pierre", + "familyName": "Ablin" }, { - "@type":"Person", - "email":"lukas.gemein@gmx.de", - "givenName":"Lukas", - "familyName": "Gemein" + "@type": "Person", + "email": "proloy@umd.edu", + "givenName": "Proloy", + "familyName": "Das" }, { - "@type":"Person", - "email":"", - "givenName":"Lukas", - "familyName": "Hecker" + "@type": "Person", + "email": "quentinbertrand54@gmail.com", + "givenName": "Quentin", + "familyName": "Bertrand" }, { - "@type":"Person", - "email":"capmanip@DESKTOP-TLIFEG1.localdomain", - "givenName":"", - "familyName": "Lx37" + "@type": "Person", + "email": "r.shoorangiz@live.com", + "givenName": "Reza", + "familyName": "Shoorangiz" }, { - "@type":"Person", - "email":"mats.vanes@psych.ox.ac.uk", - "givenName":"Mats", - "familyName": "van Es" + "@type": "Person", + "email": "", + "givenName": "Richard", + "familyName": "Scholz" }, { - "@type":"Person", - "email":"", - "givenName":"Matt", - "familyName": "Boggess" + "@type": "Person", + "email": "rhubner@gmail.com", + "givenName": "Rodrigo", + "familyName": "H\u00fcbner" }, { - "@type":"Person", - "email":"", - "givenName":"Matthias", - "familyName": "Eberlein" + "@type": "Person", + "email": "sommariva@dima.unige.it", + "givenName": "Sara", + "familyName": "Sommariva" }, { - "@type":"Person", - "email":"", - "givenName":"Michal", - "familyName": "Žák" + "@type": "Person", + "email": "", + "givenName": "Sena", + "familyName": "Er" }, { - "@type":"Person", - "email":"molpsychistb@gmail.com", - "givenName":"Mohamed", - "familyName": "Sherif" + "@type": "Person", + "email": "sheraz@nmr.mgh.harvard.edu", + "givenName": "Sheraz", + "familyName": "Khan" }, { - "@type":"Person", - "email":"natakozh22@gmail.com", - "givenName":"Nataliia", - "familyName": "Kozhemiako" + "@type": "Person", + "email": "", + "givenName": "Sumalyo", + "familyName": "Datta" }, { - "@type":"Person", - "email":"", - "givenName":"Naveen", - "familyName": "Srinivasan" + "@type": "Person", + "email": "tdonoghue.research@gmail.com", + "givenName": "Thomas", + "familyName": "Donoghue" }, { - "@type":"Person", - "email":"niklas.wilming@gmail.com", - "givenName":"Niklas", - "familyName": "Wilming" + "@type": "Person", + "email": "", + "givenName": "Thomas", + "familyName": "Jochmann" }, { - "@type":"Person", - "email":"", - "givenName":"Oleh", - "familyName": "Kozynets" + "@type": "Person", + "email": "timon.merk@charite.de", + "givenName": "Timon", + "familyName": "Merk" }, { - "@type":"Person", - "email":"pierreablin@gmail.com", - "givenName":"Pierre", - "familyName": "Ablin" + "@type": "Person", + "email": "", + "givenName": "Tod", + "familyName": "Flak" }, { - "@type":"Person", - "email":"proloy@umd.edu", - "givenName":"Proloy", - "familyName": "Das" + "@type": "Person", + "email": "tom.dupre-la-tour@m4x.org", + "givenName": "Tom", + "familyName": "Dupr\u00e9 la Tour" }, { - "@type":"Person", - "email":"quentinbertrand54@gmail.com", - "givenName":"Quentin", - "familyName": "Bertrand" + "@type": "Person", + "email": "tzionan@mail.tau.ac.il", + "givenName": "Tziona", + "familyName": "NessAiver" }, { - "@type":"Person", - "email":"r.shoorangiz@live.com", - "givenName":"Reza", - "familyName": "Shoorangiz" + "@type": "Person", + "email": "akshay0724@gmail.com", + "givenName": "", + "familyName": "akshay0724" }, { - "@type":"Person", - "email":"", - "givenName":"Richard", - "familyName": "Scholz" + "@type": "Person", + "email": "sviter33@gmail.com", + "givenName": "", + "familyName": "sviter" }, { - "@type":"Person", - "email":"rhubner@gmail.com", - "givenName":"Rodrigo", - "familyName": "Hübner" + "@type": "Person", + "email": "Jakdaxter31@gmail.com", + "givenName": "Aaron", + "familyName": "Earle-Richardson" }, { - "@type":"Person", - "email":"sommariva@dima.unige.it", - "givenName":"Sara", - "familyName": "Sommariva" + "@type": "Person", + "email": "abram.hindle@softwareprocess.es", + "givenName": "Abram", + "familyName": "Hindle" }, { - "@type":"Person", - "email":"", - "givenName":"Sena", - "familyName": "Er" + "@type": "Person", + "email": "achilleas.k@gmail.com", + "givenName": "Achilleas", + "familyName": "Koutsou" }, { - "@type":"Person", - "email":"sheraz@nmr.mgh.harvard.edu", - "givenName":"Sheraz", - "familyName": "Khan" + "@type": "Person", + "email": "", + "givenName": "Adeline", + "familyName": "Fecker" }, { - "@type":"Person", - "email":"", - "givenName":"Sumalyo", - "familyName": "Datta" + "@type": "Person", + "email": "adina.wagner@t-online.de", + "givenName": "Adina", + "familyName": "Wagner" }, { - "@type":"Person", - "email":"tdonoghue.research@gmail.com", - "givenName":"Thomas", - "familyName": "Donoghue" + "@type": "Person", + "email": "", + "givenName": "Akhilesh S", + "familyName": "Yadav" }, { - "@type":"Person", - "email":"", - "givenName":"Thomas", - "familyName": "Jochmann" + "@type": "Person", + "email": "", + "givenName": "Alex", + "familyName": "Ciok" }, { - "@type":"Person", - "email":"timon.merk@charite.de", - "givenName":"Timon", - "familyName": "Merk" + "@type": "Person", + "email": "alex.lepauvre@ae.mpg.de", + "givenName": "Alex", + "familyName": "Lepauvre" }, { - "@type":"Person", - "email":"", - "givenName":"Tod", - "familyName": "Flak" + "@type": "Person", + "email": "", + "givenName": "Alexander", + "familyName": "Kiefer" }, { - "@type":"Person", - "email":"tom.dupre-la-tour@m4x.org", - "givenName":"Tom", - "familyName": "Dupré la Tour" + "@type": "Person", + "email": "7andy121@gmail.com", + "givenName": "Andy", + "familyName": "Gilbert" }, { - "@type":"Person", - "email":"tzionan@mail.tau.ac.il", - "givenName":"Tziona", - "familyName": "NessAiver" + "@type": "Person", + "email": "aniket17133@iiitd.ac.in", + "givenName": "Aniket", + "familyName": "Pradhan" }, { - "@type":"Person", - "email":"akshay0724@gmail.com", - "givenName":"", - "familyName": "akshay0724" + "@type": "Person", + "email": "anna.padee@gmail.com", + "givenName": "Anna", + "familyName": "Padee" }, { - "@type":"Person", - "email":"sviter33@gmail.com", - "givenName":"", - "familyName": "sviter" + "@type": "Person", + "email": "as_dub@hotmail.com", + "givenName": "Anne-Sophie", + "familyName": "Dubarry" }, { - "@type":"Person", - "email":"Jakdaxter31@gmail.com", - "givenName":"Aaron", - "familyName": "Earle-Richardson" + "@type": "Person", + "email": "contact@antoinecollas.fr", + "givenName": "Antoine", + "familyName": "Collas" }, { - "@type":"Person", - "email":"abram.hindle@softwareprocess.es", - "givenName":"Abram", - "familyName": "Hindle" + "@type": "Person", + "email": "", + "givenName": "Anton Nikolas", + "familyName": "Waniek" }, { - "@type":"Person", - "email":"achilleas.k@gmail.com", - "givenName":"Achilleas", - "familyName": "Koutsou" + "@type": "Person", + "email": "", + "givenName": "Apoorva", + "familyName": "Verma" }, { - "@type":"Person", - "email":"", - "givenName":"Adeline", - "familyName": "Fecker" + "@type": "Person", + "email": "", + "givenName": "Archit", + "familyName": "Singhal" }, { - "@type":"Person", - "email":"adina.wagner@t-online.de", - "givenName":"Adina", - "familyName": "Wagner" + "@type": "Person", + "email": "arokem@gmail.com", + "givenName": "Ariel", + "familyName": "Rokem" }, { - "@type":"Person", - "email":"", - "givenName":"Akhilesh S", - "familyName": "Yadav" + "@type": "Person", + "email": "arne.pelzer@idmt.fraunhofer.de", + "givenName": "Arne", + "familyName": "Pelzer" }, { - "@type":"Person", - "email":"", - "givenName":"Alex", - "familyName": "Ciok" + "@type": "Person", + "email": "mynameisaustinhurst@gmail.com", + "givenName": "Austin", + "familyName": "Hurst" }, { - "@type":"Person", - "email":"alex.lepauvre@ae.mpg.de", - "givenName":"Alex", - "familyName": "Lepauvre" + "@type": "Person", + "email": "ayushisatodiya2411@gmail.com", + "givenName": "Ayushi", + "familyName": "Satodiya" }, { - "@type":"Person", - "email":"", - "givenName":"Alexander", - "familyName": "Kiefer" + "@type": "Person", + "email": "", + "givenName": "", + "familyName": "Baris" }, { - "@type":"Person", - "email":"7andy121@gmail.com", - "givenName":"Andy", - "familyName": "Gilbert" + "@type": "Person", + "email": "", + "givenName": "Beige Jerry", + "familyName": "Jin" }, { - "@type":"Person", - "email":"aniket17133@iiitd.ac.in", - "givenName":"Aniket", - "familyName": "Pradhan" + "@type": "Person", + "email": "code@musicinmybrain.net", + "givenName": "Ben", + "familyName": "Beasley" }, { - "@type":"Person", - "email":"anna.padee@gmail.com", - "givenName":"Anna", - "familyName": "Padee" + "@type": "Person", + "email": "ben.tang@duke.edu", + "givenName": "Ben", + "familyName": "Tang" }, { - "@type":"Person", - "email":"as_dub@hotmail.com", - "givenName":"Anne-Sophie", - "familyName": "Dubarry" + "@type": "Person", + "email": "science@benediktehinger.de", + "givenName": "Benedikt", + "familyName": "Ehinger" }, { - "@type":"Person", - "email":"contact@antoinecollas.fr", - "givenName":"Antoine", - "familyName": "Collas" + "@type": "Person", + "email": "bhargav.kowshik@gmail.com", + "givenName": "Bhargav", + "familyName": "Kowshik" }, { - "@type":"Person", - "email":"", - "givenName":"Anton Nikolas", - "familyName": "Waniek" + "@type": "Person", + "email": "bruno.nicenboim@gmail.com", + "givenName": "Bruno", + "familyName": "Nicenboim" }, { - "@type":"Person", - "email":"", - "givenName":"Archit", - "familyName": "Singhal" + "@type": "Person", + "email": "ctorre@mailbox.org", + "givenName": "Carlos", + "familyName": "de la Torre" }, { - "@type":"Person", - "email":"arokem@gmail.com", - "givenName":"Ariel", - "familyName": "Rokem" + "@type": "Person", + "email": "cclauss@me.com", + "givenName": "Christian", + "familyName": "Clauss" }, { - "@type":"Person", - "email":"arne.pelzer@idmt.fraunhofer.de", - "givenName":"Arne", - "familyName": "Pelzer" + "@type": "Person", + "email": "cmista@ingenieria.uner.edu.ar", + "givenName": "Christian", + "familyName": "Mista" }, { - "@type":"Person", - "email":"mynameisaustinhurst@gmail.com", - "givenName":"Austin", - "familyName": "Hurst" + "@type": "Person", + "email": "kechrisc@gmail.com", + "givenName": "Christodoulos", + "familyName": "Kechris" }, { - "@type":"Person", - "email":"", - "givenName":"Beige Jerry", - "familyName": "Jin" + "@type": "Person", + "email": "christoph@huber-huber.at", + "givenName": "Christoph", + "familyName": "Huber-Huber" }, { - "@type":"Person", - "email":"code@musicinmybrain.net", - "givenName":"Ben", - "familyName": "Beasley" + "@type": "Person", + "email": "", + "givenName": "Chun-Hui", + "familyName": "Li" }, { - "@type":"Person", - "email":"science@benediktehinger.de", - "givenName":"Benedikt", - "familyName": "Ehinger" + "@type": "Person", + "email": "claire@guakamole.org", + "givenName": "Claire", + "familyName": "Braboszcz" }, { - "@type":"Person", - "email":"bruno.nicenboim@gmail.com", - "givenName":"Bruno", - "familyName": "Nicenboim" + "@type": "Person", + "email": "daniel.c.schad@protonmail.com", + "givenName": "Daniel C", + "familyName": "Schad" }, { - "@type":"Person", - "email":"ctorre@mailbox.org", - "givenName":"Carlos", - "familyName": "de la Torre" + "@type": "Person", + "email": "danielhasegan@gmail.com", + "givenName": "Daniel", + "familyName": "Hasegan" }, { - "@type":"Person", - "email":"cclauss@me.com", - "givenName":"Christian", - "familyName": "Clauss" + "@type": "Person", + "email": "xiezhibin.0.0.superman@gmail.com", + "givenName": "Daniel", + "familyName": "Tse" }, { - "@type":"Person", - "email":"cmista@ingenieria.uner.edu.ar", - "givenName":"Christian", - "familyName": "Mista" + "@type": "Person", + "email": "darin.sleiter@gmail.com", + "givenName": "Darin Erat", + "familyName": "Sleiter" }, { - "@type":"Person", - "email":"kechrisc@gmail.com", - "givenName":"Christodoulos", - "familyName": "Kechris" + "@type": "Person", + "email": "haslacherdavid@gmail.com", + "givenName": "David", + "familyName": "Haslacher" }, { - "@type":"Person", - "email":"christoph@huber-huber.at", - "givenName":"Christoph", - "familyName": "Huber-Huber" + "@type": "Person", + "email": "dav.sabbagh@gmail.com", + "givenName": "David", + "familyName": "Sabbagh" }, { - "@type":"Person", - "email":"", - "givenName":"Chun-Hui", - "familyName": "Li" + "@type": "Person", + "email": "jasvirsingh828907@gmail.com", + "givenName": "", + "familyName": "Deep" }, { - "@type":"Person", - "email":"claire@guakamole.org", - "givenName":"Claire", - "familyName": "Braboszcz" + "@type": "Person", + "email": "", + "givenName": "Demetres", + "familyName": "Kostas" }, { - "@type":"Person", - "email":"daniel.c.schad@protonmail.com", - "givenName":"Daniel C", - "familyName": "Schad" + "@type": "Person", + "email": "desislavka@gmail.com", + "givenName": "Desislava", + "familyName": "Petkova" }, { - "@type":"Person", - "email":"danielhasegan@gmail.com", - "givenName":"Daniel", - "familyName": "Hasegan" + "@type": "Person", + "email": "", + "givenName": "Dinara", + "familyName": "Issagaliyeva" }, { - "@type":"Person", - "email":"xiezhibin.0.0.superman@gmail.com", - "givenName":"Daniel", - "familyName": "Tse" + "@type": "Person", + "email": "", + "givenName": "Diptyajit", + "familyName": "Das" }, { - "@type":"Person", - "email":"darin.sleiter@gmail.com", - "givenName":"Darin Erat", - "familyName": "Sleiter" + "@type": "Person", + "email": "dimonok@web.de", + "givenName": "Dominik", + "familyName": "Wetzel" }, { - "@type":"Person", - "email":"haslacherdavid@gmail.com", - "givenName":"David", - "familyName": "Haslacher" + "@type": "Person", + "email": "e.eich@fz-juelich.de", + "givenName": "Eberhard", + "familyName": "Eich" }, { - "@type":"Person", - "email":"dav.sabbagh@gmail.com", - "givenName":"David", - "familyName": "Sabbagh" + "@type": "Person", + "email": "emd222@cornell.edu", + "givenName": "Elizabeth", + "familyName": "DuPre" }, { - "@type":"Person", - "email":"", - "givenName":"Demetres", - "familyName": "Kostas" + "@type": "Person", + "email": "ellenlau@umd.edu", + "givenName": "Ellen", + "familyName": "Lau" }, { - "@type":"Person", - "email":"desislavka@gmail.com", - "givenName":"Desislava", - "familyName": "Petkova" + "@type": "Person", + "email": "emanuele@relativita.com", + "givenName": "Emanuele", + "familyName": "Olivetti" }, { - "@type":"Person", - "email":"", - "givenName":"Dinara", - "familyName": "Issagaliyeva" + "@type": "Person", + "email": "", + "givenName": "Emma", + "familyName": "Zhang" }, { - "@type":"Person", - "email":"", - "givenName":"Diptyajit", - "familyName": "Das" + "@type": "Person", + "email": "emmanuelferdman@gmail.com", + "givenName": "Emmanuel", + "familyName": "Ferdman" }, { - "@type":"Person", - "email":"dimonok@web.de", - "givenName":"Dominik", - "familyName": "Wetzel" + "@type": "Person", + "email": "emrecncelik@gmail.com", + "givenName": "Emrecan", + "familyName": "\u00c7elik" }, { - "@type":"Person", - "email":"e.eich@fz-juelich.de", - "givenName":"Eberhard", - "familyName": "Eich" + "@type": "Person", + "email": "enricovarano@gmail.com", + "givenName": "Enrico", + "familyName": "Varano" }, { - "@type":"Person", - "email":"emd222@cornell.edu", - "givenName":"Elizabeth", - "familyName": "DuPre" + "@type": "Person", + "email": "enzo.alt@gmail.com", + "givenName": "Enzo", + "familyName": "Altamiranda" }, { - "@type":"Person", - "email":"ellenlau@umd.edu", - "givenName":"Ellen", - "familyName": "Lau" + "@type": "Person", + "email": "eric.brayet@mybraintech.com", + "givenName": "Eric", + "familyName": "Brayet" }, { - "@type":"Person", - "email":"emanuele@relativita.com", - "givenName":"Emanuele", - "familyName": "Olivetti" + "@type": "Person", + "email": "", + "givenName": "Etienne", + "familyName": "de Montalivet" }, { - "@type":"Person", - "email":"", - "givenName":"Emma", - "familyName": "Zhang" + "@type": "Person", + "email": "", + "givenName": "Evgeny", + "familyName": "Goldstein" }, { - "@type":"Person", - "email":"emmanuelferdman@gmail.com", - "givenName":"Emmanuel", - "familyName": "Ferdman" + "@type": "Person", + "email": "fmamashli@gmail.com", + "givenName": "Fahimeh", + "familyName": "Mamashli" }, { - "@type":"Person", - "email":"emrecncelik@gmail.com", - "givenName":"Emrecan", - "familyName": "Çelik" + "@type": "Person", + "email": "farzin.negahbani@gmail.com", + "givenName": "Farzin", + "familyName": "Negahbani" }, { - "@type":"Person", - "email":"enricovarano@gmail.com", - "givenName":"Enrico", - "familyName": "Varano" + "@type": "Person", + "email": "", + "givenName": "Federico", + "familyName": "Zamberlan" }, { - "@type":"Person", - "email":"enzo.alt@gmail.com", - "givenName":"Enzo", - "familyName": "Altamiranda" + "@type": "Person", + "email": "florinpop@me.com", + "givenName": "Florin", + "familyName": "Pop" }, { - "@type":"Person", - "email":"eric.brayet@mybraintech.com", - "givenName":"Eric", - "familyName": "Brayet" + "@type": "Person", + "email": "", + "givenName": "Frederik D", + "familyName": "Weber" }, { - "@type":"Person", - "email":"", - "givenName":"Etienne", - "familyName": "de Montalivet" + "@type": "Person", + "email": "", + "givenName": "Gansheng", + "familyName": "Tan" }, { - "@type":"Person", - "email":"", - "givenName":"Evgeny", - "familyName": "Goldstein" + "@type": "Person", + "email": "Geoff.Brookshire@gmail.com", + "givenName": "Geoff", + "familyName": "Brookshire" }, { - "@type":"Person", - "email":"fmamashli@gmail.com", - "givenName":"Fahimeh", - "familyName": "Mamashli" + "@type": "Person", + "email": "george.oneill.90@gmail.com", + "givenName": "George", + "familyName": "O'Neill" }, { - "@type":"Person", - "email":"farzin.negahbani@gmail.com", - "givenName":"Farzin", - "familyName": "Negahbani" + "@type": "Person", + "email": "gack94@gmail.com", + "givenName": "", + "familyName": "Giulio" }, { - "@type":"Person", - "email":"", - "givenName":"Federico", - "familyName": "Zamberlan" + "@type": "Person", + "email": "", + "givenName": "Gnaneswar", + "familyName": "Lopinti" }, { - "@type":"Person", - "email":"florinpop@me.com", - "givenName":"Florin", - "familyName": "Pop" + "@type": "Person", + "email": "", + "givenName": "Gonzalo", + "familyName": "Reina" }, { - "@type":"Person", - "email":"", - "givenName":"Frederik D", - "familyName": "Weber" + "@type": "Person", + "email": "", + "givenName": "Hamid", + "familyName": "Maymandi" }, { - "@type":"Person", - "email":"", - "givenName":"Gansheng", - "familyName": "Tan" + "@type": "Person", + "email": "hasrat407@gmail.com", + "givenName": "Hasrat Ali", + "familyName": "Arzoo" }, { - "@type":"Person", - "email":"Geoff.Brookshire@gmail.com", - "givenName":"Geoff", - "familyName": "Brookshire" + "@type": "Person", + "email": "hermann.sonntag@gmail.com", + "givenName": "Hermann", + "familyName": "Sonntag" }, { - "@type":"Person", - "email":"george.oneill.90@gmail.com", - "givenName":"George", - "familyName": "O'Neill" + "@type": "Person", + "email": "rubyyhj@gmail.com", + "givenName": "Hongjiang", + "familyName": "Ye" }, { - "@type":"Person", - "email":"gack94@gmail.com", - "givenName":"", - "familyName": "Giulio" + "@type": "Person", + "email": "", + "givenName": "Hyonyoung", + "familyName": "Shin" }, { - "@type":"Person", - "email":"", - "givenName":"Gnaneswar", - "familyName": "Lopinti" + "@type": "Person", + "email": "huseyinorkunelmas@gmail.com", + "givenName": "H\u00fcseyin Orkun", + "familyName": "Elmas" }, { - "@type":"Person", - "email":"", - "givenName":"Gonzalo", - "familyName": "Reina" + "@type": "Person", + "email": "", + "givenName": "Ilian", + "familyName": "AZZ" }, { - "@type":"Person", - "email":"", - "givenName":"Hamid", - "familyName": "Maymandi" + "@type": "Person", + "email": "", + "givenName": "Ilias", + "familyName": "Machairas" }, { - "@type":"Person", - "email":"hasrat407@gmail.com", - "givenName":"Hasrat Ali", - "familyName": "Arzoo" + "@type": "Person", + "email": "ivan.zubarev@aalto.fi", + "givenName": "Ivan", + "familyName": "Zubarev" }, { - "@type":"Person", - "email":"hermann.sonntag@gmail.com", - "givenName":"Hermann", - "familyName": "Sonntag" + "@type": "Person", + "email": "ivopascal@gmail.com", + "givenName": "Ivo", + "familyName": "de Jong" }, { - "@type":"Person", - "email":"rubyyhj@gmail.com", - "givenName":"Hongjiang", - "familyName": "Ye" + "@type": "Person", + "email": "jacob.phelan.jp@gmail.com", + "givenName": "Jacob", + "familyName": "Phelan" }, { - "@type":"Person", - "email":"", - "givenName":"Hyonyoung", - "familyName": "Shin" + "@type": "Person", + "email": "", + "givenName": "Jakub", + "familyName": "Kaczmarzyk" }, { - "@type":"Person", - "email":"huseyinorkunelmas@gmail.com", - "givenName":"Hüseyin Orkun", - "familyName": "Elmas" + "@type": "Person", + "email": "", + "givenName": "Jan", + "familyName": "Zerfowski" }, { - "@type":"Person", - "email":"", - "givenName":"Ilian", - "familyName": "AZZ" + "@type": "Person", + "email": "japsai@gmail.com", + "givenName": "Jasper J F", + "familyName": "van den Bosch" }, { - "@type":"Person", - "email":"", - "givenName":"Ilias", - "familyName": "Machairas" + "@type": "Person", + "email": "", + "givenName": "Jeroen", + "familyName": "Van Der Donckt" }, { - "@type":"Person", - "email":"ivan.zubarev@aalto.fi", - "givenName":"Ivan", - "familyName": "Zubarev" + "@type": "Person", + "email": "johanvandermeer@gmail.com", + "givenName": "Johan", + "familyName": "van der Meer" }, { - "@type":"Person", - "email":"ivopascal@gmail.com", - "givenName":"Ivo", - "familyName": "de Jong" + "@type": "Person", + "email": "", + "givenName": "Johannes", + "familyName": "Niediek" }, { - "@type":"Person", - "email":"jacob.phelan.jp@gmail.com", - "givenName":"Jacob", - "familyName": "Phelan" + "@type": "Person", + "email": "", + "givenName": "Jonas", + "familyName": "Mago" }, { - "@type":"Person", - "email":"", - "givenName":"Jakub", - "familyName": "Kaczmarzyk" + "@type": "Person", + "email": "koen.joshua@gmail.com", + "givenName": "Josh", + "familyName": "Koen" }, { - "@type":"Person", - "email":"", - "givenName":"Jan", - "familyName": "Zerfowski" + "@type": "Person", + "email": "", + "givenName": "Joshua J", + "familyName": "Bear" }, { - "@type":"Person", - "email":"japsai@gmail.com", - "givenName":"Jasper J F", - "familyName": "van den Bosch" + "@type": "Person", + "email": "j.dammers@fz-juelich.de", + "givenName": "Juergen", + "familyName": "Dammers" }, { - "@type":"Person", - "email":"", - "givenName":"Jeroen", - "familyName": "Van Der Donckt" + "@type": "Person", + "email": "guiomar.niso@ctb.upm.es", + "givenName": "Julia Guiomar Niso", + "familyName": "Gal\u00e1n" }, { - "@type":"Person", - "email":"johanvandermeer@gmail.com", - "givenName":"Johan", - "familyName": "van der Meer" + "@type": "Person", + "email": "jcrdubois@gmail.com", + "givenName": "Julien", + "familyName": "Dubois" }, { - "@type":"Person", - "email":"", - "givenName":"Johannes", - "familyName": "Niediek" + "@type": "Person", + "email": "", + "givenName": "Julius", + "familyName": "Welzel" }, { - "@type":"Person", - "email":"koen.joshua@gmail.com", - "givenName":"Josh", - "familyName": "Koen" + "@type": "Person", + "email": "slama@berkeley.edu", + "givenName": "Katarina", + "familyName": "Slama" }, { - "@type":"Person", - "email":"", - "givenName":"Joshua J", - "familyName": "Bear" + "@type": "Person", + "email": "", + "givenName": "Katia", + "familyName": "Al-Amir" }, { - "@type":"Person", - "email":"j.dammers@fz-juelich.de", - "givenName":"Juergen", - "familyName": "Dammers" + "@type": "Person", + "email": "", + "givenName": "Katrin", + "familyName": "Leinweber" }, { - "@type":"Person", - "email":"guiomar.niso@ctb.upm.es", - "givenName":"Julia Guiomar Niso", - "familyName": "Galán" + "@type": "Person", + "email": "", + "givenName": "Kay", + "familyName": "Robbins" }, { - "@type":"Person", - "email":"", - "givenName":"Julius", - "familyName": "Welzel" + "@type": "Person", + "email": "", + "givenName": "Konstantinos", + "familyName": "Tsilimparis" }, { - "@type":"Person", - "email":"slama@berkeley.edu", - "givenName":"Katarina", - "familyName": "Slama" + "@type": "Person", + "email": "laetitia.grabot@gmail.com", + "givenName": "Laetitia", + "familyName": "Grabot" }, { - "@type":"Person", - "email":"", - "givenName":"Katia", - "familyName": "Al-Amir" + "@type": "Person", + "email": "ualsbombe@protonmail.com", + "givenName": "Lau M\u00f8ller", + "familyName": "Andersen" }, { - "@type":"Person", - "email":"", - "givenName":"Katrin", - "familyName": "Leinweber" + "@type": "Person", + "email": "leorochael@gmail.com", + "givenName": "Leonardo Rochael", + "familyName": "Almeida" }, { - "@type":"Person", - "email":"", - "givenName":"Kay", - "familyName": "Robbins" + "@type": "Person", + "email": "lsbarbosa@gmail.com", + "givenName": "Leonardo S", + "familyName": "Barbosa" }, { - "@type":"Person", - "email":"", - "givenName":"Konstantinos", - "familyName": "Tsilimparis" + "@type": "Person", + "email": "lorenzo.alfine@gmail.com", + "givenName": "Lorenzo", + "familyName": "Alfine" }, { - "@type":"Person", - "email":"laetitia.grabot@gmail.com", - "givenName":"Laetitia", - "familyName": "Grabot" + "@type": "Person", + "email": "hejtmy@gmail.com", + "givenName": "Luk\u00e1\u0161", + "familyName": "Hejtm\u00e1nek" }, { - "@type":"Person", - "email":"ualsbombe@protonmail.com", - "givenName":"Lau Møller", - "familyName": "Andersen" + "@type": "Person", + "email": "mbalatsko@gmail.com", + "givenName": "Maksym", + "familyName": "Balatsko" }, { - "@type":"Person", - "email":"leorochael@gmail.com", - "givenName":"Leonardo Rochael", - "familyName": "Almeida" + "@type": "Person", + "email": "manfredg@nmr.mgh.harvard.edu", + "givenName": "Manfred", + "familyName": "Kitzbichler" }, { - "@type":"Person", - "email":"lsbarbosa@gmail.com", - "givenName":"Leonardo S", - "familyName": "Barbosa" + "@type": "Person", + "email": "manojkumarsivaraj334@gmail.com", + "givenName": "Manoj", + "familyName": "Kumar" }, { - "@type":"Person", - "email":"lorenzo.alfine@gmail.com", - "givenName":"Lorenzo", - "familyName": "Alfine" + "@type": "Person", + "email": "", + "givenName": "Manorama", + "familyName": "Kadwani" }, { - "@type":"Person", - "email":"hejtmy@gmail.com", - "givenName":"Lukáš", - "familyName": "Hejtmánek" + "@type": "Person", + "email": "manu.sutela@gmail.com", + "givenName": "Manu", + "familyName": "Sutela" }, { - "@type":"Person", - "email":"mbalatsko@gmail.com", - "givenName":"Maksym", - "familyName": "Balatsko" + "@type": "Person", + "email": "koculak.marcin@gmail.com", + "givenName": "Marcin", + "familyName": "Koculak" }, { - "@type":"Person", - "email":"manfredg@nmr.mgh.harvard.edu", - "givenName":"Manfred", - "familyName": "Kitzbichler" + "@type": "Person", + "email": "mah@optoceutics.com", + "givenName": "Mark", + "familyName": "Henney" }, { - "@type":"Person", - "email":"manojkumarsivaraj334@gmail.com", - "givenName":"Manoj", - "familyName": "Kumar" + "@type": "Person", + "email": "Martinb.nmb@gmail.com", + "givenName": "Martin", + "familyName": "BaBer" }, { - "@type":"Person", - "email":"", - "givenName":"Manorama", - "familyName": "Kadwani" + "@type": "Person", + "email": "", + "givenName": "Martin", + "familyName": "van Harmelen" }, { - "@type":"Person", - "email":"manu.sutela@gmail.com", - "givenName":"Manu", - "familyName": "Sutela" + "@type": "Person", + "email": "mat-git@s-m.ac", + "givenName": "Mathias", + "familyName": "Sabl\u00e9-Meyer" }, { - "@type":"Person", - "email":"koculak.marcin@gmail.com", - "givenName":"Marcin", - "familyName": "Koculak" + "@type": "Person", + "email": "mathieu.scheltienne@dandelion.science", + "givenName": "Mathieu", + "familyName": "Scheltienne" }, { - "@type":"Person", - "email":"mah@optoceutics.com", - "givenName":"Mark", - "familyName": "Henney" + "@type": "Person", + "email": "", + "givenName": "Matt", + "familyName": "Courtemanche" }, { - "@type":"Person", - "email":"Martinb.nmb@gmail.com", - "givenName":"Martin", - "familyName": "BaBer" + "@type": "Person", + "email": "matt.tucker@nyu.edu", + "givenName": "Matt", + "familyName": "Tucker" }, { - "@type":"Person", - "email":"", - "givenName":"Martin", - "familyName": "Oberg" + "@type": "Person", + "email": "matteo.visconti.gr@dartmouth.edu", + "givenName": "Matteo", + "familyName": "Visconti di Oleggio Castello" }, { - "@type":"Person", - "email":"", - "givenName":"Martin", - "familyName": "van Harmelen" + "@type": "Person", + "email": "matthias.dold@gmx.net", + "givenName": "Matthias", + "familyName": "Dold" }, { - "@type":"Person", - "email":"mathieu.scheltienne@dandelion.science", - "givenName":"Mathieu", - "familyName": "Scheltienne" + "@type": "Person", + "email": "", + "givenName": "Matti", + "familyName": "Toivonen" }, { - "@type":"Person", - "email":"", - "givenName":"Matt", - "familyName": "Courtemanche" + "@type": "Person", + "email": "", + "givenName": "Maureen", + "familyName": "Shader" }, { - "@type":"Person", - "email":"matt.tucker@nyu.edu", - "givenName":"Matt", - "familyName": "Tucker" + "@type": "Person", + "email": "", + "givenName": "Mauricio", + "familyName": "Cespedes" }, { - "@type":"Person", - "email":"matteo.visconti.gr@dartmouth.edu", - "givenName":"Matteo", - "familyName": "Visconti di Oleggio Castello" + "@type": "Person", + "email": "", + "givenName": "Melih", + "familyName": "Yayli" }, { - "@type":"Person", - "email":"matthias.dold@gmx.net", - "givenName":"Matthias", - "familyName": "Dold" + "@type": "Person", + "email": "krause@mpib-berlin.mpg.de", + "givenName": "Michael", + "familyName": "Krause" }, { - "@type":"Person", - "email":"", - "givenName":"Matti", - "familyName": "Toivonen" + "@type": "Person", + "email": "kontakt@milanrybar.cz", + "givenName": "Milan", + "familyName": "Ryb\u00e1\u0159" }, { - "@type":"Person", - "email":"", - "givenName":"Maureen", - "familyName": "Shader" + "@type": "Person", + "email": "", + "givenName": "Mingjian", + "familyName": "He" }, { - "@type":"Person", - "email":"", - "givenName":"Mauricio", - "familyName": "Cespedes" + "@type": "Person", + "email": "", + "givenName": "Mohammad", + "familyName": "Daneshzand" }, { - "@type":"Person", - "email":"", - "givenName":"Melih", - "familyName": "Yayli" + "@type": "Person", + "email": "23111220065@m.fudan.edu.cn", + "givenName": "", + "familyName": "Mojackhak" }, { - "@type":"Person", - "email":"krause@mpib-berlin.mpg.de", - "givenName":"Michael", - "familyName": "Krause" + "@type": "Person", + "email": "nati.new77@gmail.com", + "givenName": "Natneal", + "familyName": "B" }, { - "@type":"Person", - "email":"kontakt@milanrybar.cz", - "givenName":"Milan", - "familyName": "Rybář" + "@type": "Person", + "email": "celicolimmo@free.fr", + "givenName": "Nicolas", + "familyName": "Fourcaud-Trocm\u00e9" }, { - "@type":"Person", - "email":"", - "givenName":"Mingjian", - "familyName": "He" + "@type": "Person", + "email": "nicolas.gensollen@gmail.com", + "givenName": "Nicolas", + "familyName": "Gensollen" }, { - "@type":"Person", - "email":"", - "givenName":"Mohammad", - "familyName": "Daneshzand" + "@type": "Person", + "email": "nh.proulx@gmail.com", + "givenName": "Nicole", + "familyName": "Proulx" }, { - "@type":"Person", - "email":"23111220065@m.fudan.edu.cn", - "givenName":"", - "familyName": "Mojackhak" + "@type": "Person", + "email": "nfocke@uni-goettingen.de", + "givenName": "Niels", + "familyName": "Focke" }, { - "@type":"Person", - "email":"nati.new77@gmail.com", - "givenName":"Natneal", - "familyName": "B" + "@type": "Person", + "email": "nikos.ch01@gmail.com", + "givenName": "Nikolas", + "familyName": "Chalas" }, { - "@type":"Person", - "email":"celicolimmo@free.fr", - "givenName":"Nicolas", - "familyName": "Fourcaud-Trocmé" + "@type": "Person", + "email": "", + "givenName": "Noah", + "familyName": "Markowitz" }, { - "@type":"Person", - "email":"nicolas.gensollen@gmail.com", - "givenName":"Nicolas", - "familyName": "Gensollen" + "@type": "Person", + "email": "omer.shubi@gmail.com", + "givenName": "Omer", + "familyName": "Shubi" }, { - "@type":"Person", - "email":"nh.proulx@gmail.com", - "givenName":"Nicole", - "familyName": "Proulx" + "@type": "Person", + "email": "pablomainar.pm@gmail.com", + "givenName": "Pablo", + "familyName": "Mainar" }, { - "@type":"Person", - "email":"nfocke@uni-goettingen.de", - "givenName":"Niels", - "familyName": "Focke" + "@type": "Person", + "email": "tottochan@gmail.com", + "givenName": "Padma", + "familyName": "Sundaram" }, { - "@type":"Person", - "email":"nikos.ch01@gmail.com", - "givenName":"Nikolas", - "familyName": "Chalas" + "@type": "Person", + "email": "", + "givenName": "Paul", + "familyName": "Anders" }, { - "@type":"Person", - "email":"", - "givenName":"Noah", - "familyName": "Markowitz" + "@type": "Person", + "email": "ppopov1@student.gsu.edu", + "givenName": "Pavel", + "familyName": "Popov" }, { - "@type":"Person", - "email":"omer.shubi@gmail.com", - "givenName":"Omer", - "familyName": "Shubi" + "@type": "Person", + "email": "pedrobnsilva@gmail.com", + "givenName": "Pedro", + "familyName": "Silva" }, { - "@type":"Person", - "email":"pablomainar.pm@gmail.com", - "givenName":"Pablo", - "familyName": "Mainar" + "@type": "Person", + "email": "", + "givenName": "Pierre", + "familyName": "Guetschel" }, { - "@type":"Person", - "email":"tottochan@gmail.com", - "givenName":"Padma", - "familyName": "Sundaram" + "@type": "Person", + "email": "glia@dtu.dk", + "givenName": "Quanliang", + "familyName": "Li" }, { - "@type":"Person", - "email":"", - "givenName":"Paul", - "familyName": "Anders" + "@type": "Person", + "email": "q.barthelemy@gmail.com", + "givenName": "Quentin", + "familyName": "Barth\u00e9lemy" }, { - "@type":"Person", - "email":"pedrobnsilva@gmail.com", - "givenName":"Pedro", - "familyName": "Silva" + "@type": "Person", + "email": "rahuln@cs.washington.edu", + "givenName": "Rahul", + "familyName": "Nadkarni" }, { - "@type":"Person", - "email":"", - "givenName":"Pierre", - "familyName": "Guetschel" + "@type": "Person", + "email": "rmrgatti@gmail.com", + "givenName": "Ramiro", + "familyName": "Gatti" }, { - "@type":"Person", - "email":"glia@dtu.dk", - "givenName":"Quanliang", - "familyName": "Li" + "@type": "Person", + "email": "moncho_apa@hotmail.com", + "givenName": "Ramonapariciog", + "familyName": "Apariciogarcia" }, { - "@type":"Person", - "email":"q.barthelemy@gmail.com", - "givenName":"Quentin", - "familyName": "Barthélemy" + "@type": "Person", + "email": "raagaard97@gmail.com", + "givenName": "Rasmus", + "familyName": "Aagaard" }, { - "@type":"Person", - "email":"rahuln@cs.washington.edu", - "givenName":"Rahul", - "familyName": "Nadkarni" + "@type": "Person", + "email": "reza@ddpo.ir", + "givenName": "Reza", + "familyName": "Nasri" }, { - "@type":"Person", - "email":"rmrgatti@gmail.com", - "givenName":"Ramiro", - "familyName": "Gatti" + "@type": "Person", + "email": "richard.koehler@outlook.de", + "givenName": "Richard", + "familyName": "Koehler" }, { - "@type":"Person", - "email":"moncho_apa@hotmail.com", - "givenName":"Ramonapariciog", - "familyName": "Apariciogarcia" + "@type": "Person", + "email": "rie.acad@gmail.com", + "givenName": "Riessarius", + "familyName": "Stargardsky" }, { - "@type":"Person", - "email":"raagaard97@gmail.com", - "givenName":"Rasmus", - "familyName": "Aagaard" + "@type": "Person", + "email": "r.oostenveld@gmail.com", + "givenName": "Robert", + "familyName": "Oostenveld" }, { - "@type":"Person", - "email":"reza@ddpo.ir", - "givenName":"Reza", - "familyName": "Nasri" + "@type": "Person", + "email": "robbyseymour@gmail.com", + "givenName": "Robert", + "familyName": "Seymour" }, { - "@type":"Person", - "email":"richard.koehler@outlook.de", - "givenName":"Richard", - "familyName": "Koehler" + "@type": "Person", + "email": "robintibor@gmail.com", + "givenName": "Robin Tibor", + "familyName": "Schirrmeister" }, { - "@type":"Person", - "email":"rie.acad@gmail.com", - "givenName":"Riessarius", - "familyName": "Stargardsky" + "@type": "Person", + "email": "131315c@gmail.com", + "givenName": "Rongfei", + "familyName": "Jin" }, { - "@type":"Person", - "email":"r.oostenveld@gmail.com", - "givenName":"Robert", - "familyName": "Oostenveld" + "@type": "Person", + "email": "", + "givenName": "Roy Eric", + "familyName": "Wieske" }, { - "@type":"Person", - "email":"robbyseymour@gmail.com", - "givenName":"Robert", - "familyName": "Seymour" + "@type": "Person", + "email": "ryan.law@mpi.nl", + "givenName": "Ryan", + "familyName": "Law" }, { - "@type":"Person", - "email":"robintibor@gmail.com", - "givenName":"Robin Tibor", - "familyName": "Schirrmeister" + "@type": "Person", + "email": "sagung.pai@gmail.com", + "givenName": "Sagun", + "familyName": "Pai" }, { - "@type":"Person", - "email":"131315c@gmail.com", - "givenName":"Rongfei", - "familyName": "Jin" + "@type": "Person", + "email": "u1265119@unimail.hud.ac.uk", + "givenName": "Sam", + "familyName": "Perry" }, { - "@type":"Person", - "email":"", - "givenName":"Roy Eric", - "familyName": "Wieske" + "@type": "Person", + "email": "", + "givenName": "Samuel", + "familyName": "Louviot" }, { - "@type":"Person", - "email":"ryan.law@mpi.nl", - "givenName":"Ryan", - "familyName": "Law" + "@type": "Person", + "email": "santiaguzz@gmail.com", + "givenName": "Santi", + "familyName": "Mart\u00ednez" }, { - "@type":"Person", - "email":"sagung.pai@gmail.com", - "givenName":"Sagun", - "familyName": "Pai" + "@type": "Person", + "email": "", + "givenName": "Sawradip", + "familyName": "Saha" }, { - "@type":"Person", - "email":"u1265119@unimail.hud.ac.uk", - "givenName":"Sam", - "familyName": "Perry" + "@type": "Person", + "email": "s.mathot@cogsci.nl", + "givenName": "Sebastiaan", + "familyName": "Mathot" }, { - "@type":"Person", - "email":"", - "givenName":"Samuel", - "familyName": "Louviot" + "@type": "Person", + "email": "", + "givenName": "Sebastian", + "familyName": "Jentschke" }, { - "@type":"Person", - "email":"santiaguzz@gmail.com", - "givenName":"Santi", - "familyName": "Martínez" + "@type": "Person", + "email": "", + "givenName": "Sebastian", + "familyName": "Major" }, { - "@type":"Person", - "email":"", - "givenName":"Sawradip", - "familyName": "Saha" + "@type": "Person", + "email": "sfox@riseup.net", + "givenName": "Sebastien", + "familyName": "Treguer" }, { - "@type":"Person", - "email":"s.mathot@cogsci.nl", - "givenName":"Sebastiaan", - "familyName": "Mathot" + "@type": "Person", + "email": "sebastian.castano@blbt.uni-freiburg.de", + "givenName": "Sebasti\u00e1n", + "familyName": "Casta\u00f1o" }, { - "@type":"Person", - "email":"", - "givenName":"Sebastian", - "familyName": "Jentschke" + "@type": "Person", + "email": "", + "givenName": "Senwen", + "familyName": "Deng" }, { - "@type":"Person", - "email":"", - "givenName":"Sebastian", - "familyName": "Major" + "@type": "Person", + "email": "s.antopolsky@gmail.com", + "givenName": "Sergey", + "familyName": "Antopolskiy" }, { - "@type":"Person", - "email":"sfox@riseup.net", - "givenName":"Sebastien", - "familyName": "Treguer" + "@type": "Person", + "email": "", + "givenName": "Seth", + "familyName": "Bashford" }, { - "@type":"Person", - "email":"sebastian.castano@blbt.uni-freiburg.de", - "givenName":"Sebastián", - "familyName": "Castaño" + "@type": "Person", + "email": "shirazi@ieee.org", + "givenName": "Seyed (Yahya)", + "familyName": "Shirazi" }, { - "@type":"Person", - "email":"", - "givenName":"Senwen", - "familyName": "Deng" + "@type": "Person", + "email": "kesharishresth5@gmail.com", + "givenName": "Shresth", + "familyName": "Keshari" }, { - "@type":"Person", - "email":"s.antopolsky@gmail.com", - "givenName":"Sergey", - "familyName": "Antopolskiy" + "@type": "Person", + "email": "baral.shristi@gmail.com", + "givenName": "Shristi", + "familyName": "Baral" }, { - "@type":"Person", - "email":"shirazi@ieee.org", - "givenName":"Seyed (Yahya)", - "familyName": "Shirazi" + "@type": "Person", + "email": "baralshristi@gmail.com", + "givenName": "Shristi", + "familyName": "Baral" }, { - "@type":"Person", - "email":"kesharishresth5@gmail.com", - "givenName":"Shresth", - "familyName": "Keshari" + "@type": "Person", + "email": "shrutibhale2@gmail.com", + "givenName": "Shruti", + "familyName": "Bhale" }, { - "@type":"Person", - "email":"baral.shristi@gmail.com", - "givenName":"Shristi", - "familyName": "Baral" + "@type": "Person", + "email": "", + "givenName": "Simeon", + "familyName": "Wong" }, { - "@type":"Person", - "email":"baralshristi@gmail.com", - "givenName":"Shristi", - "familyName": "Baral" + "@type": "Person", + "email": "", + "givenName": "Simeon", + "familyName": "Wong" }, { - "@type":"Person", - "email":"shrutibhale2@gmail.com", - "givenName":"Shruti", - "familyName": "Bhale" + "@type": "Person", + "email": "", + "givenName": "Simon M", + "familyName": "Hofmann" }, { - "@type":"Person", - "email":"", - "givenName":"Simeon", - "familyName": "Wong" + "@type": "Person", + "email": "", + "givenName": "Simon-Shlomo", + "familyName": "Poil" }, { - "@type":"Person", - "email":"", - "givenName":"Simeon", - "familyName": "Wong" + "@type": "Person", + "email": "sondre.foslien@gmail.com", + "givenName": "Sondre", + "familyName": "Foslien" }, { - "@type":"Person", - "email":"", - "givenName":"Simon M", - "familyName": "Hofmann" + "@type": "Person", + "email": "", + "givenName": "Sourav", + "familyName": "Singh" }, { - "@type":"Person", - "email":"", - "givenName":"Simon-Shlomo", - "familyName": "Poil" + "@type": "Person", + "email": "varshaa.1616@gmail.com", + "givenName": "Srivarsha", + "familyName": "Chivukula" }, { - "@type":"Person", - "email":"sondre.foslien@gmail.com", - "givenName":"Sondre", - "familyName": "Foslien" + "@type": "Person", + "email": "stan.chambon@gmail.com", + "givenName": "Stanislas", + "familyName": "Chambon" }, { - "@type":"Person", - "email":"", - "givenName":"Sourav", - "familyName": "Singh" + "@type": "Person", + "email": "", + "givenName": "Steinn Hauser", + "familyName": "Magn\u00fasson" }, { - "@type":"Person", - "email":"varshaa.1616@gmail.com", - "givenName":"Srivarsha", - "familyName": "Chivukula" + "@type": "Person", + "email": "bethard@email.arizona.edu", + "givenName": "Steven", + "familyName": "Bethard" }, { - "@type":"Person", - "email":"stan.chambon@gmail.com", - "givenName":"Stanislas", - "familyName": "Chambon" + "@type": "Person", + "email": "s.m.gutstein@gmail.com", + "givenName": "Steven M", + "familyName": "Gutstein" }, { - "@type":"Person", - "email":"", - "givenName":"Steinn Hauser", - "familyName": "Magnússon" + "@type": "Person", + "email": "", + "givenName": "Svea Marie", + "familyName": "Meyer" }, { - "@type":"Person", - "email":"bethard@email.arizona.edu", - "givenName":"Steven", - "familyName": "Bethard" + "@type": "Person", + "email": "twang5@swarthmore.edu", + "givenName": "T", + "familyName": "Wang" }, { - "@type":"Person", - "email":"s.m.gutstein@gmail.com", - "givenName":"Steven M", - "familyName": "Gutstein" + "@type": "Person", + "email": "", + "givenName": "Tamas", + "familyName": "Fehervari" }, { - "@type":"Person", - "email":"", - "givenName":"Svea Marie", - "familyName": "Meyer" + "@type": "Person", + "email": "teemu.taivainen@hotmail.fi", + "givenName": "Teemu", + "familyName": "Taivainen" }, { - "@type":"Person", - "email":"twang5@swarthmore.edu", - "givenName":"T", - "familyName": "Wang" + "@type": "Person", + "email": "tharupahanjayawardana@gmail.com", + "givenName": "Tharupahan", + "familyName": "Jayawardana" }, { - "@type":"Person", - "email":"", - "givenName":"Tamas", - "familyName": "Fehervari" + "@type": "Person", + "email": "tcaswell@gmail.com", + "givenName": "Thomas A", + "familyName": "Caswell" }, { - "@type":"Person", - "email":"teemu.taivainen@hotmail.fi", - "givenName":"Teemu", - "familyName": "Taivainen" + "@type": "Person", + "email": "thomas.moreau.2010@gmail.com", + "givenName": "Thomas", + "familyName": "Moreau" }, { - "@type":"Person", - "email":"tharupahanjayawardana@gmail.com", - "givenName":"Tharupahan", - "familyName": "Jayawardana" + "@type": "Person", + "email": "radman.thomas@gmail.com", + "givenName": "Thomas", + "familyName": "Radman" }, { - "@type":"Person", - "email":"tcaswell@gmail.com", - "givenName":"Thomas A", - "familyName": "Caswell" + "@type": "Person", + "email": "tim.gates@iress.com", + "givenName": "Timothy", + "familyName": "Gates" }, { - "@type":"Person", - "email":"thomas.moreau.2010@gmail.com", - "givenName":"Thomas", - "familyName": "Moreau" + "@type": "Person", + "email": "TASTONE@mgh.harvard.edu", + "givenName": "Tom", + "familyName": "Stone" }, { - "@type":"Person", - "email":"radman.thomas@gmail.com", - "givenName":"Thomas", - "familyName": "Radman" + "@type": "Person", + "email": "", + "givenName": "Tommy", + "familyName": "Clausner" }, { - "@type":"Person", - "email":"tim.gates@iress.com", - "givenName":"Timothy", - "familyName": "Gates" + "@type": "Person", + "email": "toomaserikanijarv@gmail.com", + "givenName": "Toomas Erik", + "familyName": "Anij\u00e4rv" }, { - "@type":"Person", - "email":"TASTONE@mgh.harvard.edu", - "givenName":"Tom", - "familyName": "Stone" + "@type": "Person", + "email": "", + "givenName": "Velu Prabhakar", + "familyName": "Kumaravel" }, { - "@type":"Person", - "email":"", - "givenName":"Tommy", - "familyName": "Clausner" + "@type": "Person", + "email": "gaobing1230@gmail.com", + "givenName": "Vincent", + "familyName": "Gao" }, { - "@type":"Person", - "email":"toomaserikanijarv@gmail.com", - "givenName":"Toomas Erik", - "familyName": "Anijärv" + "@type": "Person", + "email": "weixu@mail.bnu.edu.cn", + "givenName": "Wei", + "familyName": "Xu" }, { - "@type":"Person", - "email":"", - "givenName":"Velu Prabhakar", - "familyName": "Kumaravel" + "@type": "Person", + "email": "williamfrancisturner@gmail.com", + "givenName": "Will", + "familyName": "Turner" }, { - "@type":"Person", - "email":"weixu@mail.bnu.edu.cn", - "givenName":"Wei", - "familyName": "Xu" + "@type": "Person", + "email": "xabier@zuazo.org", + "givenName": "Xabier de", + "familyName": "Zuazo" }, { - "@type":"Person", - "email":"williamfrancisturner@gmail.com", - "givenName":"Will", - "familyName": "Turner" + "@type": "Person", + "email": "xia@xiaokai.me", + "givenName": "Xiaokai", + "familyName": "Xia" }, { - "@type":"Person", - "email":"xabier@zuazo.org", - "givenName":"Xabier de", - "familyName": "Zuazo" + "@type": "Person", + "email": "frostime@foxmail.com", + "givenName": "Yiping", + "familyName": "Zuo" }, { - "@type":"Person", - "email":"xia@xiaokai.me", - "givenName":"Xiaokai", - "familyName": "Xia" + "@type": "Person", + "email": "", + "givenName": "Yixiao", + "familyName": "Shen" }, { - "@type":"Person", - "email":"frostime@foxmail.com", - "givenName":"Yiping", - "familyName": "Zuo" + "@type": "Person", + "email": "", + "givenName": "Young", + "familyName": "Truong" }, { - "@type":"Person", - "email":"", - "givenName":"Yixiao", - "familyName": "Shen" + "@type": "Person", + "email": "850734033@qq.com", + "givenName": "Zhi", + "familyName": "Zhang" }, { - "@type":"Person", - "email":"", - "givenName":"Young", - "familyName": "Truong" + "@type": "Person", + "email": "ziyizeng@link.cuhk.edu.cn", + "givenName": "Ziyi", + "familyName": "ZENG" }, { - "@type":"Person", - "email":"850734033@qq.com", - "givenName":"Zhi", - "familyName": "Zhang" + "@type": "Person", + "email": "btk.codedev@gmail.com", + "givenName": "", + "familyName": "btkcodedev" }, { - "@type":"Person", - "email":"ziyizeng@link.cuhk.edu.cn", - "givenName":"Ziyi", - "familyName": "ZENG" + "@type": "Person", + "email": "", + "givenName": "", + "familyName": "buildqa" }, { - "@type":"Person", - "email":"btk.codedev@gmail.com", - "givenName":"", - "familyName": "btkcodedev" + "@type": "Person", + "email": "", + "givenName": "", + "familyName": "luzpaz" }, { - "@type":"Person", - "email":"", - "givenName":"", - "familyName": "buildqa" + "@type": "Person", + "email": "", + "givenName": "", + "familyName": "pjdurka" }, { - "@type":"Person", - "email":"", - "givenName":"", - "familyName": "luzpaz" + "@type": "Person", + "email": "gazeux33000@gmail.com", + "givenName": "", + "familyName": "tcastillo" }, { - "@type":"Person", - "email":"", - "givenName":"", - "familyName": "user27182" + "@type": "Person", + "email": "", + "givenName": "", + "familyName": "user27182" } ] } diff --git a/environment.yml b/environment.yml index a872d4732a4..4ef82c86619 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -# THIS FILE IS AUTO-GENERATED BY tools/hooks/update_environment_file.py AND WILL BE OVERWRITTEN +# THIS FILE IS AUTO-GENERATED BY MNE-TOOLS AND WILL BE OVERWRITTEN name: mne channels: - conda-forge @@ -20,7 +20,7 @@ dependencies: - imageio-ffmpeg >=0.4.1 - ipyevents - ipympl - - ipython >=2.0,!=8.7.0 + - ipython !=8.7.0,>=2.0 - ipywidgets - jinja2 >=3.1 - joblib >=0.8 @@ -36,10 +36,10 @@ dependencies: - nomkl - noqt5 - numba >=0.35 - - numpy >=1.26,<3 + - numpy <3,>=1.26 - openmeeg >=2.5.7 - packaging - - pandas >=2.2,!=3.0.4 + - pandas !=3.0.4,>=2.2 - pillow - pip - pooch >=1.5 @@ -69,4 +69,4 @@ dependencies: - xlrd - pip: - pymef - - pyobjc-framework-Cocoa >=5.2.0;platform_system=='Darwin' + - pyobjc-framework-Cocoa>=5.2.0; platform_system == "Darwin" diff --git a/tools/generate_codemeta.py b/tools/generate_codemeta.py deleted file mode 100644 index a82a521e067..00000000000 --- a/tools/generate_codemeta.py +++ /dev/null @@ -1,250 +0,0 @@ -# Authors: The MNE-Python contributors. -# License: BSD-3-Clause -# Copyright the MNE-Python contributors. - -import subprocess -from argparse import ArgumentParser -from datetime import date -from pathlib import Path - -import tomllib - -parser = ArgumentParser(description="Generate codemeta.json and CITATION.cff") -parser.add_argument("release_version", type=str) -release_version = parser.parse_args().release_version - -out_dir = Path(__file__).parents[1] - -# NOTE: ../codemeta.json and ../citation.cff should not be continuously -# updated. Run this script only at release time. - -package_name = "MNE-Python" -release_date = str(date.today()) -commit = subprocess.run( - ["git", "log", "-1", "--pretty=%H"], capture_output=True, text=True -).stdout.strip() - -# KEYWORDS -keywords = ( - "MEG", - "magnetoencephalography", - "EEG", - "electroencephalography", - "fNIRS", - "functional near-infrared spectroscopy", - "iEEG", - "intracranial EEG", - "eCoG", - "electrocorticography", - "DBS", - "deep brain stimulation", -) - -# add to these as necessary -compound_surnames = ( - "García Alanis", - "van Vliet", - "De Santis", - "Dupré la Tour", - "de la Torre", - "de Jong", - "de Montalivet", - "van den Bosch", - "Van den Bossche", - "Van Der Donckt", - "van der Meer", - "van Harmelen", - "Visconti di Oleggio Castello", - "van Es", -) - - -def parse_name(name): - """Split name blobs from `git shortlog -nse` into first/last/email.""" - # remove commit count - _, name_and_email = name.strip().split("\t") - name, email = name_and_email.split(" <") - email = email.strip(">") - email = "" if "noreply" in email else email # ignore "noreply" emails - name = " ".join(name.split(".")) # remove periods from initials - # handle compound surnames - for compound_surname in compound_surnames: - if name.endswith(compound_surname): - ix = name.index(compound_surname) - first = name[:ix].strip() - last = compound_surname - return (first, last, email) - # handle non-compound surnames - name_elements = name.split() - if len(name_elements) == 1: # mononyms / usernames - first = "" - last = name - else: - first = " ".join(name_elements[:-1]) - last = name_elements[-1] - return (first, last, email) - - -# MAKE SURE THE RELEASE STRING IS PROPERLY FORMATTED -try: - split_version = list(map(int, release_version.split("."))) -except ValueError: - raise -msg = ( - "First argument must be the release version X.Y.Z (all integers), " - f"got {release_version}" -) -assert len(split_version) == 3, msg - - -# RUN GIT SHORTLOG TO GET ALL AUTHORS, SORTED BY NUMBER OF COMMITS -args = ["git", "shortlog", "-nse"] -result = subprocess.run(args, capture_output=True, text=True) -lines = result.stdout.strip().split("\n") -all_names = [parse_name(line) for line in lines if "[bot]" not in line] - - -# CONSTRUCT JSON AUTHORS LIST -json_authors = [ - f"""{{ - "@type":"Person", - "email":"{email}", - "givenName":"{first}", - "familyName": "{last}" - }}""" - for (first, last, email) in all_names -] - - -# GET OUR DEPENDENCY VERSIONS -pyproject = tomllib.loads( - (Path(__file__).parents[1] / "pyproject.toml").read_text("utf-8") -) -dependencies = [f"python{pyproject['project']['requires-python']}"] -dependencies.extend(pyproject["project"]["dependencies"]) - -# these must be done outside the boilerplate (no \n allowed in f-strings): -json_authors = ",\n ".join(json_authors) -dependencies = '",\n "'.join(dependencies) -json_keywords = '",\n "'.join(keywords) - - -# ASSEMBLE COMPLETE JSON -codemeta_boilerplate = f"""{{ - "@context": "https://doi.org/10.5063/schema/codemeta-2.0", - "@type": "SoftwareSourceCode", - "license": "https://spdx.org/licenses/BSD-3-Clause", - "codeRepository": "git+https://github.com/mne-tools/mne-python.git", - "dateCreated": "2010-12-26", - "datePublished": "2014-08-04", - "dateModified": "{release_date}", - "downloadUrl": "https://github.com/mne-tools/mne-python/archive/v{release_version}.zip", - "issueTracker": "https://github.com/mne-tools/mne-python/issues", - "name": "{package_name}", - "version": "{release_version}", - "description": "{package_name} is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data. It provides methods for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics.", - "applicationCategory": "Neuroscience", - "developmentStatus": "active", - "referencePublication": "https://doi.org/10.3389/fnins.2013.00267", - "keywords": [ - "{json_keywords}" - ], - "programmingLanguage": [ - "Python" - ], - "operatingSystem": [ - "Linux", - "Windows", - "macOS" - ], - "softwareRequirements": [ - "{dependencies}" - ], - "author": [ - {json_authors} - ] -}} -""" # noqa E501 - - -# WRITE TO FILE -with open(out_dir / "codemeta.json", "w") as codemeta_file: - codemeta_file.write(codemeta_boilerplate) - - -# # # # # # # # # # # # # # # -# GENERATE CITATION.CFF TOO # -# # # # # # # # # # # # # # # -message = ( - "If you use this software, please cite both the software itself, " - "and the paper listed in the preferred-citation field." -) - -# in CFF, multi-word keywords need to be wrapped in quotes -cff_keywords = (f'"{kw}"' if " " in kw else kw for kw in keywords) -# make into a bulleted list -cff_keywords = "\n".join(f" - {kw}" for kw in cff_keywords) - -# TODO: someday would be nice to include ORCiD identifiers too -cff_authors = [ - f" - family-names: {last}\n given-names: {first}" - if first - else f" - name: {last}" - for (first, last, _) in all_names -] -cff_authors = "\n".join(cff_authors) - -# this ↓↓↓ is the meta-DOI that always resolves to the latest release -zenodo_doi = "10.5281/zenodo.592483" - -# ASSEMBLE THE CFF STRING -cff_boilerplate = f"""\ -cff-version: 1.2.0 -title: "{package_name}" -message: "{message}" -version: {release_version} -date-released: "{release_date}" -commit: {commit} -doi: {zenodo_doi} -keywords: -{cff_keywords} -authors: -{cff_authors} -preferred-citation: - title: "MEG and EEG Data Analysis with MNE-Python" - journal: "Frontiers in Neuroscience" - type: article - year: 2013 - volume: 7 - issue: 267 - start: 1 - end: 13 - doi: 10.3389/fnins.2013.00267 - authors: - - family-names: Gramfort - given-names: Alexandre - - family-names: Luessi - given-names: Martin - - family-names: Larson - given-names: Eric - - family-names: Engemann - given-names: Denis A. - - family-names: Strohmeier - given-names: Daniel - - family-names: Brodbeck - given-names: Christian - - family-names: Goj - given-names: Roman - - family-names: Jas - given-names: Mainak - - family-names: Brooks - given-names: Teon - - family-names: Parkkonen - given-names: Lauri - - family-names: Hämäläinen - given-names: Matti S. -""" - -# WRITE TO FILE -with open(out_dir / "CITATION.cff", "w") as cff_file: - cff_file.write(cff_boilerplate) diff --git a/tools/github_actions_check_old_env.py b/tools/github_actions_check_old_env.py deleted file mode 100644 index 92e7049b549..00000000000 --- a/tools/github_actions_check_old_env.py +++ /dev/null @@ -1,68 +0,0 @@ -"""Check that the old env being used has the expected versions of dependencies.""" - -# Authors: The MNE-Python contributors. -# License: BSD-3-Clause -# Copyright the MNE-Python contributors. - -import importlib -import sys -from importlib import metadata -from pathlib import Path - -from packaging.version import Version - -project_root = Path(__file__).parent.parent - -sys.path.append(project_root / "tools") -from check_pyproject_helpers import ( # noqa: E402 - get_bad_deps_message, - get_deps_to_check, - get_min_pinned_ver, - raise_bad_deps_messages, -) - -# Get dependencies to check from pyproject.toml -check_deps = get_deps_to_check() - -# Check that the versions in the env match the minimum versions in pyproject.toml -mod_name_mapping = {"scikit-learn": "sklearn"} -bad_missing = [] -bad_version = [] -for dep in check_deps: - mod_name, pyproject_ver = get_min_pinned_ver(dep) - mod_import_name = mod_name_mapping.get(mod_name, mod_name) - - # Need to handle logic for checking Python version vs. module versions differently. - # For Python, the latest micro version for the major.minor release specified will be - # used. E.g., if we ask for 3.10 when creating the old env, we will get 3.10.19. - # However, for modules, uv's `lowest-direct` option will resolve to the lowest - # major.minor.micro version, even if a micro version isn't specified. E.g., if - # `pyproject.toml` asks for numpy >= 1.26, the lockfile will have 1.26.0. - if mod_name == "python": - env_ver = sys.version_info[:3] # take major, minor, and micro info - if len(Version(pyproject_ver).release) == 2: # only major and minor specified - env_ver = env_ver[:2] # only compare major and minor info - env_ver = ".".join(str(x) for x in env_ver) - else: - try: - importlib.import_module(mod_import_name) - except Exception as exc: - bad_missing.append(f"{mod_name}: ({type(exc).__name__}: {exc})") - continue - # Not all modules have a __version__ attribute, so use importlib.metadata - # Also requires the true module name, not the import variant (if different) - env_ver = metadata.version(mod_name) - - if pyproject_ver is None: - continue # no min version specified, so no check needed - if Version(env_ver) != Version(pyproject_ver): - bad_version.append( - f"{mod_name}: is {env_ver}; {pyproject_ver} expected from `pyproject.toml`" - ) - -# Format bad messages and raise if there are any bads -bad_missing = get_bad_deps_message(bad_missing, "are missing from the environment") -bad_version = get_bad_deps_message( - bad_version, "have incorrect versions in the environment" -) -raise_bad_deps_messages([bad_missing, bad_version]) diff --git a/tools/github_actions_check_old_lockfile.py b/tools/github_actions_check_old_lockfile.py deleted file mode 100644 index f86d187c484..00000000000 --- a/tools/github_actions_check_old_lockfile.py +++ /dev/null @@ -1,68 +0,0 @@ -"""Check that the old env lockfile has the expected versions of dependencies.""" - -# Authors: The MNE-Python contributors. -# License: BSD-3-Clause -# Copyright the MNE-Python contributors. - -import sys -from pathlib import Path - -from packaging.specifiers import Specifier -from packaging.version import Version -from tomlkit.toml_file import TOMLFile - -project_root = Path(__file__).parent.parent - -sys.path.append(project_root / "tools") -from check_pyproject_helpers import ( # noqa: E402 - get_bad_deps_message, - get_deps_to_check, - get_min_pinned_ver, - raise_bad_deps_messages, -) - -# Get dependencies to check from pyproject.toml -check_deps = get_deps_to_check() - -# Get 'old' lockfile pins for dependencies -lockfile = TOMLFile(project_root / "tools/pylock.ci-old.toml") -lockfile_data = lockfile.read() -python_spec = Specifier(lockfile_data["requires-python"]) -assert python_spec.operator == ">=", ( - f"Expected the Python version specifier in `pylock.ci-old.toml` to be a '>=' " - f"specifier, but found {python_spec.operator}." -) -lockfile_modules = {"python": python_spec.version} -lockfile_modules.update( - {mod["name"]: mod["version"] for mod in lockfile_data["packages"]} -) - -# Check that the versions in the lockfile match the minimum versions in pyproject.toml -mod_name_mapping = {"lazy_loader": "lazy-loader"} -bad_missing = [] -bad_version = [] -for dep in check_deps: - mod_name, pyproject_ver = get_min_pinned_ver(dep) - if pyproject_ver is None: - continue # no min version specified, so no check needed - name = mod_name_mapping.get(mod_name, mod_name) - - if name not in lockfile_modules.keys(): - bad_missing.append(name) - continue - lockfile_ver = lockfile_modules[name] - - if Version(lockfile_ver) != Version(pyproject_ver): - bad_version.append( - f"lower pin on {name} in `pyproject.toml` is {pyproject_ver}, " - f"but `pylock.ci-old.toml` has {lockfile_ver}" - ) - -# Format bad messages and raise if there are any bads -bad_missing = get_bad_deps_message( - bad_missing, "are missing from the `pylock.ci-old.toml` lockfile" -) -bad_version = get_bad_deps_message( - bad_version, "have incorrect versions in the `pylock.ci-old.toml` lockfile" -) -raise_bad_deps_messages([bad_missing, bad_version]) diff --git a/tools/github_actions_dependencies.sh b/tools/github_actions_dependencies.sh index a48ae02b433..13fee17afa3 100755 --- a/tools/github_actions_dependencies.sh +++ b/tools/github_actions_dependencies.sh @@ -29,7 +29,7 @@ elif [[ "${MNE_CI_KIND}" == "old" ]]; then STD_ARGS="--progress-bar off" echo "::group::Syncing old environment dependencies from lockfile using uv" uv pip sync ${SCRIPT_DIR}/pylock.ci-old.toml - uv pip install pip tomlkit ${MNE_QT_BACKEND} + uv pip install pip ${MNE_QT_BACKEND} echo "::endgroup::" elif [[ "${MNE_CI_KIND}" == "pip-ft" ]]; then # This one is free-threaded so can't have PySide6/PyQt6 as of 2026/06/16 diff --git a/tools/hooks/update_environment_file.py b/tools/hooks/update_environment_file.py deleted file mode 100755 index b3f11806bb7..00000000000 --- a/tools/hooks/update_environment_file.py +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env python - -# Authors: The MNE-Python contributors. -# License: BSD-3-Clause -# Copyright the MNE-Python contributors. - -import re -from pathlib import Path - -import tomllib - -repo_root = Path(__file__).resolve().parents[2] -with open(repo_root / "pyproject.toml", "rb") as fid: - pyproj = tomllib.load(fid) - -# Get our "full" dependences from `pyproject.toml`, but actually ignore the -# "full-pyqt6" section as it's just "full-noqt" plus PyQt6. Also ignore "full-pyside6" -# as it's just a redirect to "full". -ignore = ("full-pyqt6", "full-pyside6") -deps = set(pyproj["project"]["dependencies"]) -for section, section_deps in pyproj["project"]["optional-dependencies"].items(): - if section not in ignore: - deps |= set(section_deps) -recursive_deps = set(d for d in deps if d.startswith("mne[")) -deps -= recursive_deps -deps |= {"pip", "mamba", "conda", "nomkl", "noqt5"} -# not on conda-forge -pip_deps = {"pymef"} -deps -= pip_deps - - -def remove_spaces(version_spec): - """Remove spaces in version specs (conda is stricter than pip about this). - - https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/pkg-specs.html#package-match-specifications - """ - return "".join(version_spec.split()) - - -def split_dep(dep): - """Separate package name from version spec.""" - pattern = re.compile(r"([^!=<>]+)?([!=<>].*)?") - groups = list(pattern.match(dep).groups()) - groups[1] = "" if groups[1] is None else remove_spaces(groups[1]) - return tuple(map(str.strip, groups)) - - -# python version -req_python = remove_spaces(pyproj["project"]["requires-python"]) - -# split package name from version spec -translations = dict(neo="python-neo") -conda_dep_lines = set() -version_spec_overrides = { - # Help the solver work faster by specifying these (should be updated periodically): - "PySide6": "==6.10.2", - "vtk": "==9.6.0", -} -for key in version_spec_overrides: - assert any(dep.startswith(key) for dep in deps), ( - f"Need to adjust code below if {key} is not a dependency: {deps}" - ) -for dep in deps: - package_name, version_spec = split_dep(dep) - version_spec = version_spec_overrides.get(package_name, version_spec) - # handle package name differences - package_name = translations.get(package_name, package_name) - # C deps that mean we need to upgrade VTK etc. - # rstrip output line in case `version_spec` == "" - line = f" - {package_name} {version_spec}".rstrip() - # use pip for packages needing e.g. `platform_system` or `python_version` triaging - if ";" in version_spec: - pip_deps.add(line[4:]) - else: - conda_dep_lines.add(line) - -# prepare the pip dependencies section -newline = "\n" # python < 3.12 forbids backslash in {} part of f-string -pip_section = f"""\ - - pip: -{newline.join(sorted((f" - {dep}" for dep in pip_deps), key=str.casefold))} -""" -pip_section = pip_section if len(pip_deps) else "" -# prepare the env file -env = f"""\ -# THIS FILE IS AUTO-GENERATED BY {"/".join(Path(__file__).parts[-3:])} AND WILL BE OVERWRITTEN -name: mne -channels: - - conda-forge -dependencies: - - python {req_python} -{newline.join(sorted(conda_dep_lines, key=str.casefold))} -{pip_section}""" # noqa: E501 - -(repo_root / "environment.yml").write_text(env) diff --git a/tools/sync_dependencies.py b/tools/sync_dependencies.py deleted file mode 100755 index 53f6dfc33f2..00000000000 --- a/tools/sync_dependencies.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python - -# Authors: The MNE-Python contributors. -# License: BSD-3-Clause -# Copyright the MNE-Python contributors. - -import difflib -import re - -# NB here we use metadata from the latest stable release because this goes in our -# README, which should apply to the latest release (rather than dev). -# For oldest supported dev dependencies, see update_environment_file.py. -from importlib.metadata import metadata -from pathlib import Path - -from mne.utils import _pl, warn - -README_PATH = Path(__file__).parents[1] / "README.rst" -BEGIN = ".. ↓↓↓ BEGIN CORE DEPS LIST. DO NOT EDIT! HANDLED BY PRE-COMMIT HOOK ↓↓↓" -END = ".. ↑↑↑ END CORE DEPS LIST. DO NOT EDIT! HANDLED BY PRE-COMMIT HOOK ↑↑↑" - -CORE_DEPS_URLS = { - "Python": "https://www.python.org", - "NumPy": "https://numpy.org", - "SciPy": "https://scipy.org", - "Matplotlib": "https://matplotlib.org", - "Pooch": "https://www.fatiando.org/pooch/latest/", - "tqdm": "https://tqdm.github.io", - "Jinja2": "https://palletsprojects.com/p/jinja/", - "decorator": "https://github.com/micheles/decorator", - "lazy-loader": "https://pypi.org/project/lazy_loader", - "packaging": "https://packaging.pypa.io/en/stable/", -} - - -def _prettify_pin(pin): - if pin is None: - return "" - pins = pin.split(",") - replacements = { - "<=": " ≤ ", - ">=": " ≥ ", - "<": " < ", - ">": " > ", - } - for old, new in replacements.items(): - pins = [p.replace(old, new) for p in pins] - pins = reversed(pins) - return ",".join(pins) - - -# get the dependency info -py_pin = metadata("mne").get("Requires-Python") -all_deps = metadata("mne").get_all("Requires-Dist") -core_deps = [f"python{py_pin}", *[dep for dep in all_deps if "extra ==" not in dep]] -pattern = re.compile(r"(?P[A-Za-z_\-\d]+)(?P[<>=]+.*)?") -core_deps_pins = { - dep["name"]: _prettify_pin(dep["pin"]) for dep in map(pattern.match, core_deps) -} -# don't show upper pin on NumPy (not important for users, just devs) -new_pin = core_deps_pins["numpy"].split(",") -new_pin.remove(" < 3") -core_deps_pins["numpy"] = new_pin[0] - -# make sure our URLs dict is minimal and complete -missing_urls = set(core_deps_pins) - {dep.lower() for dep in CORE_DEPS_URLS} -extra_urls = {dep.lower() for dep in CORE_DEPS_URLS} - set(core_deps_pins) -update_msg = ( - "please update `CORE_DEPS_URLS` mapping in `tools/hooks/sync_dependencies.py`." -) -if missing_urls: - _s = _pl(missing_urls) - raise RuntimeError( - f"Missing URL{_s} for package{_s} {', '.join(missing_urls)}; {update_msg}" - ) -if extra_urls: - _s = _pl(extra_urls) - warn(f"Superfluous URL{_s} for package{_s} {', '.join(extra_urls)}; {update_msg}") - -# construct the rST -core_deps_bullets = [ - f"- `{key} <{url}>`__{core_deps_pins[key.lower()]}" - for key, url in CORE_DEPS_URLS.items() -] - -# rewrite the README file -lines = README_PATH.read_text("utf-8").splitlines() -out_lines = list() -skip = False -for line in lines: - if line.strip() == BEGIN: - skip = True - out_lines.append(line) - out_lines.extend(["", *core_deps_bullets, ""]) - if line.strip() == END: - skip = False - if not skip: - out_lines.append(line) -new = "\n".join(out_lines) + "\n" -old = README_PATH.read_text("utf-8") -if new != old: - diff = "\n".join(difflib.unified_diff(old.splitlines(), new.splitlines())) - print(f"Updating {README_PATH} with diff:\n{diff}") - README_PATH.write_text(new, encoding="utf-8")