# 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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ctalkington/python-ipp",
"name": "pyipp",
"maintainer": "Chris Talkington",
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"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/96/44/0859d4b5ee653642f4654dd255c7277b5485ca6f62f684245fb3e90a54d7/pyipp-0.17.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 20+ (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\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Asynchronous Python client for Internet Printing Protocol (IPP)",
"version": "0.17.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": "2b23896a705b39b72834c51cef9b9e3ed574f96e670c74ec84ba60c8f8a6232c",
"md5": "425bbd117608e19eec899e8e222e7ddb",
"sha256": "5276dd083640c7b050d0f6eeaafaabe4f648ce983809356d4a9a04ddc4f33ceb"
},
"downloads": -1,
"filename": "pyipp-0.17.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "425bbd117608e19eec899e8e222e7ddb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 16603,
"upload_time": "2024-10-10T05:26:31",
"upload_time_iso_8601": "2024-10-10T05:26:31.744231Z",
"url": "https://files.pythonhosted.org/packages/2b/23/896a705b39b72834c51cef9b9e3ed574f96e670c74ec84ba60c8f8a6232c/pyipp-0.17.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "96440859d4b5ee653642f4654dd255c7277b5485ca6f62f684245fb3e90a54d7",
"md5": "2c74d2f7f849428b3dc0c6f37afa3ca3",
"sha256": "88a4cf7acbeecfbf2a7c658b33858b7006c1c6ec7643fc418576a59ba2c5bdec"
},
"downloads": -1,
"filename": "pyipp-0.17.0.tar.gz",
"has_sig": false,
"md5_digest": "2c74d2f7f849428b3dc0c6f37afa3ca3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 15868,
"upload_time": "2024-10-10T05:26:33",
"upload_time_iso_8601": "2024-10-10T05:26:33.506680Z",
"url": "https://files.pythonhosted.org/packages/96/44/0859d4b5ee653642f4654dd255c7277b5485ca6f62f684245fb3e90a54d7/pyipp-0.17.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-10 05:26:33",
"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"
}