Skip to content

πŸŽ‰ v1.0.0 β€” First Stable Release

Latest

Choose a tag to compare

@dcode dcode released this 24 Feb 05:13
· 8 commits to main since this release
Immutable release. Only release title and notes can be modified.
3f37b00

πŸŽ‰ v1.0.0 β€” First Stable Release

The first stable release of the Prusa Connect Python SDK and prusactl CLI is here!


⚠️ Breaking Changes

The deprecated compatibility shims from alpha releases have been removed.
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)

✨ What's New

🧩 Service-based SDK API
Resources are accessed through dedicated service objects: client.printers,
client.cameras, client.teams, client.files, client.jobs, and client.stats.

πŸ–₯️ prusactl CLI
A full-featured command-line interface with subcommands for printer, camera,
team, job, file, stats, and auth. Supports --format rich|plain|json for
scripting-friendly output, configurable via CLI flag, PRUSACTL_OUTPUT_FORMAT env
var, or config.json.

πŸ“Š Statistics service
client.stats provides per-printer material usage, print time, planned tasks, and
job success metrics.

πŸ” Printer command discovery & validated execution
client.printers.get_supported_commands(uuid) with optional disk caching and TTL.
client.execute_printer_command() validates arguments against the printer's
reported command schema before sending.

πŸ“· Camera signaling
PrusaCameraClient supports pan/tilt control and image adjustment via the Prusa
Signal.IO signaling protocol.

πŸ“„ G-code metadata parser
client.validate_gcode(path) for pre-flight validation before uploading files.

πŸ” Persistent credential caching
CLI credentials are stored in the platform config directory and auto-loaded by the
SDK.


πŸ”§ Other Changes

  • CLI rewritten with Cyclopts for richer
    help output and --verbose/--debug global flags
  • Pydantic models reorganized into focused submodules under
    prusa.connect.client.models
  • AppConfig is now validated at client init time to confirm the server supports
    the PRUSA_AUTH backend

πŸ“¦ Installation

pip install prusa-connect-sdk-client==1.0.0
# or with CLI extras
pip install "prusa-connect-sdk-client[cli]==1.0.0"

3D Printer Emoji Happy Printing! 3D Printer Emoji