Metadata-Version: 2.1 Name: pyipp Version: 0.17.0 Summary: Asynchronous Python client for Internet Printing Protocol (IPP) Home-page: https://github.com/ctalkington/python-ipp License: MIT Keywords: ipp,api,async,client,printer Author: Chris Talkington Author-email: chris@talkingtontech.com Maintainer: Chris Talkington Maintainer-email: chris@talkingtontech.com Requires-Python: >=3.9,<4.0 Classifier: Development Status :: 4 - Beta Classifier: Framework :: AsyncIO Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Natural Language :: English Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Dist: aiohttp (>=3.0.0) Requires-Dist: async-timeout (==4.0.3) ; python_version < "3.11" Requires-Dist: awesomeversion (>=21.10.1) Requires-Dist: backoff (>=2.2.0) Requires-Dist: deepmerge (>=1.1.0) Requires-Dist: yarl (>=1.6.0) Project-URL: Bug Tracker, https://github.com/ctalkington/python-ipp/issues Project-URL: Changelog, https://github.com/ctalkington/python-ipp/releases Project-URL: Documentation, https://github.com/ctalkington/python-ipp Project-URL: Repository, https://github.com/ctalkington/python-ipp Description-Content-Type: text/markdown # Python: Internet Printing Protocol (IPP) Client Asynchronous Python client for Internet Printing Protocol (IPP). ## About This package allows you to monitor printers that support the Internet Printing Protocol (IPP) programmatically. ## Installation ```bash pip install pyipp ``` ## Usage ```python import asyncio from pyipp import IPP, Printer async def main(): """Show example of connecting to your IPP print server.""" async with IPP("ipps://EPSON123456.local:631/ipp/print") as ipp: printer: Printer = await ipp.printer() print(printer) if __name__ == "__main__": loop = asyncio.get_event_loop() loop.run_until_complete(main()) ``` ## Setting up development environment This Python project is fully managed using the [Poetry](https://python-poetry.org) dependency manager. But also relies on the use of NodeJS for certain checks during development. You need at least: - Python 3.9+ - [Poetry](https://python-poetry.org/docs/#installation) - NodeJS 20+ (including NPM) To install all packages, including all development requirements: ```bash npm install poetry install ``` As this repository uses the [pre-commit](https://pre-commit.com/) framework, all changes are linted and tested with each commit. You can run all checks and tests manually, using the following command: ```bash poetry run pre-commit run --all-files ``` To run just the Python tests: ```bash poetry run pytest ```