# Facilitate access to open EEG/MEG databases, discussion

**URL:** <https://mne.discourse.group/t/facilitate-access-to-open-eeg-meg-databases-discussion/2474>\
**Category:** Support & Discussions\
**Tags:** meg, eeg\
**Created:** [January 13, 2021, 10:16am UTC](https://mne.discourse.group/t/facilitate-access-to-open-eeg-meg-databases-discussion/2474 "2021-01-13T10:16:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![imnitishng](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/imnitishng/32/60_2.png) [@imnitishng](https://mne.discourse.group/u/imnitishng)\
**Post date:** [January 13, 2021, 10:16am UTC](https://mne.discourse.group/t/facilitate-access-to-open-eeg-meg-databases-discussion/2474/1 "2021-01-13T10:16:08Z")

</div>

Hello everyone, I am Nitish Gupta a B.Tech. undergraduate from India. I was exploring the project when I came across the idea [Facilitate access to open EEG/MEG databases](https://github.com/mne-tools/mne-python/wiki/GSoC-Ideas#1-facilitate-access-to-open-eegmeg-databases).  
I see that currently we support a quite a few datasets mainly hosted on [osf.io](http://osf.io).  
The URL mapping of these datasets has been done inside `utils.py`, with their names, hashes, after which they are passed over to the downloader.  
I have also been exploring some Open EEG data sources listed [here](https://www.fieldtriptoolbox.org/faq/open_data/), since every dataset I come across has a permanent download link, some ways I could think of were -

Manually finding and mapping more dataset download links the same way it is done currently inside `mne/datasets/utils.py`  
Creating separate instances and grouping data to serve it in a new form to the users, for an instance data from brainstorm could be clubbed together and then served as a single API call to `mne.datasets.brainstorm('resting')` instead of `bst_resting.data_path()` which is used currently.  
I was wondering what other possible approaches or ideas others have on this. Would love to hear some input on this from the community.

---

<div class="post-metadata">

**Author:** ![drammock](https://yyz2.discourse-cdn.com/free1/user_avatar/mne.discourse.group/drammock/32/4_2.png) [@drammock](https://mne.discourse.group/u/drammock)\
**Post date:** [January 13, 2021, 4:15pm UTC](https://mne.discourse.group/t/facilitate-access-to-open-eeg-meg-databases-discussion/2474/2 "2021-01-13T16:15:32Z")

</div>

Hi @imnitishng,

There is [work in progress](https://github.com/mne-tools/mne-python/pull/8679) to convert our dataset downloading to use the external library called [pooch](https://github.com/fatiando/pooch/). This will change things on the back end (e.g., checksum hashes will be stored in a separate text file instead of in the code) but won’t involve any API changes like the one you suggest regarding brainstorm. In general we try to be conservative about changing the API, and the dataset downloading API is particularly tricky because changing it would involve **lots** of changes (for example, almost every tutorial in our documentation uses some sample dataset). That said, I would be happy to hear ideas about how we could improve the datasets API… there is some inconsistency among the `data_path()` and `load_data()` functions depending on if a dataset has multiple subjects that can be downloaded separately; that might be one place we could make the API more uniform.
