libusb

Python binding for the libusb C library.

https://github.com/karpierz/libusb

Science Score: 26.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
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Python binding for the libusb C library.

Basic Info
  • Host: GitHub
  • Owner: karpierz
  • License: zlib
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 5.44 MB
Statistics
  • Stars: 41
  • Watchers: 3
  • Forks: 13
  • Open Issues: 1
  • Releases: 0
Created almost 9 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Funding License

README.rst

libusb
======

Python binding for the *libusb* C library.

Overview
========

| Python |package_bold| module is a low-level binding for *libusb* C library.
| It is an effort to allow python programs full access to the API implemented
  and provided by the well known `*libusb* `__ library.

`PyPI record`_.

`Documentation`_.

| |package_bold| is a lightweight Python package, based on the *ctypes* library.
| It is fully compliant implementation of the original C *libusb* 1.0 API
  by implementing whole its functionality in a clean Python instead of C.
|
| *libusb* API 1.0 documentation can be found at:

  `libusb-1.0 API Reference `__

|package_bold| uses the underlying *libusb* C shared library as specified in
libusb.cfg (included libusb-X.X.* is the default), but there is also ability
to specify it programmatically by one of the following ways:

.. code:: python

  import libusb
  libusb.config(LIBUSB="libusb C shared library absolute path")
  # or
  libusb.config(LIBUSB=None)  # included libusb-X.X.* will be used

About original libusb:
----------------------

Borrowed from the `original website `__:

**libusb** - A cross-platform user library to access USB devices

**Overview**

**libusb** is a C library that provides generic access to USB devices.
It is intended to be used by developers to facilitate the production of
applications that communicate with USB hardware.

It is **portable**: Using a single cross-platform API, it provides access
to USB devices on Linux, OS X, Windows, Android, OpenBSD, etc.

It is **user-mode**: No special privilege or elevation is required for the
application to communicate with a device.

It is **version-agnostic**: All versions of the USB protocol, from 1.0 to 3.1
(latest), are supported.

**What platforms are supported?**

Linux, OS X, Windows, Windows CE, Android, OpenBSD/NetBSD, Haiku.

**For additional information, please consult the**
`FAQ `__
**or the** `Wiki `__.

Requirements
============

- | It is a fully independent package.
  | All necessary things are installed during the normal installation process.
- ATTENTION: currently works and tested only for Windows.

Installation
============

Prerequisites:

+ Python 3.10 or higher

  * https://www.python.org/
  * with C libusb 1.0.28 is a primary test environment.

+ pip and setuptools

  * https://pypi.org/project/pip/
  * https://pypi.org/project/setuptools/

To install run:

  .. parsed-literal::

    python -m pip install --upgrade |package|

Development
===========

Prerequisites:

+ Development is strictly based on *tox*. To install it run::

    python -m pip install --upgrade tox

Visit `Development page`_.

Installation from sources:

clone the sources:

  .. parsed-literal::

    git clone |respository| |package|

and run:

  .. parsed-literal::

    python -m pip install ./|package|

or on development mode:

  .. parsed-literal::

    python -m pip install --editable ./|package|

License
=======

  | |copyright|
  | Licensed under the zlib/libpng License
  | https://opensource.org/license/zlib
  | Please refer to the accompanying LICENSE file.

Authors
=======

* Adam Karpierz 

.. |package| replace:: libusb
.. |package_bold| replace:: **libusb**
.. |copyright| replace:: Copyright (c) 2016-2025 Adam Karpierz
.. |respository| replace:: https://github.com/karpierz/libusb.git
.. _Development page: https://github.com/karpierz/libusb
.. _PyPI record: https://pypi.org/project/libusb/
.. _Documentation: https://libusb.readthedocs.io/
.. _USB Vendors: https://devicehunt.com/all-usb-vendors

Owner

  • Name: Adam Karpierz
  • Login: karpierz
  • Kind: user
  • Location: Poland

Software Developer

GitHub Events

Total
  • Issues event: 2
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 9
  • Create event: 8
Last Year
  • Issues event: 2
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 1
  • Push event: 9
  • Create event: 8

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 101
  • Total Committers: 5
  • Avg Commits per committer: 20.2
  • Development Distribution Score (DDS): 0.139
Past Year
  • Commits: 15
  • Committers: 1
  • Avg Commits per committer: 15.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Adam Karpierz a****z@g****m 87
Adam Karpierz a****z@a****m 9
Frederik Teichert t****t@h****e 3
Tamás Nepusz n****s@g****m 1
Daniel d****e@c****a 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 10
  • Total pull requests: 3
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 10
  • Total pull request authors: 3
  • Average comments per issue: 2.2
  • Average comments per pull request: 0.67
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • davidfokkema (1)
  • Heerpa (1)
  • pg4code (1)
  • mcuee (1)
  • Newbrict (1)
  • wangchenguang123 (1)
  • s-light (1)
  • aviskhatiwada (1)
  • cirossmonteiro (1)
  • edelmacias (1)
Pull Request Authors
  • ntamas (1)
  • dccote (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 26,453 last-month
  • Total dependent packages: 3
  • Total dependent repositories: 21
  • Total versions: 28
  • Total maintainers: 1
pypi.org: libusb

Python binding for the libusb C library.

  • Versions: 28
  • Dependent Packages: 3
  • Dependent Repositories: 21
  • Downloads: 26,453 Last month
  • Docker Downloads: 0
Rankings
Downloads: 2.3%
Dependent packages count: 3.1%
Dependent repos count: 3.2%
Docker downloads count: 4.2%
Average: 5.7%
Forks count: 10.2%
Stargazers count: 11.1%
Maintainers (1)
Last synced: 10 months ago

Dependencies

pyproject.toml pypi