Metadata-Version: 2.1 Name: libusb Version: 1.0.26b5 Summary: Python binding for the libusb C library. Author: Adam Karpierz Author-email: adam@karpierz.net Maintainer: Adam Karpierz Maintainer-email: adam@karpierz.net License: zlib/libpng License ; https://opensource.org/licenses/Zlib Project-URL: Homepage, https://pypi.org/project/libusb/ Project-URL: Documentation, https://libusb.readthedocs.io/ Project-URL: Download, https://pypi.org/project/libusb/ Project-URL: Source, https://github.com/karpierz/libusb Project-URL: Issues, https://github.com/karpierz/libusb/issues Keywords: usb,libusb Platform: any Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: zlib/libpng License Classifier: Operating System :: OS Independent Classifier: Natural Language :: Polish Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Programming Language :: Python :: Implementation :: Stackless Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Python: <4.0.0,>=3.7.0 Description-Content-Type: text/x-rst; charset=UTF-8 License-File: LICENSE Requires-Dist: setuptools (>=63.2.0) Requires-Dist: pkg-about (>=1.0.7) Provides-Extra: doc Requires-Dist: docutils (<0.19,>=0.14) ; extra == 'doc' Requires-Dist: Sphinx (>=4.5.0) ; extra == 'doc' Requires-Dist: sphinx-tabs (>=3.4.1) ; extra == 'doc' Requires-Dist: sphinx-copybutton (>=0.5.0) ; extra == 'doc' Requires-Dist: sphinxcontrib-spelling (>=7.6.0) ; extra == 'doc' Requires-Dist: restructuredtext-lint (>=1.4.0) ; extra == 'doc' Requires-Dist: nbsphinx (>=0.8.9) ; extra == 'doc' Provides-Extra: test Requires-Dist: deepdiff (>=5.8.1) ; extra == 'test' 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.7 or higher * https://www.python.org/ * 3.7 with C libusb 1.0.22 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 (c) 2016-2022 Adam Karpierz | Licensed under the zlib/libpng License | https://opensource.org/licenses/Zlib | Please refer to the accompanying LICENSE file. Authors ======= * Adam Karpierz .. |package| replace:: libusb .. |package_bold| replace:: **libusb** .. |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/ Changelog ========= 1.0.26b5 (2022-09-10) --------------------- - Tox configuration has been moved to pyproject.toml 1.0.26b4 (2022-08-25) --------------------- - | Downgrade of included shared libraries for Linux: | libusb v.1.0.26 -> v.1.0.24 (for now based on Debian's 11 (bullseye)), | because of loading issues of v.1.0.26 from Debian's 12 (bookworm) | shared libraries. - Setup update. 1.0.26b3 (2022-07-25) --------------------- - Setup update (currently based mainly on pyproject.toml). - Update for macOS (dlls are included for v.10.7+ and v.11.6+ 64bit). 1.0.26b2 (2022-07-18) --------------------- - Upgrade for Windows: libusb v.1.0.24 -> v.1.0.26 - Update for macOS (v.11.6 64bit). - Add support for Python 3.10 and 3.11 - Add support for PyPy 3.7, 3.8 and 3.9 - Setup update. 1.0.24b3 (2022-01-10) --------------------- - Drop support for Python 3.6 - Copyright year update. - Setup update. 1.0.24b1 (2021-11-10) --------------------- - Upgrade for Windows: libusb v.1.0.23 -> v.1.0.24 - Add support for macOS (thank you very much dccote@Github!). - Copyright year update. - *backward incompatibility* - libusb.cfg is now a regular INI file. - Fixes for examples (but still some examples don't work properly). - Setup update. 1.0.23b7 (2020-11-19) --------------------- - Ability to specify the underlying shared library programmatically. - General update and cleanup. - Setup update. - Removing dependence on atpublic. - Fixed docs setup. - Fix for hotplugtest example. 1.0.23b1 (2020-09-15) --------------------- - | Upgrade for Windows: libusb v.1.0.22 -> v.1.0.23 | (partially; without libusb_wrap_sys_device, because | original Windows v.1.0.23 dlls do not export this function). - Add support for Python 3.9 - Drop support for Python 3.5 - Setup update. - Cleanup. 1.0.22b9 (2020-01-17) --------------------- - Added ReadTheDocs config file. - Setup update. 1.0.22b8 (2019-11-24) --------------------- - Upgrade for Linux: libusb x64 v.1.0.21 -> v.1.0.22 - Fix for error when the shared library is configured. - Cleanup. 1.0.22b6 (2019-11-23) --------------------- - Initial support for Linux (libusb v.1.0.21 x64). 1.0.22b5 (2019-11-14) --------------------- - Drop support for Python 2 - Drop support for Python 3.4 - Add support for Python 3.8 - Setup update and cleanup. 1.0.22b4 (2019-02-15) --------------------- - Setup improvement. - Update required setuptools version. - Some updates of examples. 1.0.22b2 (2018-11-08) --------------------- - Setup improvement. - Update required setuptools version. 1.0.22b1 (2018-03-30) --------------------- - Upgrade to the libusb v.1.0.22 - Setup improvement. 1.0.21b4 (2018-02-26) --------------------- - Improve and simplify setup and packaging. 1.0.21b3 (2018-02-25) --------------------- - Setup improvement. 1.0.21b2 (2017-12-18) --------------------- - Fix the error of platform detecting. 1.0.21b1 (2017-10-11) --------------------- - First beta release. 1.0.21a3 (2017-08-20) --------------------- - Next alpha release. 1.0.21a0 (2016-09-24) --------------------- - First alpha release. 0.0.1 (2016-09-23) ------------------ - Initial release.