Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 76 committers (2.6%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.4%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Easy USB access for Python
Basic Info
Statistics
- Stars: 2,255
- Watchers: 91
- Forks: 668
- Open Issues: 31
- Releases: 6
Topics
Metadata Files
README.rst
==================================
PyUSB – Easy USB access for Python
==================================
Introduction
------------
PyUSB provides for easy access to the host machine's Universal Serial Bus (USB)
system for Python 3.
Until 0.4 version, PyUSB used to be a thin wrapper over libusb. Starting with
the 1.0 version, things changed considerably: now PyUSB is an API rich, backend
neutral Python USB module easy to use.
Documentation
-------------
The best way to get started with PyUSB is to read the following documents:
* `Tutorial`_
* `FAQ`_
For more detailed information, PyUSB's API documentation, as with most Python
modules, is based on Python doc strings and can be manipulated by tools such as
pydoc [1]_::
$ python -m pydoc usb
The `libusb 1.0 documentation`_ is also a recommended read, especially when
using that backend (more on this below).
Requirements and platform support
---------------------------------
PyUSB is primarily developed and tested on Linux and Windows, but it should
also work fine on any platform running Python >= 3.9, ctypes and at least one
of the built-in backends.
PyUSB supports `libusb 1.0`_, libusb 0.1 and OpenUSB. Of those, libusb 1.0 is
currently recommended for most use cases.
*On Linux and BSD,* these will generally be available on the distribution's
official repositories.
*On macOS,* libusb 1.0 can easily be installed through Homebrew::
$ brew install libusb
*On Windows,* `pyocd/libusb-package`_ is a convenient [2]_ [3]_ way to
provide the necessary libusb 1.0 DLL, as well as a suitable PyUSB backend and
a easy to use wrapper over PyUSB's ``find()`` API::
# with pure PyUSB
for dev in usb.core.find(find_all=True):
print(dev)
# with pyocd/libusb-package
for dev in libusb_package.find(find_all=True):
print(dev)
Alternatively, the libusb 1.0 DLL can be manually copied from an official
release archive into the ``C:\Windows\System32`` system folder, or packaged
together with the complete application.
Installing
----------
PyUSB is generally installed through pip [1]_::
# the latest official release
python -m pip install pyusb
# a specific version (replace with the desired version)
python -m pip install pyusb==
# or the latest snapshop from the official git repository
python -m pip install pyusb git+https://github.com/pyusb/pyusb#egg=pyusb
Most Linux distributions also package PyUSB in their official repositories.
Getting help
------------
If you have a question about PyUSB:
* consult the `FAQ`_;
* post a question in the `Q&A section`_;
* write to the `PyUSB mailing list`_.
To report a bug or propose a new feature, use our `issue tracker`_. But please
search the database before opening a new issue.
Footnotes
---------
.. [1] On systems that still default to Python 2, replace ``python`` with
``python3``.
.. [2] Unlike PyUSB, pyocd/libusb-package uses the more restrictive Apache 2.0
license.
.. [3] While pyocd/libusb-package supports platforms other than Windows,
there are advantages to sticking to a system-provided libusb, if it is
available and the platform has a robust package manager (e.g. Linux, BSD,
macOS with Homebrew).
.. _FAQ: https://github.com/pyusb/pyusb/blob/master/docs/faq.rst
.. _PyUSB mailing list: https://sourceforge.net/projects/pyusb/lists/pyusb-users
.. _Q&A section: https://github.com/pyusb/pyusb/discussions/categories/q-a
.. _Tutorial: https://github.com/pyusb/pyusb/blob/master/docs/tutorial.rst
.. _issue tracker: https://github.com/pyusb/pyusb/issues
.. _libusb 1.0 documentation: https://libusb.info/
.. _libusb 1.0: https://github.com/libusb/libusb
.. _pyocd/libusb-package: https://github.com/pyocd/libusb-package/
Owner
- Name: PyUSB
- Login: pyusb
- Kind: organization
- Repositories: 1
- Profile: https://github.com/pyusb
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Wander Lairson Costa | w****n@g****m | 233 |
| Jonas Malaco | j****s@p****o | 108 |
| wander.costa | w****a@i****m | 16 |
| ap-- | a****s@p****o | 10 |
| Tormod Volden | d****d@g****m | 7 |
| Alan Aguiar | a****s@h****m | 6 |
| Robert Wlodarczyk | r****t@s****m | 5 |
| Chapman Flack | c****p@a****t | 5 |
| Wander Lairson Costa | w****a@m****m | 5 |
| Andrey Skvortsov | a****v@g****m | 4 |
| wander.costa | w****a@o****m | 3 |
| Simon Norberg | s****n@d****t | 3 |
| clach04 | C****k@a****m | 3 |
| André Erdmann | d****i@m****e | 3 |
| David Halter | d****8@g****m | 2 |
| Jacoby Johnson | j****n@g****m | 2 |
| James Rowe | j****e@g****m | 2 |
| Matt | m****t@m****t | 2 |
| Prathmesh Prabhu | p****u@c****g | 2 |
| Russell Proud | r****d@g****m | 2 |
| endolith | e****h@g****m | 2 |
| Peter A. Bigot | b****p@a****g | 2 |
| jaseg | j****g@j****t | 2 |
| Elliott Mitchell | e****t@d****m | 2 |
| Walker Inman | w****n@m****u | 2 |
| ponty | p****y@h****e | 2 |
| clach04 | c****4@t****) | 2 |
| Richard Bryan | r****n@l****m | 1 |
| Nick Bogdanov | n****v@g****m | 1 |
| Maximilian Köhl | l****i@g****m | 1 |
| and 46 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 125
- Total pull requests: 25
- Average time to close issues: 3 months
- Average time to close pull requests: 2 months
- Total issue authors: 106
- Total pull request authors: 19
- Average comments per issue: 5.95
- Average comments per pull request: 3.84
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 6
- Pull requests: 9
- Average time to close issues: 3 days
- Average time to close pull requests: 11 days
- Issue authors: 6
- Pull request authors: 4
- Average comments per issue: 1.5
- Average comments per pull request: 2.44
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mcuee (7)
- o-murphy (3)
- ap-- (2)
- danielhrisca (2)
- jonasmalacofilho (2)
- walac (2)
- ibipark (2)
- JartX (2)
- jerome-diver (2)
- torfbolt (2)
- artisticfox8 (2)
- erikaemma (2)
- emob-nordic (2)
- SergeTauger (1)
- cybergibbons (1)
Pull Request Authors
- jonasmalacofilho (6)
- kauwua (3)
- mikhail-ekzi (2)
- AlanJAS (2)
- russellproud (2)
- twam (2)
- o-murphy (2)
- hroncok (1)
- puddly (1)
- andygoulden (1)
- roberthartung (1)
- nickrbogdanov (1)
- Querela (1)
- mrnuke (1)
- Domefemia (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 22
-
Total downloads:
- pypi 2,138,575 last-month
- Total docker downloads: 819,135,766
-
Total dependent packages: 180
(may contain duplicates) -
Total dependent repositories: 3,697
(may contain duplicates) - Total versions: 54
- Total maintainers: 6
pypi.org: pyusb
Easy USB access for Python
- Homepage: https://pyusb.github.io/pyusb
- Documentation: https://pyusb.readthedocs.io/
- License: BSD License
-
Latest release: 1.3.1
published about 1 year ago
Rankings
Maintainers (3)
alpine-v3.18: py3-usb-pyc
Precompiled Python bytecode for py3-usb
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r2
published almost 3 years ago
Rankings
Maintainers (1)
alpine-v3.18: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r2
published almost 3 years ago
Rankings
Maintainers (1)
alpine-v3.14: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.1.1-r2
published almost 5 years ago
Rankings
Maintainers (1)
alpine-edge: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.3.1-r0
published 11 months ago
Rankings
Maintainers (1)
alpine-v3.12: py3-usb
PyUSB offers easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.0.2-r3
published almost 6 years ago
Rankings
Maintainers (1)
alpine-v3.17: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r0
published over 3 years ago
Rankings
Maintainers (1)
alpine-v3.16: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.1.1-r3
published about 4 years ago
Rankings
Maintainers (1)
alpine-v3.15: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.1.1-r2
published almost 5 years ago
Rankings
Maintainers (1)
alpine-edge: py3-usb-pyc
Precompiled Python bytecode for py3-usb
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.3.1-r0
published 11 months ago
Rankings
Maintainers (1)
alpine-v3.13: py3-usb
PyUSB offers easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.0.2-r3
published almost 6 years ago
Rankings
Maintainers (1)
proxy.golang.org: github.com/pyusb/pyusb
- Documentation: https://pkg.go.dev/github.com/pyusb/pyusb#section-documentation
- License: bsd-3-clause
-
Latest release: v1.3.1
published about 1 year ago
Rankings
conda-forge.org: pyusb
PyUSB offers easy USB devices communication in Python. It should work without additional code in any environment with Python >= 2.4, ctypes and an pre-built usb backend library (currently, libusb 0.1.x, libusb 1.x, and OpenUSB).
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1
published over 4 years ago
Rankings
spack.io: py-pyusb
Easy USB access from Python.
- Homepage: https://github.com/pyusb/pyusb
- License: []
-
Latest release: 1.0.2
published almost 4 years ago
Rankings
Maintainers (1)
alpine-v3.20: py3-usb-pyc
Precompiled Python bytecode for py3-usb
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r3
published almost 2 years ago
Rankings
Maintainers (1)
alpine-v3.21: py3-usb-pyc
Precompiled Python bytecode for py3-usb
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r3
published over 1 year ago
Rankings
Maintainers (1)
alpine-v3.21: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r3
published over 1 year ago
Rankings
Maintainers (1)
alpine-v3.19: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r2
published almost 3 years ago
Rankings
Maintainers (1)
alpine-v3.19: py3-usb-pyc
Precompiled Python bytecode for py3-usb
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r2
published almost 3 years ago
Rankings
alpine-v3.20: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.2.1-r3
published almost 2 years ago
Rankings
Maintainers (1)
alpine-v3.22: py3-usb-pyc
Precompiled Python bytecode for py3-usb
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.3.1-r0
published 11 months ago
Rankings
Maintainers (1)
alpine-v3.22: py3-usb
easy USB devices communication in Python3
- Homepage: https://github.com/pyusb/pyusb
- License: BSD-3-Clause
-
Latest release: 1.3.1-r0
published 11 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v2 composite