explorepy


Nameexplorepy JSON
Version 3.1.0 PyPI version JSON
download
home_pagehttps://github.com/Mentalab-hub/explorepy
SummaryPython API for Mentalab biosignal aquisition devices
upload_time2024-11-12 17:40:20
maintainerNone
docs_urlNone
authorMentalab GmbH.
requires_pythonNone
licenseMIT license
keywords mentalab explorepy eeg signal
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            .. image:: logo.png
   :scale: 100 %
   :align: left




=========================
``explorepy`` overview
=========================

``explorepy`` is an open-source Python API designed to collect and process ExG data using Mentalab's Explore device. Amongst other things, ``explorepy`` provides the following features:

* Real-time streaming of ExG, orientation and environmental data.
* Real-time visualization of ExG, orientation and environmental data.
* Data recording in CSV and BDF+ formats.
* Integration with LabStreaming Layer.
* Electrode impedance measurements.
* Explore device configuration.

Quick installation
==================
For Windows users, the best way to install ``explorepy`` is to download the latest ``explorepy`` version from the `release page <https://github.com/Mentalab-hub/explorepy/releases>`_. Please note that dependencies will install automatically from the release page.

For other operating systems, or to build the package manually on Windows, please refer to the information below.


Requirements
------------

* Python 3.10 to Python 3.12.
* Visual Studio 2015 community edition (Windows only. For package building).
* Bluetooth header files (Linux only. Use: ``sudo apt-get install libbluetooth-dev``).


Detailed installation instructions can be found on the `installation page <https://explorepy.readthedocs.io/en/latest/installation.html>`_.

To install ``explorepy`` from PyPI run:
::

    pip install explorepy


To install the latest development version (git must be installed before running this command):
::

    pip install git+https://github.com/Mentalab-hub/explorepy


Get started
===========

CLI command
-----------
To check ``explorepy`` is running use:
::
    explorepy acquire -n Explore_XXXX

For help, use:
::
    explorepy -h


Python code
-----------

In Python you can connect to the Explore device and print data using:

::

    import explorepy
    explorer = explorepy.Explore()
    explorer.connect(device_name="Explore_XXXX")  # Put your device Bluetooth name
    explorer.acquire()

You can also visualize the data in real-time.

::

    import explorepy
    explorer = explorepy.Explore()
    explorer.connect(device_name="Explore_XXXX")  # Put your device Bluetooth name

Documentation
=============

For full API documentation, visit: https://explorepy.readthedocs.io/.

Troubleshooting
===============
If you are having problems, please check the `troubleshooting <https://explorepy.readthedocs.io/en/latest/installation.html#troubleshooting>`_
section of the documentation.

If you are still having problems, send us your error log via Sentry (note: Explorepy will send the log
automatically once you have provided permission), or send us the log file via email to support@mentalab.com. The log file is usually found under:

* Windows: ``<Windows Drive>:\Users\<USER_NAME>\AppData\Local\mentalab\explorepy\Logs\explorepy.log``
* Ubuntu: ``/home/<USER_NAME>/.cache/explorepy/log/explorepy.log``
* Mac OS: ``/Users/<USER_NAME>/Library/Logs/explorepy/explorepy.log``

You can also create a new issue in the GitHub repository.

Authors
=======
- `Mohamad Atayi`_
- `Salman Rahman`_
- `Andrea Escartin`_
- `Sonja Stefani`_
- `Alex Platt`_
- `Andreas Gutsche`_
- `Masooma Fazelian`_
- `Philipp Jakovleski`_
- `Florian Sesser`_
- `Sebastian Herberger`_


.. _Mohamad Atayi: https://github.com/bmeatayi
.. _Salman Rahman: https://github.com/salman2135
.. _Andrea Escartin: https://github.com/andrea-escartin
.. _Sonja Stefani: https://github.com/SonjaSt
.. _Alex Platt: https://github.com/Nujanauss
.. _Andreas Gutsche: https://github.com/andyman410
.. _Masooma Fazelian: https://github.com/fazelian
.. _Philipp Jakovleski: https://github.com/philippjak
.. _Florian Sesser : https://github.com/hacklschorsch
.. _Sebastian Herberger: https://github.com/SHerberger

License
=======
This project is licensed under the `MIT <https://github.com/Mentalab-hub/explorepy/blob/master/LICENSE>`_ license. You can reach us at contact@mentalab.com.


Changelog
=========

3.1.0 (8.11.2024)
------------------
* Add USB streaming support
* Improve BT communication

3.0.1 (28.08.2024)
------------------
* Improve device connectivity
* Add text marker support

3.0.0 (7.6.2024)
------------------
* Improve Mac OSX support
* Add Support for Explore Pro
* Robust data parsing

2.0.0 (5.1.2024)
------------------
* Add Mac OSX support
* Remove browser based visualization support
* Update build script for docs


1.8.2 (28.8.2023)
------------------
* Improve explore mock device
* Add yaml file for RTD build



1.8.1 (11.7.2023)
------------------
* Bugfix record data
* Add dummy packets for CI/CD pipeline
* Add mock device


1.8.0 (27.2.2023)
------------------
* Add support for explore+ 16 ch device
* Unit test integration with CI/CD
* Repair CSV from binary data
* Save current device settings on disconnection, restore them on demand
* Receive external triggers from LSL


1.7.0 (21.12.2022)
------------------
* Add suppport for new explore+ 32 ch device
* Sorted timestamps in CSV
* Settings file to preserve experiment settings


1.6.3 (25.10.2022)
------------------
* Add new 8 channel Explore+ device


1.6.2 (7.09.2022)
------------------
* Change EDF file extension
* Add dataset export feature for EEGLab
* Bugfix recording


1.6.1 (14.06.2022)
------------------
* Improve EDF file timing with PyEDFlib
* Fix Bokeh import error
* Add custom analysis script for 4 channel P300 experiment


1.6.0 (23.11.2021)
------------------
* Remove dependency on Pybluez
* Add SSVEP offline experiment
* Add P300 example
* Update LSL stream names
* Fixing some bugs


1.5.2 (22.09.2021)
------------------
* Hotfix for impedance disable bug


1.5.1 (21.7.2021)
------------------
* Hotfix for installation bug

1.5.0 (20.7.2021)
------------------
* Push to LSL button in the GUI
* Search free port for initialization of the dashboard
* Update installation procedure for Windows
* Fixing some minor bugs

1.4.0 (31.03.2021)
------------------
* Baseline correction feature in the visualization
* Error logging system (Logging and Sentry)
* Fix a bug of SDK in MacOS
* Change the default Bluetooth interface to SDK
* Improved FFT visualization
* More precise local time in all OSes


1.3.0 (30-12-2020)
------------------
* GUI resizing for different screen resolutions
* Added event button to dashboard
* Improvement of impedance measurement
* Fixed minor bugs

1.2.0 (25-11-2020)
------------------
* Standalone installer for Windows OS
* Fix bugs in ExploreSDK
* Create new file on device settings change


1.1.0 (27-08-2020)
------------------
* MacOS support
* Fix bugs
* Add module disable/enable feature
* Enhanced user interface
* Add unique lsl stream names


1.0.0 (22-05-2020)
------------------
* Add ExploreSDK as the Bluetooth interface
* New dark theme
* Record module in dashboard
* Improvement in visualization perfrmance
* CLI migration to Click


0.6.0 (17-02-2020)
------------------
* EDF (BDF+) file writer
* Channel disable/enable feature
* Calibration of movement sensors
* Extraction of physical orientation (angle and rotation)
* Soft marker event
* Visualization performance enhancement
* Automatic number of channel and sampling rate detection
* Exception handling improvement
* Command for soft reset of Explore
* Marker visualization


0.5.0 (25-11-2019)
------------------
* Impedance measurement
* Send commands to device
* Configuring device settings
* Update push to lsl feature

0.4.0 (09-09-2019)
------------------
* Added marker feature
* Timer based recording
* Fixed a bug in csv file writer
* Fixed a bug in device reconnect
* Improved performance of dashboard visualization


0.3.1 (28-05-2019)
------------------
* Fixed a bug in 8-channel ExG packet conversion
* Fixed a minor bug in the record function
* Updated the documentation


0.3.0 (10-05-2019)
------------------
* Explore dashboard
* Real-time visualization of ExG and orientation signal
* Device information in Dashboard
* Environmental data (battery, temperature and light)
* Real-time bandpass filter
* New packet structures (ADS1294R & ADS1298R)
* Heart rate estimation and R-peaks detector in dashboard


0.2.0 (2019-03-08)
------------------

* Added real-time recording feature
* Added Command Line Interface
* Added lsl integration
* Added new packet classes
* Fixed reconnect issues
* Removed input requests inside functions


0.1.0 (2019-01-18)
------------------

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Mentalab-hub/explorepy",
    "name": "explorepy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "Mentalab, Explorepy, EEG signal",
    "author": "Mentalab GmbH.",
    "author_email": "mohamad.atayi@mentalab.com",
    "download_url": null,
    "platform": null,
    "description": ".. image:: logo.png\r\n   :scale: 100 %\r\n   :align: left\r\n\r\n\r\n\r\n\r\n=========================\r\n``explorepy`` overview\r\n=========================\r\n\r\n``explorepy`` is an open-source Python API designed to collect and process ExG data using Mentalab's Explore device. Amongst other things, ``explorepy`` provides the following features:\r\n\r\n* Real-time streaming of ExG, orientation and environmental data.\r\n* Real-time visualization of ExG, orientation and environmental data.\r\n* Data recording in CSV and BDF+ formats.\r\n* Integration with LabStreaming Layer.\r\n* Electrode impedance measurements.\r\n* Explore device configuration.\r\n\r\nQuick installation\r\n==================\r\nFor Windows users, the best way to install ``explorepy`` is to download the latest ``explorepy`` version from the `release page <https://github.com/Mentalab-hub/explorepy/releases>`_. Please note that dependencies will install automatically from the release page.\r\n\r\nFor other operating systems, or to build the package manually on Windows, please refer to the information below.\r\n\r\n\r\nRequirements\r\n------------\r\n\r\n* Python 3.10 to Python 3.12.\r\n* Visual Studio 2015 community edition (Windows only. For package building).\r\n* Bluetooth header files (Linux only. Use: ``sudo apt-get install libbluetooth-dev``).\r\n\r\n\r\nDetailed installation instructions can be found on the `installation page <https://explorepy.readthedocs.io/en/latest/installation.html>`_.\r\n\r\nTo install ``explorepy`` from PyPI run:\r\n::\r\n\r\n    pip install explorepy\r\n\r\n\r\nTo install the latest development version (git must be installed before running this command):\r\n::\r\n\r\n    pip install git+https://github.com/Mentalab-hub/explorepy\r\n\r\n\r\nGet started\r\n===========\r\n\r\nCLI command\r\n-----------\r\nTo check ``explorepy`` is running use:\r\n::\r\n    explorepy acquire -n Explore_XXXX\r\n\r\nFor help, use:\r\n::\r\n    explorepy -h\r\n\r\n\r\nPython code\r\n-----------\r\n\r\nIn Python you can connect to the Explore device and print data using:\r\n\r\n::\r\n\r\n    import explorepy\r\n    explorer = explorepy.Explore()\r\n    explorer.connect(device_name=\"Explore_XXXX\")  # Put your device Bluetooth name\r\n    explorer.acquire()\r\n\r\nYou can also visualize the data in real-time.\r\n\r\n::\r\n\r\n    import explorepy\r\n    explorer = explorepy.Explore()\r\n    explorer.connect(device_name=\"Explore_XXXX\")  # Put your device Bluetooth name\r\n\r\nDocumentation\r\n=============\r\n\r\nFor full API documentation, visit: https://explorepy.readthedocs.io/.\r\n\r\nTroubleshooting\r\n===============\r\nIf you are having problems, please check the `troubleshooting <https://explorepy.readthedocs.io/en/latest/installation.html#troubleshooting>`_\r\nsection of the documentation.\r\n\r\nIf you are still having problems, send us your error log via Sentry (note: Explorepy will send the log\r\nautomatically once you have provided permission), or send us the log file via email to support@mentalab.com. The log file is usually found under:\r\n\r\n* Windows: ``<Windows Drive>:\\Users\\<USER_NAME>\\AppData\\Local\\mentalab\\explorepy\\Logs\\explorepy.log``\r\n* Ubuntu: ``/home/<USER_NAME>/.cache/explorepy/log/explorepy.log``\r\n* Mac OS: ``/Users/<USER_NAME>/Library/Logs/explorepy/explorepy.log``\r\n\r\nYou can also create a new issue in the GitHub repository.\r\n\r\nAuthors\r\n=======\r\n- `Mohamad Atayi`_\r\n- `Salman Rahman`_\r\n- `Andrea Escartin`_\r\n- `Sonja Stefani`_\r\n- `Alex Platt`_\r\n- `Andreas Gutsche`_\r\n- `Masooma Fazelian`_\r\n- `Philipp Jakovleski`_\r\n- `Florian Sesser`_\r\n- `Sebastian Herberger`_\r\n\r\n\r\n.. _Mohamad Atayi: https://github.com/bmeatayi\r\n.. _Salman Rahman: https://github.com/salman2135\r\n.. _Andrea Escartin: https://github.com/andrea-escartin\r\n.. _Sonja Stefani: https://github.com/SonjaSt\r\n.. _Alex Platt: https://github.com/Nujanauss\r\n.. _Andreas Gutsche: https://github.com/andyman410\r\n.. _Masooma Fazelian: https://github.com/fazelian\r\n.. _Philipp Jakovleski: https://github.com/philippjak\r\n.. _Florian Sesser : https://github.com/hacklschorsch\r\n.. _Sebastian Herberger: https://github.com/SHerberger\r\n\r\nLicense\r\n=======\r\nThis project is licensed under the `MIT <https://github.com/Mentalab-hub/explorepy/blob/master/LICENSE>`_ license. You can reach us at contact@mentalab.com.\r\n\r\n\r\nChangelog\r\n=========\r\n\r\n3.1.0 (8.11.2024)\r\n------------------\r\n* Add USB streaming support\r\n* Improve BT communication\r\n\r\n3.0.1 (28.08.2024)\r\n------------------\r\n* Improve device connectivity\r\n* Add text marker support\r\n\r\n3.0.0 (7.6.2024)\r\n------------------\r\n* Improve Mac OSX support\r\n* Add Support for Explore Pro\r\n* Robust data parsing\r\n\r\n2.0.0 (5.1.2024)\r\n------------------\r\n* Add Mac OSX support\r\n* Remove browser based visualization support\r\n* Update build script for docs\r\n\r\n\r\n1.8.2 (28.8.2023)\r\n------------------\r\n* Improve explore mock device\r\n* Add yaml file for RTD build\r\n\r\n\r\n\r\n1.8.1 (11.7.2023)\r\n------------------\r\n* Bugfix record data\r\n* Add dummy packets for CI/CD pipeline\r\n* Add mock device\r\n\r\n\r\n1.8.0 (27.2.2023)\r\n------------------\r\n* Add support for explore+ 16 ch device\r\n* Unit test integration with CI/CD\r\n* Repair CSV from binary data\r\n* Save current device settings on disconnection, restore them on demand\r\n* Receive external triggers from LSL\r\n\r\n\r\n1.7.0 (21.12.2022)\r\n------------------\r\n* Add suppport for new explore+ 32 ch device\r\n* Sorted timestamps in CSV\r\n* Settings file to preserve experiment settings\r\n\r\n\r\n1.6.3 (25.10.2022)\r\n------------------\r\n* Add new 8 channel Explore+ device\r\n\r\n\r\n1.6.2 (7.09.2022)\r\n------------------\r\n* Change EDF file extension\r\n* Add dataset export feature for EEGLab\r\n* Bugfix recording\r\n\r\n\r\n1.6.1 (14.06.2022)\r\n------------------\r\n* Improve EDF file timing with PyEDFlib\r\n* Fix Bokeh import error\r\n* Add custom analysis script for 4 channel P300 experiment\r\n\r\n\r\n1.6.0 (23.11.2021)\r\n------------------\r\n* Remove dependency on Pybluez\r\n* Add SSVEP offline experiment\r\n* Add P300 example\r\n* Update LSL stream names\r\n* Fixing some bugs\r\n\r\n\r\n1.5.2 (22.09.2021)\r\n------------------\r\n* Hotfix for impedance disable bug\r\n\r\n\r\n1.5.1 (21.7.2021)\r\n------------------\r\n* Hotfix for installation bug\r\n\r\n1.5.0 (20.7.2021)\r\n------------------\r\n* Push to LSL button in the GUI\r\n* Search free port for initialization of the dashboard\r\n* Update installation procedure for Windows\r\n* Fixing some minor bugs\r\n\r\n1.4.0 (31.03.2021)\r\n------------------\r\n* Baseline correction feature in the visualization\r\n* Error logging system (Logging and Sentry)\r\n* Fix a bug of SDK in MacOS\r\n* Change the default Bluetooth interface to SDK\r\n* Improved FFT visualization\r\n* More precise local time in all OSes\r\n\r\n\r\n1.3.0 (30-12-2020)\r\n------------------\r\n* GUI resizing for different screen resolutions\r\n* Added event button to dashboard\r\n* Improvement of impedance measurement\r\n* Fixed minor bugs\r\n\r\n1.2.0 (25-11-2020)\r\n------------------\r\n* Standalone installer for Windows OS\r\n* Fix bugs in ExploreSDK\r\n* Create new file on device settings change\r\n\r\n\r\n1.1.0 (27-08-2020)\r\n------------------\r\n* MacOS support\r\n* Fix bugs\r\n* Add module disable/enable feature\r\n* Enhanced user interface\r\n* Add unique lsl stream names\r\n\r\n\r\n1.0.0 (22-05-2020)\r\n------------------\r\n* Add ExploreSDK as the Bluetooth interface\r\n* New dark theme\r\n* Record module in dashboard\r\n* Improvement in visualization perfrmance\r\n* CLI migration to Click\r\n\r\n\r\n0.6.0 (17-02-2020)\r\n------------------\r\n* EDF (BDF+) file writer\r\n* Channel disable/enable feature\r\n* Calibration of movement sensors\r\n* Extraction of physical orientation (angle and rotation)\r\n* Soft marker event\r\n* Visualization performance enhancement\r\n* Automatic number of channel and sampling rate detection\r\n* Exception handling improvement\r\n* Command for soft reset of Explore\r\n* Marker visualization\r\n\r\n\r\n0.5.0 (25-11-2019)\r\n------------------\r\n* Impedance measurement\r\n* Send commands to device\r\n* Configuring device settings\r\n* Update push to lsl feature\r\n\r\n0.4.0 (09-09-2019)\r\n------------------\r\n* Added marker feature\r\n* Timer based recording\r\n* Fixed a bug in csv file writer\r\n* Fixed a bug in device reconnect\r\n* Improved performance of dashboard visualization\r\n\r\n\r\n0.3.1 (28-05-2019)\r\n------------------\r\n* Fixed a bug in 8-channel ExG packet conversion\r\n* Fixed a minor bug in the record function\r\n* Updated the documentation\r\n\r\n\r\n0.3.0 (10-05-2019)\r\n------------------\r\n* Explore dashboard\r\n* Real-time visualization of ExG and orientation signal\r\n* Device information in Dashboard\r\n* Environmental data (battery, temperature and light)\r\n* Real-time bandpass filter\r\n* New packet structures (ADS1294R & ADS1298R)\r\n* Heart rate estimation and R-peaks detector in dashboard\r\n\r\n\r\n0.2.0 (2019-03-08)\r\n------------------\r\n\r\n* Added real-time recording feature\r\n* Added Command Line Interface\r\n* Added lsl integration\r\n* Added new packet classes\r\n* Fixed reconnect issues\r\n* Removed input requests inside functions\r\n\r\n\r\n0.1.0 (2019-01-18)\r\n------------------\r\n\r\n* First release on PyPI.\r\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "Python API for Mentalab biosignal aquisition devices",
    "version": "3.1.0",
    "project_urls": {
        "Homepage": "https://github.com/Mentalab-hub/explorepy"
    },
    "split_keywords": [
        "mentalab",
        " explorepy",
        " eeg signal"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1392ba952abc467acf903cfa016bccf78740c0f10d456e74e27ff6b2159f118d",
                "md5": "e77d27a594fabb95f0c010797f6a78c1",
                "sha256": "be8fb1c4d4d01557364f6b90be517d0cb50d19f3fcb66bcb89946316196b33d5"
            },
            "downloads": -1,
            "filename": "explorepy-3.1.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e77d27a594fabb95f0c010797f6a78c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 1782490,
            "upload_time": "2024-11-12T17:40:20",
            "upload_time_iso_8601": "2024-11-12T17:40:20.626163Z",
            "url": "https://files.pythonhosted.org/packages/13/92/ba952abc467acf903cfa016bccf78740c0f10d456e74e27ff6b2159f118d/explorepy-3.1.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6e7fb9a7c5e421abb104d7e301f0a56d10fec98655ecb99f933a9b5b058a6ab6",
                "md5": "8373f4bedd57cc299f73dbb943d159da",
                "sha256": "c45e60a6dd78ed6ec03e31540fd3eb1cbf37e6a22ed15d8ac61e41aff5574976"
            },
            "downloads": -1,
            "filename": "explorepy-3.1.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8373f4bedd57cc299f73dbb943d159da",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 1918895,
            "upload_time": "2024-11-12T17:40:24",
            "upload_time_iso_8601": "2024-11-12T17:40:24.008976Z",
            "url": "https://files.pythonhosted.org/packages/6e/7f/b9a7c5e421abb104d7e301f0a56d10fec98655ecb99f933a9b5b058a6ab6/explorepy-3.1.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-12 17:40:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Mentalab-hub",
    "github_project": "explorepy",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "explorepy"
}
        
Elapsed time: 3.08620s