# 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 18+ (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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ctalkington/python-ipp",
"name": "pyipp",
"maintainer": "Chris Talkington",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "chris@talkingtontech.com",
"keywords": "ipp,api,async,client,printer",
"author": "Chris Talkington",
"author_email": "chris@talkingtontech.com",
"download_url": "https://files.pythonhosted.org/packages/c4/48/318f839175a5fb13f667a504bdea0e02e0f4f23de5adadcba121807b7562/pyipp-0.15.0.tar.gz",
"platform": null,
"description": "# Python: Internet Printing Protocol (IPP) Client\n\nAsynchronous Python client for Internet Printing Protocol (IPP).\n\n## About\n\nThis package allows you to monitor printers that support the Internet Printing Protocol (IPP) programmatically.\n\n## Installation\n\n```bash\npip install pyipp\n```\n\n## Usage\n\n```python\nimport asyncio\n\nfrom pyipp import IPP, Printer\n\n\nasync def main():\n \"\"\"Show example of connecting to your IPP print server.\"\"\"\n async with IPP(\"ipps://EPSON123456.local:631/ipp/print\") as ipp:\n printer: Printer = await ipp.printer()\n print(printer)\n\n\nif __name__ == \"__main__\":\n loop = asyncio.get_event_loop()\n loop.run_until_complete(main())\n```\n\n## Setting up development environment\n\nThis Python project is fully managed using the [Poetry](https://python-poetry.org) dependency\nmanager. But also relies on the use of NodeJS for certain checks during\ndevelopment.\n\nYou need at least:\n\n- Python 3.9+\n- [Poetry](https://python-poetry.org/docs/#installation)\n- NodeJS 18+ (including NPM)\n\nTo install all packages, including all development requirements:\n\n```bash\nnpm install\npoetry install\n```\n\nAs this repository uses the [pre-commit](https://pre-commit.com/) framework, all changes\nare linted and tested with each commit. You can run all checks and tests\nmanually, using the following command:\n\n```bash\npoetry run pre-commit run --all-files\n```\n\nTo run just the Python tests:\n\n```bash\npoetry run pytest\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Asynchronous Python client for Internet Printing Protocol (IPP)",
"version": "0.15.0",
"project_urls": {
"Bug Tracker": "https://github.com/ctalkington/python-ipp/issues",
"Changelog": "https://github.com/ctalkington/python-ipp/releases",
"Documentation": "https://github.com/ctalkington/python-ipp",
"Homepage": "https://github.com/ctalkington/python-ipp",
"Repository": "https://github.com/ctalkington/python-ipp"
},
"split_keywords": [
"ipp",
"api",
"async",
"client",
"printer"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f5e279d8001fafc0feddc94786099ed3affa1805dd45da973a5af671787a181d",
"md5": "2556e44ca3cfa792179d16bc570e7922",
"sha256": "ebb6905a83fa5be1146a4a1b9c84b588e26690c01063cf10e121854508d05807"
},
"downloads": -1,
"filename": "pyipp-0.15.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2556e44ca3cfa792179d16bc570e7922",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 15894,
"upload_time": "2024-03-13T05:06:29",
"upload_time_iso_8601": "2024-03-13T05:06:29.103233Z",
"url": "https://files.pythonhosted.org/packages/f5/e2/79d8001fafc0feddc94786099ed3affa1805dd45da973a5af671787a181d/pyipp-0.15.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c448318f839175a5fb13f667a504bdea0e02e0f4f23de5adadcba121807b7562",
"md5": "d2ef269266c2768ec1545d17438256c5",
"sha256": "2240779c43e29205e84cbc317f082a43b505082a52a491c1e6b6c5319df1c905"
},
"downloads": -1,
"filename": "pyipp-0.15.0.tar.gz",
"has_sig": false,
"md5_digest": "d2ef269266c2768ec1545d17438256c5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 15233,
"upload_time": "2024-03-13T05:06:30",
"upload_time_iso_8601": "2024-03-13T05:06:30.444051Z",
"url": "https://files.pythonhosted.org/packages/c4/48/318f839175a5fb13f667a504bdea0e02e0f4f23de5adadcba121807b7562/pyipp-0.15.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-13 05:06:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ctalkington",
"github_project": "python-ipp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyipp"
}