pyprusalink
Library to interact with PrusaLink v2
Decision gist · record as of 2026-08-14
Yes, if you need to interact with a PrusaLink-enabled Prusa printer from Python. Low install friction, active maintenance, permissive license, and no known vulnerabilities. Suitable for Home Assistant integrations, custom monitoring tools, and printer control applications. Requires Python 3.11+ and a compatible printer.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11+.
- Requires a PrusaLink-enabled Prusa printer (bundled on Core One, MK4, MK3.9, MK3.5, MINI, XL, or standalone on RPi).
- Low friction: pure Python wheel with a single runtime dependency (httpx).
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows use in commercial and private projects with minimal restrictions; you must retain license and copyright notices.
last release 2026-07-13 (32 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 75,190 downloads/mo, #14,742 on PyPI
Alternatives
Verify before relying
pip install pyprusalink
import asyncio
import httpx
from pyprusalink import PrusaLink
async def main():
async with httpx.AsyncClient() as client:
api = PrusaLink(client, "http://prusa.local", "maker", "api_key")
info = await api.get_info()
print(info.get("name"))
asyncio.run(main())- Whether the library's lack of built-in retry/caching logic is acceptable for your use case or requires application-level handling.
- Real-world performance and stability against various Prusa firmware versions and printer models.
What it is and what it does
pyprusalink is a thin async wrapper around the PrusaLink HTTP API for Prusa 3D printers. It exposes methods to query printer state (firmware, serial, status, job progress), manage print jobs (pause, resume, cancel), handle file uploads, and parse print file metadata. The library is built on httpx and handles digest authentication transparently.
It is designed primarily to serve the Home Assistant prusalink integration, so API decisions are weighted toward that use case. The library does not perform runtime validation, retry logic, or caching—consumers are expected to handle those concerns. Return types are TypedDict, with optional fields marked as NotRequired and resources that may be absent (like active jobs) returning None rather than empty dicts.
Use it for
- Monitor active print jobs and fetch real-time printer status from a Home Assistant automation or dashboard.
- Pause, resume, or cancel print jobs programmatically from a custom application or integration.
- Retrieve printer metadata (firmware version, serial, model, capabilities) for inventory or diagnostics.
- Parse print file metadata (filament type, weight, estimated time) before or during a print.
- Build custom printer monitoring or control tools that need async HTTP access to PrusaLink endpoints.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to interact with a PrusaLink-enabled Prusa printer from Python.
Low install friction, active maintenance, permissive license, and no known vulnerabilities. Suitable for Home Assistant integrations, custom monitoring tools, and printer control applications. Requires Python 3.11+ and a compatible printer.
Install
pyprusalink on PyPI
Before you install
Low friction: pure Python wheel with a single runtime dependency (httpx). Actively maintained with a release 32 days ago. Requires Python 3.11+.
Requires Python 3.11+. Requires a PrusaLink-enabled Prusa printer (bundled on Core One, MK4, MK3.9, MK3.5, MINI, XL, or standalone on RPi).
License in practice
Apache-2.0 permissive license allows use in commercial and private projects with minimal restrictions; you must retain license and copyright notices.
Quickstart
pip install pyprusalink
import asyncio
import httpx
from pyprusalink import PrusaLink
async def main():
async with httpx.AsyncClient() as client:
api = PrusaLink(client, "http://prusa.local", "maker", "api_key")
info = await api.get_info()
print(info.get("name"))
asyncio.run(main())
Verify before relying
- Whether the library's lack of built-in retry/caching logic is acceptable for your use case or requires application-level handling.
- Real-world performance and stability against various Prusa firmware versions and printer models.
Package facts
| License | Apache-2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagehttpx |
| Maintenance | Actively maintained 32 days since the last release |
| First released | |
| Downloads | 75,190 / month, #14,742 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 3 - AlphaEnvironment :: ConsoleIntended Audience :: DevelopersProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Topic :: Home Automation |
Evidence: pyprusalink-3.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “prusa printer api client”
- pyprusalinkAsync Python client for the PrusaLink HTTP API, enabling remote…
- moonraker-apiFully async Python client for connecting to and subscribing to…
- pyippAsynchronous Python client for querying and monitoring printers that…
Give your agent the search over MCP, or paste the wish link into any chat.
More Home Automation packages
Represents and manipulates IPv4, IPv6, MAC addresses and related network objects; supports CIDR notation, subnetting, set operations, IANA lookups, and DNS reverse generation.
Home Assistant is an open-source home automation platform that centralizes control of smart home devices and automations on a local server or Raspberry Pi, prioritizing local control and privacy over cloud dependency.
Defines finite state machines and statecharts with a declarative Python API, supporting flat states, compound hierarchies, parallel regions, history states, guards, and both sync and async callbacks.
Install it if you need to model workflows, control logic, or any system with discrete states and event-driven transitions — from simple state machines to complex…
A Python library for controlling BlueZ Bluetooth adapters on Linux via the Management API, supporting both synchronous and event-driven command patterns.
An async Python library for controlling and monitoring Homematic and HomematicIP devices through multiple backend systems (CCU3, OpenCCU, Homegear, CUxD, CCU-Jack) using XML-RPC and JSON-RPC protocols.
Install it if you need to control Homematic devices from Python; the only constraint is a requirement for Python 3.14 or later and network access to a compatible…
Provides base classes and utilities for Home Assistant integrations to proxy HTTP and WebSocket traffic through Home Assistant's web server.
Install only if you are building a custom Home Assistant integration; it is not useful as a standalone package.
See also pyipp · wmill · pycups · asusrouter · brother · python-escpos · opencode-ai · boschshcpy · pyworxcloud · moonraker-api