Metadata-Version: 2.4 Name: mne Version: 1.11.0 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 Maintainer-email: Dan McCloy License-Expression: BSD-3-Clause 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.8 Requires-Dist: numpy<3,>=1.26 Requires-Dist: packaging Requires-Dist: pooch>=1.5 Requires-Dist: scipy>=1.11 Requires-Dist: tqdm Provides-Extra: data Provides-Extra: full Requires-Dist: antio>=0.5.0; extra == 'full' Requires-Dist: curryreader>=0.1.2; 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.7; extra == 'full' Requires-Dist: pandas>=2.1; 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.42.1; extra == 'full' Requires-Dist: pyvistaqt>=0.11; extra == 'full' Requires-Dist: qdarkstyle!=3.2.2; extra == 'full' Requires-Dist: qtpy; extra == 'full' Requires-Dist: scikit-learn>=1.3; 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: curryreader>=0.1.2; 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.7; extra == 'full-no-qt' Requires-Dist: pandas>=2.1; 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.42.1; extra == 'full-no-qt' Requires-Dist: pyvistaqt>=0.11; 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; 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: curryreader>=0.1.2; 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.7; extra == 'full-pyqt6' Requires-Dist: pandas>=2.1; 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.42.1; extra == 'full-pyqt6' Requires-Dist: pyvistaqt>=0.11; extra == 'full-pyqt6' Requires-Dist: qdarkstyle!=3.2.2; extra == 'full-pyqt6' Requires-Dist: qtpy; extra == 'full-pyqt6' Requires-Dist: scikit-learn>=1.3; 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: curryreader>=0.1.2; 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.7; extra == 'full-pyside6' Requires-Dist: pandas>=2.1; 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.42.1; extra == 'full-pyside6' Requires-Dist: pyvistaqt>=0.11; extra == 'full-pyside6' Requires-Dist: qdarkstyle!=3.2.2; extra == 'full-pyside6' Requires-Dist: qtpy; extra == 'full-pyside6' Requires-Dist: scikit-learn>=1.3; 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' 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 `__ 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 `__, 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 `__ ≥ 3.10 - `NumPy `__ ≥ 1.25 - `SciPy `__ ≥ 1.11 - `Matplotlib `__ ≥ 3.7 - `Pooch `__ ≥ 1.5 - `tqdm `__ - `Jinja2 `__ - `decorator `__ - `lazy-loader `__ ≥ 0.3 - `packaging `__ .. ↑↑↑ END CORE DEPS LIST. DO NOT EDIT! HANDLED BY PRE-COMMIT HOOK ↑↑↑ Contributing ^^^^^^^^^^^^ Please see the `contributing guidelines `__ 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/