{"id":13419670,"url":"https://github.com/pyusb/pyusb","last_synced_at":"2025-05-13T16:03:29.844Z","repository":{"id":39614220,"uuid":"2315698","full_name":"pyusb/pyusb","owner":"pyusb","description":"Easy USB access for Python","archived":false,"fork":false,"pushed_at":"2025-03-03T05:24:03.000Z","size":1312,"stargazers_count":2223,"open_issues_count":28,"forks_count":669,"subscribers_count":89,"default_branch":"master","last_synced_at":"2025-05-04T06:31:48.237Z","etag":null,"topics":["hardware","python","usb"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyusb.png","metadata":{"files":{"readme":"README.rst","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,"zenodo":null}},"created_at":"2011-09-02T18:36:18.000Z","updated_at":"2025-04-30T06:53:09.000Z","dependencies_parsed_at":"2023-01-21T02:45:46.300Z","dependency_job_id":"ea5b6f6a-fa56-48ef-bce9-e14cc0382416","html_url":"https://github.com/pyusb/pyusb","commit_stats":{"total_commits":472,"total_committers":78,"mean_commits":6.051282051282051,"dds":0.5063559322033898,"last_synced_commit":"4a433a5fddd6dcbc632454d53f57e020b0b5513b"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyusb%2Fpyusb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyusb%2Fpyusb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyusb%2Fpyusb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyusb%2Fpyusb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyusb","download_url":"https://codeload.github.com/pyusb/pyusb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252471282,"owners_count":21753144,"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":["hardware","python","usb"],"created_at":"2024-07-30T22:01:19.190Z","updated_at":"2025-05-05T22:44:59.594Z","avatar_url":"https://github.com/pyusb.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"==================================\nPyUSB – Easy USB access for Python\n==================================\n\nIntroduction\n------------\n\nPyUSB provides for easy access to the host machine's Universal Serial Bus (USB)\nsystem for Python 3.\n\nUntil 0.4 version, PyUSB used to be a thin wrapper over libusb. Starting with\nthe 1.0 version, things changed considerably: now PyUSB is an API rich, backend\nneutral Python USB module easy to use.\n\nDocumentation\n-------------\n\nThe best way to get started with PyUSB is to read the following documents:\n\n* `Tutorial`_\n* `FAQ`_\n\n\nFor more detailed information, PyUSB's API documentation, as with most Python\nmodules, is based on Python doc strings and can be manipulated by tools such as\npydoc [1]_::\n\n    $ python -m pydoc usb\n\nThe `libusb 1.0 documentation`_ is also a recommended read, especially when\nusing that backend (more on this below).\n\nRequirements and platform support\n---------------------------------\n\nPyUSB is primarily developed and tested on Linux and Windows, but it should\nalso work fine on any platform running Python \u003e= 3.9, ctypes and at least one\nof the built-in backends.\n\nPyUSB supports `libusb 1.0`_, libusb 0.1 and OpenUSB. Of those, libusb 1.0 is\ncurrently recommended for most use cases.\n\n*On Linux and BSD,* these will generally be available on the distribution's\nofficial repositories.\n\n*On macOS,* libusb 1.0 can easily be installed through Homebrew::\n\n    $ brew install libusb\n\n*On Windows,* `pyocd/libusb-package`_ is a convenient [2]_ [3]_ way to\nprovide the necessary libusb 1.0 DLL, as well as a suitable PyUSB backend and\na easy to use wrapper over PyUSB's ``find()`` API::\n\n    # with pure PyUSB\n    for dev in usb.core.find(find_all=True):\n        print(dev)\n\n    # with pyocd/libusb-package\n    for dev in libusb_package.find(find_all=True):\n        print(dev)\n\n\nAlternatively, the libusb 1.0 DLL can be manually copied from an official\nrelease archive into the ``C:\\Windows\\System32`` system folder, or packaged\ntogether with the complete application.\n\nInstalling\n----------\n\nPyUSB is generally installed through pip [1]_::\n\n    # the latest official release\n    python -m pip install pyusb\n\n    # a specific version (replace \u003cversion\u003e with the desired version)\n    python -m pip install pyusb==\u003cversion\u003e\n\n    # or the latest snapshop from the official git repository\n    python -m pip install pyusb git+https://github.com/pyusb/pyusb#egg=pyusb\n\nMost Linux distributions also package PyUSB in their official repositories.\n\nGetting help\n------------\n\nIf you have a question about PyUSB:\n\n* consult the `FAQ`_;\n* post a question in the `Q\u0026A section`_;\n* write to the `PyUSB mailing list`_.\n\nTo report a bug or propose a new feature, use our `issue tracker`_.  But please\nsearch the database before opening a new issue.\n\nFootnotes\n---------\n\n.. [1] On systems that still default to Python 2, replace ``python`` with\n   ``python3``.\n\n.. [2] Unlike PyUSB, pyocd/libusb-package uses the more restrictive Apache 2.0\n   license.\n\n.. [3] While pyocd/libusb-package supports platforms other than Windows,\n   there are advantages to sticking to a system-provided libusb, if it is\n   available and the platform has a robust package manager (e.g. Linux, BSD,\n   macOS with Homebrew).\n\n.. _FAQ: https://github.com/pyusb/pyusb/blob/master/docs/faq.rst\n.. _PyUSB mailing list: https://sourceforge.net/projects/pyusb/lists/pyusb-users\n.. _Q\u0026A section: https://github.com/pyusb/pyusb/discussions/categories/q-a\n.. _Tutorial: https://github.com/pyusb/pyusb/blob/master/docs/tutorial.rst\n.. _issue tracker: https://github.com/pyusb/pyusb/issues\n.. _libusb 1.0 documentation: https://libusb.info/\n.. _libusb 1.0: https://github.com/libusb/libusb\n.. _pyocd/libusb-package: https://github.com/pyocd/libusb-package/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyusb%2Fpyusb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyusb%2Fpyusb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyusb%2Fpyusb/lists"}