{"id":45414180,"url":"https://github.com/scientisst/scientisst-sense-api-python","last_synced_at":"2026-02-22T00:44:20.815Z","repository":{"id":38384741,"uuid":"365073002","full_name":"scientisst/scientisst-sense-api-python","owner":"scientisst","description":"The ScientISST SENSE Python API","archived":false,"fork":false,"pushed_at":"2024-11-18T15:06:37.000Z","size":2095,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-27T00:41:14.180Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://scientisst.github.io/scientisst-sense-api-python/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scientisst.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-07T00:40:32.000Z","updated_at":"2024-11-18T15:05:19.000Z","dependencies_parsed_at":"2024-11-13T15:39:40.457Z","dependency_job_id":null,"html_url":"https://github.com/scientisst/scientisst-sense-api-python","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/scientisst/scientisst-sense-api-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientisst%2Fscientisst-sense-api-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientisst%2Fscientisst-sense-api-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientisst%2Fscientisst-sense-api-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientisst%2Fscientisst-sense-api-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scientisst","download_url":"https://codeload.github.com/scientisst/scientisst-sense-api-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scientisst%2Fscientisst-sense-api-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29701241,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T23:35:04.139Z","status":"ssl_error","status_checked_at":"2026-02-21T23:35:03.832Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-22T00:44:20.180Z","updated_at":"2026-02-22T00:44:20.809Z","avatar_url":"https://github.com/scientisst.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# scientisst-sense-api-python\n\nThe ScientISST SENSE Python API.\n\nLearn how to use it, check examples, and much more [here](https://scientisst.github.io/scientisst-sense-api-python/)!\n\n## Installing\n\n```sh\n# Getting this repository \ngit clone https://github.com/scientisst/scientisst-sense-api-python.git\n```\n\n## Dependencies\n\nDependencies are specified in the requirements.txt file.\n\nInstall them using `pip`:\n\n```sh\npip install -r requirements.txt\n```\n\n## Using Docker in Linux\n\nWhen running the API on Linux, if issues arise, it is recommended to try using it inside a docker container.\n\nFirst, install [docker](https://docs.docker.com/engine/install/).\n\nThen, clone the repository and navigate to the directory:\n```sh\n# Getting this repository \ngit clone https://github.com/scientisst/scientisst-sense-api-python.git\ncd scientisst-sense-api-python\n```\n\nThen, build the docker container with:\n```sh\nsudo docker build -t sense_docker .\n```\n\nIt is required to build the container only once. Finally, run the container with:\n```sh\nsudo docker run -v /var/run/dbus/:/var/run/dbus/:z --privileged -it sense_docker\n```\n\nThis will open a terminal inside the container with access to bluetooth and Wi-Fi. To exit the container run:\n```sh\nexit\n```\n\n## Running\n\n### Automatic\n\n1. Pair your device\n2. Run:\n```sh\npython sense.py\n```\n3. Select the device from the list displayed:\n```\nScientISST devices:\n[1] ScientISST-ab-de - 08:3A:F2:49:AB:DE\n[2] ScientISST-ac-be - 08:3A:F2:49:AC:BE\nConnect to: \n```\n4. Hit `CTRL-C` when you wish to stop.\n\n### Help\n```\n$ python sense.py -h\n\nusage: sense.py [args] address\n\ndescription: The program connects to the ScientISST Sense device and starts an acquisition, providing the option to store the received data in a .csv file.\n\npositional arguments:  address               Linux: bluetooth MAC address, Mac: serial port address, Windows: bluetooth serial COM port\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -f FS, --frequency FS\n                        sampling frequency, default: 1000\n  -c CHANNELS, --channels CHANNELS\n                        analog channels, default: 1,2,3,4,5,6\n  -d DURATION, --duration DURATION\n                        duration in seconds, default: unlimited\n  -o OUTPUT, --output OUTPUT\n                        write report to output file, default: None\n  -s, --lsl             stream data using Lab Streaming Layer protocol\n  -q, --quiet           don't print ScientISST frames\n  -v, --verbose         log sent/received bytes\n```\n\n### Manual\n\n#### Linux\n\nPair and trust the ScientISST Sense board:\n\n```sh\nbluetoothctl\nscan on\npair XX:XX:XX:XX:XX\ntrust XX:XX:XX:XX:XX\n```\n\nYou can now run the `sense.py` script:\n```sh\npython sense.py XX:XX:XX:XX:XX\n```\n\n#### Mac\n\nFirst, you need to pair the ScientISST sense device in the Bluetooth Settings section.\nThen, you'll need to find the serial port address using the Terminal:\n\n```sh\nls /dev/tty.ScientISST*\n```\n\nCopy the `String` like: `/dev/tty.ScientISST-XX-XX-SPP_SE`.\n\nYou can now run the `sense.py` script:\n\n```sh\npython sense.py /dev/tty.ScientISST-XX-XX-SPP_SE\n```\n\n\n#### Windows\n\nTurn the ScientISST Sense board on.\n\nNow, go to Control Panel \u003e Hardware and Sound \u003e Devices and Printers. Select \"Add a device\". Select the ScientISST Sense board, hit \"next\" until its set up.\n\nWhile connected to the board, search \"Bluetooth settings\" on the Control Panel, then go to the \"COM ports\" tab and check the port name for the **outgoing** entry. Copy the `String` like: `COMX`\n\nYou can now run the `sense.py` script:\n\n```sh\npython sense.py COMX\n```\n\n## Example\n\nExample usage to acquire AI1 at 10Hz sample rate (Linux):\n\n```\npython3 sense.py -f 10 -c 1 -o output.csv 08:3A:F2:49:AC:D2\n```\n\n\n## Plot\n\nDependencies:\n- pandas\n- numpy\n- matplotlib\n\n```sh\npython plot_output.py\n```\n\n![Example ECG](https://raw.githubusercontent.com/scientisst/scientisst-sense-api-py/main/docs/img/example-plot.png)\n\n## Disclaimer\n\nThis is not a medical device certified for diagnosis or treatment. It is provided to you as is only for research and educational purposes.\n\n## Acknowledgments\n\nThis work was partially supported by Fundação para a Ciência e Tecnologia (FCT) under the projects’ UIDB/50008/2020 and DSAIPA/AI/0122/2020 (AIMHealth) through IT—Instituto de Telecomunicações, which is gratefully acknowledged. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientisst%2Fscientisst-sense-api-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscientisst%2Fscientisst-sense-api-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscientisst%2Fscientisst-sense-api-python/lists"}