{"id":14978050,"url":"https://github.com/mausy5043/bluepy3","last_synced_at":"2025-10-28T07:31:17.096Z","repository":{"id":73968256,"uuid":"604727293","full_name":"Mausy5043/bluepy3","owner":"Mausy5043","description":"A Python3 interface to Bluetooth LE on Linux.","archived":false,"fork":false,"pushed_at":"2025-02-07T07:25:22.000Z","size":1206,"stargazers_count":19,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"devel","last_synced_at":"2025-02-07T08:25:07.690Z","etag":null,"topics":["ble","bluetooth","bluetooth-low-energy","pypi","python","python3","raspberry-pi"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/bluepy3","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mausy5043.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2023-02-21T17:01:26.000Z","updated_at":"2025-02-07T07:25:26.000Z","dependencies_parsed_at":"2024-05-22T07:47:39.376Z","dependency_job_id":"7072b2ee-3b50-435b-a741-9a47694aa857","html_url":"https://github.com/Mausy5043/bluepy3","commit_stats":{"total_commits":472,"total_committers":4,"mean_commits":118.0,"dds":"0.34957627118644063","last_synced_commit":"87f4c467abdc11fe87d7fc37152172a621112d49"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mausy5043%2Fbluepy3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mausy5043%2Fbluepy3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mausy5043%2Fbluepy3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mausy5043%2Fbluepy3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mausy5043","download_url":"https://codeload.github.com/Mausy5043/bluepy3/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238614458,"owners_count":19501461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ble","bluetooth","bluetooth-low-energy","pypi","python","python3","raspberry-pi"],"created_at":"2024-09-24T13:56:47.066Z","updated_at":"2025-10-28T07:31:17.091Z","avatar_url":"https://github.com/Mausy5043.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![StaticBadge](https://img.shields.io/badge/support-MAINTENANCE-yellow)\n\n[![License](https://img.shields.io/github/license/mausy5043/bluepy3)](LICENSE)\n[![PyPI version](https://img.shields.io/pypi/v/bluepy3.svg?logo=pypi\u0026logoColor=FFE873)](https://pypi.org/project/bluepy3)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/bluepy3?logo=python\u0026logoColor=FFE873)](https://pypi.org/project/bluepy3)\n[![PyPI downloads](https://img.shields.io/pypi/dm/bluepy3.svg)](https://pypistats.org/packages/bluepy3)\n[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-008800.svg)](https://github.com/astral-sh/ruff)\n[![Linter: ruff](https://img.shields.io/badge/linter-ruff-008800.svg)](https://github.com/astral-sh/ruff)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/Mausy5043/bluepy3/devel.svg)](https://results.pre-commit.ci/latest/github/Mausy5043/bluepy3/devel)\n[![Dependabot Updates](https://github.com/Mausy5043/bluepy3/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/Mausy5043/bluepy3/actions/workflows/dependabot/dependabot-updates)\n\n# bluepy3\n\nThis is a Python3 library to allow communication with Bluetooth Low Energy devices on Linux.\n\n## Requirements\n\nPlease be aware that this is not a beginners tool. Some experience with Linux CLI, Python3 and BT/BLE is expected.\n\nDevelopment of this package is done in Python 3.12. The package is considered forwards compatible at least upto Python 3.12 and probably also beyond. Backwards compatibility is not guaranteed; if it works on Python 3.9 or before consider yourself lucky. [Python versions that are end-of-life](https://devguide.python.org/versions/) are not supported.\n\nThe package has been extensively tested on a Raspberry Pi 3 Model B+ (aarch64) with Debian GNU Linux 11 w/ Python 3.9.* AND with Debian GNU Linux 12 /w Python 3.11.* and 3.12.*.\n\nThe code needs an executable `bluepy3-helper` which is compiled from C source automatically\nwhen first used (see below).\n\nThe `bluepy3` package comes installed with lists of compatible UUIDs in `uuids.json`.\nIf, for whatever reason, you want to rebuild those lists, then the Python3 modules\n`bs4`, `requests` and `lxml` need to be installed.\n```(python3)\npython3 -m pip install bs4 lxml requests\n```\nThen find where the bluepy3 package is installed and rebuild `uuids.json` thus:\n```(bash)\ncd some_path_name/site-packages/bluepy3/\nmake uuids.json\n```\n\n## Installation\n\nTo install the currently released version, on most Debian-based systems:\n```(bash)\nsudo apt-get install libglib2.0-dev libbluetooth-dev\npython3 -m pip install --upgrade bluepy3\n```\nThen test the installation using:\n```(bash)\nsudo setcap cap_net_raw,cap_net_admin+ep $(find . -name bluepy3-helper)\nblescan -n\nsudo hcitool lescan\n```\nThis should list the (compatible) Bluetooth devices in range.\n\nUpon the first `import` of `bluepy3.btle` the required binary is compiled. This requires the download of the BlueZ source (20MB) to `/tmp` (don't worry this is done automatically). The default behaviour is to compile against the version of the BlueZ source that matches the version of the installed `bluetoothctl`. The user may override this by forcing compilation against any of the supported source trees by running `helpermaker --build \u003cversion\u003e`. You are advised NOT to use `make` directly, but rather use the python script `helpermaker`.\n\nIt may be considered to have command-line tools from BlueZ available for debugging.\n\n## Troubleshooting\n\nMake sure the user is part of the `bluetooth` group.\nUse `hciconfig` to confirm that the device actually exists. This should output something like:\n```\nhci0:    Type: Primary  Bus: UART\nBD Address: B8:27:EB:90:4F:F5  ACL MTU: 1021:8  SCO MTU: 64:1\nUP RUNNING\nRX bytes:15332515 acl:452626 sco:0 events:333729 errors:0\nTX bytes:7376962 acl:438075 sco:0 commands:72113 errors:0\n```\nUse `hciconfig [hci0] up` to activate the BT device if the above returns an error.\n\n## Documentation\n\nFor documentation you are referred to [the documentation that comes with `bluepy`](http://ianharvey.github.io/bluepy-doc/). Be warned though that as development of `bluepy3` advances some of the documentation may be off a bit.\n\n## Contributing\n\nYour assistance to improve this package is greatly appreciated.\nSee [CONTRIBUTING](CONTRIBUTING.md) for details.\n\n## Disclaimer \u0026 License\nAs of September 2024 `bluepy3` is distributed under [AGPL-3.0-or-later](LICENSE).\n\n## Acknowledgements\n\nThis work builds on previous work by [Ian Harvey](https://github.com/IanHarvey/bluepy) and uses code\nby the [BlueZ project](http://www.bluez.org/) and the GitHub repository [BlueZ on GitHub](https://github.com/bluez/bluez)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmausy5043%2Fbluepy3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmausy5043%2Fbluepy3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmausy5043%2Fbluepy3/lists"}