Prusa-connect-sdk-client

Latest version: v1.0.0

Safety actively analyzes 868211 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.0.0

Breaking Changes

- Removed deprecated shim methods from `PrusaConnectClient` that were present in
the alpha releases. The service-based API is now the sole public interface:

| Removed method | Replacement |
| -------------------------------- | ----------------------------------------- |
| `client.get_printers()` | `client.printers.list_printers()` |
| `client.get_printer(uuid)` | `client.printers.get(uuid)` |
| `client.get_cameras()` | `client.cameras.list()` |
| `client.get_teams()` | `client.teams.list_teams()` |
| `client.get_team(id)` | `client.teams.get(id)` |
| `client.send_command(uuid, cmd)` | `client.printers.send_command(uuid, cmd)` |

Added

- **Service-based API:** Resources are now accessed through dedicated service
objects on the client — `client.printers`, `client.cameras`, `client.teams`,
`client.files`, `client.jobs`, and `client.stats`.
- **`prusactl` CLI** with full subcommand coverage: `printer`, `camera`, `team`,
`job`, `file`, `stats`, and `auth`.
- **Statistics service** (`client.stats`) for per-printer material usage, print
time, planned tasks, and job success metrics.
- **Printer command discovery** — `client.printers.get_supported_commands(uuid)`
with optional disk caching and TTL.
- **Validated command execution** — `client.execute_printer_command()` validates
arguments against the printer's reported command schema before sending.
- **Camera Signal.IO signaling client** (`PrusaCameraClient`) for pan/tilt
control and image adjustment via the Prusa signaling protocol.
- **G-code metadata parser** (`client.validate_gcode(path)`) for pre-flight
checks before uploading.
- **Persistent credential caching** — CLI credentials are stored in the platform
config directory and auto-loaded by the SDK.
- **CLI output format control** — the `--format` global flag selects between
`rich` (coloured tables; default when stdout is a TTY), `plain`
(tab-separated text with no ANSI escapes or table borders; default when
stdout is not a TTY), and `json` (JSON array per table to stdout, all status
messages to stderr).
- The active format can also be set via the `output_format` key in `config.json`
or the `PRUSACTL_OUTPUT_FORMAT` environment variable; the priority is: CLI
flag → env var → config file → TTY auto-detect.

Changed

- CLI rewritten with [Cyclopts](https://github.com/BrianPugh/cyclopts) for
richer help output and `--verbose` / `--debug` global flags.
- Pydantic models split into focused submodules under
`prusa.connect.client.models`.
- `AppConfig` is now fetched at client init time to validate that the server
supports the `PRUSA_AUTH` backend.

1.0.0a2

Changed

- Refactored CLI to use Cyclopts; split monolithic models into service modules;
added stats commands and documentation site.

1.0.0a0

Links

Releases

Has known vulnerabilities

© 2026 Safety CLI Cybersecurity Inc. All Rights Reserved.