Metadata-Version: 2.4
Name: mne
Version: 1.10.2
Summary: MNE-Python project for MEG and EEG data analysis.
Project-URL: Bug Tracker, https://github.com/mne-tools/mne-python/issues/
Project-URL: Documentation, https://mne.tools/
Project-URL: Download, https://pypi.org/project/mne/#files
Project-URL: Forum, https://mne.discourse.group/
Project-URL: Homepage, https://mne.tools/
Project-URL: Source Code, https://github.com/mne-tools/mne-python/
Author-email: Alexandre Gramfort <alexandre.gramfort@inria.fr>
Maintainer-email: Dan McCloy <dan@mccloy.info>
License: BSD-3-Clause
License-File: LICENSE.txt
Keywords: ECoG,EEG,MEG,brain,fNIRS,neuroimaging,neuroscience
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Requires-Python: >=3.10
Requires-Dist: decorator
Requires-Dist: jinja2
Requires-Dist: lazy-loader>=0.3
Requires-Dist: matplotlib>=3.7
Requires-Dist: numpy<3,>=1.25
Requires-Dist: packaging
Requires-Dist: pooch>=1.5
Requires-Dist: scipy>=1.11
Requires-Dist: tqdm
Provides-Extra: data
Provides-Extra: dev
Requires-Dist: codespell; extra == 'dev'
Requires-Dist: flaky; extra == 'dev'
Requires-Dist: graphviz; extra == 'dev'
Requires-Dist: intersphinx-registry>=0.2405.27; extra == 'dev'
Requires-Dist: ipython!=8.7.0; extra == 'dev'
Requires-Dist: memory-profiler; extra == 'dev'
Requires-Dist: mne-bids; extra == 'dev'
Requires-Dist: mne-connectivity; extra == 'dev'
Requires-Dist: mne-gui-addons; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: neo; extra == 'dev'
Requires-Dist: numpydoc; extra == 'dev'
Requires-Dist: openneuro-py; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: psutil; extra == 'dev'
Requires-Dist: pydata-sphinx-theme>=0.15.2; extra == 'dev'
Requires-Dist: pygments>=2.13; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-qt; extra == 'dev'
Requires-Dist: pytest-timeout; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: pyxdf; extra == 'dev'
Requires-Dist: pyzmq!=24.0.0; extra == 'dev'
Requires-Dist: rcssmin; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: seaborn!=0.11.2; extra == 'dev'
Requires-Dist: selenium>=4.27.1; extra == 'dev'
Requires-Dist: sphinx-copybutton; extra == 'dev'
Requires-Dist: sphinx-design; extra == 'dev'
Requires-Dist: sphinx-gallery>=0.16; extra == 'dev'
Requires-Dist: sphinx>=6; extra == 'dev'
Requires-Dist: sphinxcontrib-bibtex>=2.5; extra == 'dev'
Requires-Dist: sphinxcontrib-towncrier>=0.5.0a0; extra == 'dev'
Requires-Dist: sphinxcontrib-youtube; extra == 'dev'
Requires-Dist: toml-sort; extra == 'dev'
Requires-Dist: tomli; (python_version < '3.11') and extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Requires-Dist: vulture; extra == 'dev'
Requires-Dist: wheel; extra == 'dev'
Provides-Extra: doc
Requires-Dist: graphviz; extra == 'doc'
Requires-Dist: intersphinx-registry>=0.2405.27; extra == 'doc'
Requires-Dist: ipython!=8.7.0; extra == 'doc'
Requires-Dist: memory-profiler; extra == 'doc'
Requires-Dist: mne-bids; extra == 'doc'
Requires-Dist: mne-connectivity; extra == 'doc'
Requires-Dist: mne-gui-addons; extra == 'doc'
Requires-Dist: neo; extra == 'doc'
Requires-Dist: numpydoc; extra == 'doc'
Requires-Dist: openneuro-py; extra == 'doc'
Requires-Dist: psutil; extra == 'doc'
Requires-Dist: pydata-sphinx-theme>=0.15.2; extra == 'doc'
Requires-Dist: pygments>=2.13; extra == 'doc'
Requires-Dist: pytest; extra == 'doc'
Requires-Dist: pyxdf; extra == 'doc'
Requires-Dist: pyzmq!=24.0.0; extra == 'doc'
Requires-Dist: seaborn!=0.11.2; extra == 'doc'
Requires-Dist: selenium>=4.27.1; extra == 'doc'
Requires-Dist: sphinx-copybutton; extra == 'doc'
Requires-Dist: sphinx-design; extra == 'doc'
Requires-Dist: sphinx-gallery>=0.16; extra == 'doc'
Requires-Dist: sphinx>=6; extra == 'doc'
Requires-Dist: sphinxcontrib-bibtex>=2.5; extra == 'doc'
Requires-Dist: sphinxcontrib-towncrier>=0.5.0a0; extra == 'doc'
Requires-Dist: sphinxcontrib-youtube; extra == 'doc'
Provides-Extra: full
Requires-Dist: antio>=0.5.0; extra == 'full'
Requires-Dist: darkdetect; extra == 'full'
Requires-Dist: defusedxml; extra == 'full'
Requires-Dist: dipy; extra == 'full'
Requires-Dist: edfio>=0.4.10; extra == 'full'
Requires-Dist: eeglabio; extra == 'full'
Requires-Dist: filelock>=3.18.0; extra == 'full'
Requires-Dist: h5io>=0.2.4; extra == 'full'
Requires-Dist: h5py; extra == 'full'
Requires-Dist: imageio-ffmpeg>=0.4.1; extra == 'full'
Requires-Dist: imageio>=2.6.1; extra == 'full'
Requires-Dist: ipyevents; extra == 'full'
Requires-Dist: ipympl; extra == 'full'
Requires-Dist: ipython!=8.7.0; extra == 'full'
Requires-Dist: ipywidgets; extra == 'full'
Requires-Dist: joblib; extra == 'full'
Requires-Dist: jupyter; extra == 'full'
Requires-Dist: mffpy>=0.5.7; extra == 'full'
Requires-Dist: mne-qt-browser; extra == 'full'
Requires-Dist: neo; extra == 'full'
Requires-Dist: nibabel; extra == 'full'
Requires-Dist: nilearn; extra == 'full'
Requires-Dist: numba; extra == 'full'
Requires-Dist: openmeeg>=2.5.5; extra == 'full'
Requires-Dist: pandas>=2.0; extra == 'full'
Requires-Dist: pillow; extra == 'full'
Requires-Dist: pyarrow; extra == 'full'
Requires-Dist: pybv; extra == 'full'
Requires-Dist: pymatreader; extra == 'full'
Requires-Dist: pyobjc-framework-cocoa>=5.2.0; (platform_system == 'Darwin') and extra == 'full'
Requires-Dist: pyqt6!=6.6.0; extra == 'full'
Requires-Dist: pyqt6-qt6!=6.6.0,!=6.7.0; extra == 'full'
Requires-Dist: python-picard; extra == 'full'
Requires-Dist: pyvista!=0.35.2,!=0.38.0,!=0.38.1,!=0.38.2,!=0.38.3,!=0.38.4,!=0.38.5,!=0.38.6,!=0.42.0,>=0.32; extra == 'full'
Requires-Dist: pyvistaqt>=0.4; extra == 'full'
Requires-Dist: qdarkstyle!=3.2.2; extra == 'full'
Requires-Dist: qtpy; extra == 'full'
Requires-Dist: scikit-learn>=1.3.0; extra == 'full'
Requires-Dist: sip; extra == 'full'
Requires-Dist: snirf; extra == 'full'
Requires-Dist: statsmodels; extra == 'full'
Requires-Dist: threadpoolctl; extra == 'full'
Requires-Dist: traitlets; extra == 'full'
Requires-Dist: trame; extra == 'full'
Requires-Dist: trame-vtk; extra == 'full'
Requires-Dist: trame-vuetify; extra == 'full'
Requires-Dist: vtk>=9.2; extra == 'full'
Requires-Dist: xlrd; extra == 'full'
Provides-Extra: full-no-qt
Requires-Dist: antio>=0.5.0; extra == 'full-no-qt'
Requires-Dist: darkdetect; extra == 'full-no-qt'
Requires-Dist: defusedxml; extra == 'full-no-qt'
Requires-Dist: dipy; extra == 'full-no-qt'
Requires-Dist: edfio>=0.4.10; extra == 'full-no-qt'
Requires-Dist: eeglabio; extra == 'full-no-qt'
Requires-Dist: filelock>=3.18.0; extra == 'full-no-qt'
Requires-Dist: h5io>=0.2.4; extra == 'full-no-qt'
Requires-Dist: h5py; extra == 'full-no-qt'
Requires-Dist: imageio-ffmpeg>=0.4.1; extra == 'full-no-qt'
Requires-Dist: imageio>=2.6.1; extra == 'full-no-qt'
Requires-Dist: ipyevents; extra == 'full-no-qt'
Requires-Dist: ipympl; extra == 'full-no-qt'
Requires-Dist: ipython!=8.7.0; extra == 'full-no-qt'
Requires-Dist: ipywidgets; extra == 'full-no-qt'
Requires-Dist: joblib; extra == 'full-no-qt'
Requires-Dist: jupyter; extra == 'full-no-qt'
Requires-Dist: mffpy>=0.5.7; extra == 'full-no-qt'
Requires-Dist: mne-qt-browser; extra == 'full-no-qt'
Requires-Dist: neo; extra == 'full-no-qt'
Requires-Dist: nibabel; extra == 'full-no-qt'
Requires-Dist: nilearn; extra == 'full-no-qt'
Requires-Dist: numba; extra == 'full-no-qt'
Requires-Dist: openmeeg>=2.5.5; extra == 'full-no-qt'
Requires-Dist: pandas>=2.0; extra == 'full-no-qt'
Requires-Dist: pillow; extra == 'full-no-qt'
Requires-Dist: pyarrow; extra == 'full-no-qt'
Requires-Dist: pybv; extra == 'full-no-qt'
Requires-Dist: pymatreader; extra == 'full-no-qt'
Requires-Dist: pyobjc-framework-cocoa>=5.2.0; (platform_system == 'Darwin') and extra == 'full-no-qt'
Requires-Dist: python-picard; extra == 'full-no-qt'
Requires-Dist: pyvista!=0.35.2,!=0.38.0,!=0.38.1,!=0.38.2,!=0.38.3,!=0.38.4,!=0.38.5,!=0.38.6,!=0.42.0,>=0.32; extra == 'full-no-qt'
Requires-Dist: pyvistaqt>=0.4; extra == 'full-no-qt'
Requires-Dist: qdarkstyle!=3.2.2; extra == 'full-no-qt'
Requires-Dist: qtpy; extra == 'full-no-qt'
Requires-Dist: scikit-learn>=1.3.0; extra == 'full-no-qt'
Requires-Dist: sip; extra == 'full-no-qt'
Requires-Dist: snirf; extra == 'full-no-qt'
Requires-Dist: statsmodels; extra == 'full-no-qt'
Requires-Dist: threadpoolctl; extra == 'full-no-qt'
Requires-Dist: traitlets; extra == 'full-no-qt'
Requires-Dist: trame; extra == 'full-no-qt'
Requires-Dist: trame-vtk; extra == 'full-no-qt'
Requires-Dist: trame-vuetify; extra == 'full-no-qt'
Requires-Dist: vtk>=9.2; extra == 'full-no-qt'
Requires-Dist: xlrd; extra == 'full-no-qt'
Provides-Extra: full-pyqt6
Requires-Dist: antio>=0.5.0; extra == 'full-pyqt6'
Requires-Dist: darkdetect; extra == 'full-pyqt6'
Requires-Dist: defusedxml; extra == 'full-pyqt6'
Requires-Dist: dipy; extra == 'full-pyqt6'
Requires-Dist: edfio>=0.4.10; extra == 'full-pyqt6'
Requires-Dist: eeglabio; extra == 'full-pyqt6'
Requires-Dist: filelock>=3.18.0; extra == 'full-pyqt6'
Requires-Dist: h5io>=0.2.4; extra == 'full-pyqt6'
Requires-Dist: h5py; extra == 'full-pyqt6'
Requires-Dist: imageio-ffmpeg>=0.4.1; extra == 'full-pyqt6'
Requires-Dist: imageio>=2.6.1; extra == 'full-pyqt6'
Requires-Dist: ipyevents; extra == 'full-pyqt6'
Requires-Dist: ipympl; extra == 'full-pyqt6'
Requires-Dist: ipython!=8.7.0; extra == 'full-pyqt6'
Requires-Dist: ipywidgets; extra == 'full-pyqt6'
Requires-Dist: joblib; extra == 'full-pyqt6'
Requires-Dist: jupyter; extra == 'full-pyqt6'
Requires-Dist: mffpy>=0.5.7; extra == 'full-pyqt6'
Requires-Dist: mne-qt-browser; extra == 'full-pyqt6'
Requires-Dist: neo; extra == 'full-pyqt6'
Requires-Dist: nibabel; extra == 'full-pyqt6'
Requires-Dist: nilearn; extra == 'full-pyqt6'
Requires-Dist: numba; extra == 'full-pyqt6'
Requires-Dist: openmeeg>=2.5.5; extra == 'full-pyqt6'
Requires-Dist: pandas>=2.0; extra == 'full-pyqt6'
Requires-Dist: pillow; extra == 'full-pyqt6'
Requires-Dist: pyarrow; extra == 'full-pyqt6'
Requires-Dist: pybv; extra == 'full-pyqt6'
Requires-Dist: pymatreader; extra == 'full-pyqt6'
Requires-Dist: pyobjc-framework-cocoa>=5.2.0; (platform_system == 'Darwin') and extra == 'full-pyqt6'
Requires-Dist: pyqt6!=6.6.0; extra == 'full-pyqt6'
Requires-Dist: pyqt6-qt6!=6.6.0,!=6.7.0; extra == 'full-pyqt6'
Requires-Dist: python-picard; extra == 'full-pyqt6'
Requires-Dist: pyvista!=0.35.2,!=0.38.0,!=0.38.1,!=0.38.2,!=0.38.3,!=0.38.4,!=0.38.5,!=0.38.6,!=0.42.0,>=0.32; extra == 'full-pyqt6'
Requires-Dist: pyvistaqt>=0.4; extra == 'full-pyqt6'
Requires-Dist: qdarkstyle!=3.2.2; extra == 'full-pyqt6'
Requires-Dist: qtpy; extra == 'full-pyqt6'
Requires-Dist: scikit-learn>=1.3.0; extra == 'full-pyqt6'
Requires-Dist: sip; extra == 'full-pyqt6'
Requires-Dist: snirf; extra == 'full-pyqt6'
Requires-Dist: statsmodels; extra == 'full-pyqt6'
Requires-Dist: threadpoolctl; extra == 'full-pyqt6'
Requires-Dist: traitlets; extra == 'full-pyqt6'
Requires-Dist: trame; extra == 'full-pyqt6'
Requires-Dist: trame-vtk; extra == 'full-pyqt6'
Requires-Dist: trame-vuetify; extra == 'full-pyqt6'
Requires-Dist: vtk>=9.2; extra == 'full-pyqt6'
Requires-Dist: xlrd; extra == 'full-pyqt6'
Provides-Extra: full-pyside6
Requires-Dist: antio>=0.5.0; extra == 'full-pyside6'
Requires-Dist: darkdetect; extra == 'full-pyside6'
Requires-Dist: defusedxml; extra == 'full-pyside6'
Requires-Dist: dipy; extra == 'full-pyside6'
Requires-Dist: edfio>=0.4.10; extra == 'full-pyside6'
Requires-Dist: eeglabio; extra == 'full-pyside6'
Requires-Dist: filelock>=3.18.0; extra == 'full-pyside6'
Requires-Dist: h5io>=0.2.4; extra == 'full-pyside6'
Requires-Dist: h5py; extra == 'full-pyside6'
Requires-Dist: imageio-ffmpeg>=0.4.1; extra == 'full-pyside6'
Requires-Dist: imageio>=2.6.1; extra == 'full-pyside6'
Requires-Dist: ipyevents; extra == 'full-pyside6'
Requires-Dist: ipympl; extra == 'full-pyside6'
Requires-Dist: ipython!=8.7.0; extra == 'full-pyside6'
Requires-Dist: ipywidgets; extra == 'full-pyside6'
Requires-Dist: joblib; extra == 'full-pyside6'
Requires-Dist: jupyter; extra == 'full-pyside6'
Requires-Dist: mffpy>=0.5.7; extra == 'full-pyside6'
Requires-Dist: mne-qt-browser; extra == 'full-pyside6'
Requires-Dist: neo; extra == 'full-pyside6'
Requires-Dist: nibabel; extra == 'full-pyside6'
Requires-Dist: nilearn; extra == 'full-pyside6'
Requires-Dist: numba; extra == 'full-pyside6'
Requires-Dist: openmeeg>=2.5.5; extra == 'full-pyside6'
Requires-Dist: pandas>=2.0; extra == 'full-pyside6'
Requires-Dist: pillow; extra == 'full-pyside6'
Requires-Dist: pyarrow; extra == 'full-pyside6'
Requires-Dist: pybv; extra == 'full-pyside6'
Requires-Dist: pymatreader; extra == 'full-pyside6'
Requires-Dist: pyobjc-framework-cocoa>=5.2.0; (platform_system == 'Darwin') and extra == 'full-pyside6'
Requires-Dist: pyside6!=6.7.0,!=6.8.0,!=6.8.0.1,!=6.9.1; extra == 'full-pyside6'
Requires-Dist: python-picard; extra == 'full-pyside6'
Requires-Dist: pyvista!=0.35.2,!=0.38.0,!=0.38.1,!=0.38.2,!=0.38.3,!=0.38.4,!=0.38.5,!=0.38.6,!=0.42.0,>=0.32; extra == 'full-pyside6'
Requires-Dist: pyvistaqt>=0.4; extra == 'full-pyside6'
Requires-Dist: qdarkstyle!=3.2.2; extra == 'full-pyside6'
Requires-Dist: qtpy; extra == 'full-pyside6'
Requires-Dist: scikit-learn>=1.3.0; extra == 'full-pyside6'
Requires-Dist: sip; extra == 'full-pyside6'
Requires-Dist: snirf; extra == 'full-pyside6'
Requires-Dist: statsmodels; extra == 'full-pyside6'
Requires-Dist: threadpoolctl; extra == 'full-pyside6'
Requires-Dist: traitlets; extra == 'full-pyside6'
Requires-Dist: trame; extra == 'full-pyside6'
Requires-Dist: trame-vtk; extra == 'full-pyside6'
Requires-Dist: trame-vuetify; extra == 'full-pyside6'
Requires-Dist: vtk>=9.2; extra == 'full-pyside6'
Requires-Dist: xlrd; extra == 'full-pyside6'
Provides-Extra: hdf5
Requires-Dist: h5io>=0.2.4; extra == 'hdf5'
Requires-Dist: pymatreader; extra == 'hdf5'
Provides-Extra: test
Requires-Dist: codespell; extra == 'test'
Requires-Dist: flaky; extra == 'test'
Requires-Dist: ipython!=8.7.0; extra == 'test'
Requires-Dist: mypy; extra == 'test'
Requires-Dist: numpydoc; extra == 'test'
Requires-Dist: pre-commit; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-qt; extra == 'test'
Requires-Dist: pytest-timeout; extra == 'test'
Requires-Dist: pytest>=8.0; extra == 'test'
Requires-Dist: ruff; extra == 'test'
Requires-Dist: toml-sort; extra == 'test'
Requires-Dist: tomli; (python_version < '3.11') and extra == 'test'
Requires-Dist: twine; extra == 'test'
Requires-Dist: vulture; extra == 'test'
Requires-Dist: wheel; extra == 'test'
Provides-Extra: test-extra
Requires-Dist: codespell; extra == 'test-extra'
Requires-Dist: edfio>=0.4.10; extra == 'test-extra'
Requires-Dist: eeglabio; extra == 'test-extra'
Requires-Dist: flaky; extra == 'test-extra'
Requires-Dist: imageio-ffmpeg>=0.4.1; extra == 'test-extra'
Requires-Dist: imageio>=2.6.1; extra == 'test-extra'
Requires-Dist: ipython!=8.7.0; extra == 'test-extra'
Requires-Dist: jupyter-client; extra == 'test-extra'
Requires-Dist: mne-bids; extra == 'test-extra'
Requires-Dist: mypy; extra == 'test-extra'
Requires-Dist: nbclient; extra == 'test-extra'
Requires-Dist: nbformat; extra == 'test-extra'
Requires-Dist: neo; extra == 'test-extra'
Requires-Dist: nitime; extra == 'test-extra'
Requires-Dist: numpydoc; extra == 'test-extra'
Requires-Dist: pre-commit; extra == 'test-extra'
Requires-Dist: pybv; extra == 'test-extra'
Requires-Dist: pytest-cov; extra == 'test-extra'
Requires-Dist: pytest-qt; extra == 'test-extra'
Requires-Dist: pytest-timeout; extra == 'test-extra'
Requires-Dist: pytest>=8.0; extra == 'test-extra'
Requires-Dist: ruff; extra == 'test-extra'
Requires-Dist: snirf; extra == 'test-extra'
Requires-Dist: sphinx-gallery; extra == 'test-extra'
Requires-Dist: statsmodels; extra == 'test-extra'
Requires-Dist: toml-sort; extra == 'test-extra'
Requires-Dist: tomli; (python_version < '3.11') and extra == 'test-extra'
Requires-Dist: twine; extra == 'test-extra'
Requires-Dist: vulture; extra == 'test-extra'
Requires-Dist: wheel; extra == 'test-extra'
Description-Content-Type: text/x-rst

.. -*- mode: rst -*-

|MNE|

MNE-Python
==========

MNE-Python is an open-source Python package for exploring,
visualizing, and analyzing human neurophysiological data such as MEG, EEG, sEEG,
ECoG, and more. It includes modules for data input/output, preprocessing,
visualization, source estimation, time-frequency analysis, connectivity analysis,
machine learning, statistics, and more.


Documentation
^^^^^^^^^^^^^

`Documentation`_ for MNE-Python encompasses installation instructions, tutorials,
and examples for a wide variety of topics, contributing guidelines, and an API
reference.


Forum
^^^^^^

The `user forum`_ is the best place to ask questions about MNE-Python usage or
the contribution process. The forum also features job opportunities and other
announcements.

If you find a bug or have an idea for a new feature that should be added to
MNE-Python, please use the
`issue tracker <https://github.com/mne-tools/mne-python/issues/new/choose>`__ of
our GitHub repository.


Installation
^^^^^^^^^^^^

To install the latest stable version of MNE-Python with minimal dependencies
only, use pip_ in a terminal:

.. code-block:: console

    $ pip install --upgrade mne

For more complete instructions, including our standalone installers and more
advanced installation methods, please refer to the `installation guide`_.


Get the development version
^^^^^^^^^^^^^^^^^^^^^^^^^^^

To install the latest development version of MNE-Python using pip_, open a
terminal and type:

.. code-block:: console

    $ pip install --upgrade https://github.com/mne-tools/mne-python/archive/refs/heads/main.zip

To clone the repository with `git <https://git-scm.com/>`__, open a terminal
and type:

.. code-block:: console

    $ git clone https://github.com/mne-tools/mne-python.git


Dependencies
^^^^^^^^^^^^

The minimum required dependencies to run MNE-Python are:

.. ↓↓↓ BEGIN CORE DEPS LIST. DO NOT EDIT! HANDLED BY PRE-COMMIT HOOK ↓↓↓

- `Python <https://www.python.org>`__ ≥ 3.10
- `NumPy <https://numpy.org>`__ ≥ 1.23
- `SciPy <https://scipy.org>`__ ≥ 1.9
- `Matplotlib <https://matplotlib.org>`__ ≥ 3.6
- `Pooch <https://www.fatiando.org/pooch/latest/>`__ ≥ 1.5
- `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>`__ ≥ 0.3
- `packaging <https://packaging.pypa.io/en/stable/>`__

.. ↑↑↑ END CORE DEPS LIST. DO NOT EDIT! HANDLED BY PRE-COMMIT HOOK ↑↑↑

Contributing
^^^^^^^^^^^^

Please see the `contributing guidelines <https://mne.tools/dev/development/contributing.html>`__ on our documentation website.


About
^^^^^

+---------+------------+----------------+
| CI      | |Codecov|  | |Bandit|       |
+---------+------------+----------------+
| Package | |PyPI|     | |conda-forge|  |
+---------+------------+----------------+
| Docs    | |Docs|     | |Discourse|    |
+---------+------------+----------------+
| Meta    | |Zenodo|   | |OpenSSF|      |
+---------+------------+----------------+


License
^^^^^^^

MNE-Python is licensed under the BSD-3-Clause license.


.. _Documentation: https://mne.tools/dev/
.. _user forum: https://mne.discourse.group
.. _installation guide: https://mne.tools/dev/install/index.html
.. _pip: https://pip.pypa.io/en/stable/

.. |PyPI| image:: https://img.shields.io/pypi/dm/mne.svg?label=PyPI
   :target: https://pypi.org/project/mne/

.. |conda-forge| image:: https://img.shields.io/conda/dn/conda-forge/mne.svg?label=Conda
   :target: https://anaconda.org/conda-forge/mne

.. |Docs| image:: https://img.shields.io/badge/Docs-online-green?label=Documentation
   :target: https://mne.tools/dev/

.. |Zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.592483.svg
   :target: https://doi.org/10.5281/zenodo.592483

.. |Discourse| image:: https://img.shields.io/discourse/status?label=Forum&server=https%3A%2F%2Fmne.discourse.group%2F
   :target: https://mne.discourse.group/

.. |Codecov| image:: https://img.shields.io/codecov/c/github/mne-tools/mne-python?label=Coverage
   :target: https://codecov.io/gh/mne-tools/mne-python

.. |Bandit| image:: https://img.shields.io/badge/Security-Bandit-yellow.svg
   :target: https://github.com/PyCQA/bandit

.. |OpenSSF| image:: https://www.bestpractices.dev/projects/7783/badge
   :target: https://www.bestpractices.dev/projects/7783

.. |MNE| image:: https://mne.tools/dev/_static/mne_logo_gray.svg
   :target: https://mne.tools/dev/
