Skip to main content

Unoriginal Prusa Connect API client for Python and CLI

Project description

Unoriginal Prusa Connect Python Client

PyPI version License: AGPL v3 Python Versions

Control your Prusa 3D printers programmatically with Python. This library provides a frictionless, strongly-typed interface for the Prusa Connect API.

[!WARNING] A Note on Unoriginal-ness

This SDK is not an officially supported or endorsed product of Prusa Research. It is developed and maintained by an independent developer and is not affiliated with Prusa Research. See Motivation & Design for more information.

Features:

  • Zero-Config Authentication: Log in once via CLI, use everywhere in Python.
  • Strong Typing: Full Pydantic models for printers, jobs, cameras, and files.
  • Batteries Included: Retries, timeouts, and error handling out of the box.
  • CLI Tool: Managing printers from the terminal.

Installation

Install the package with the CLI tools (recommended for easiest setup):

pip install "prusa-connect-sdk-client[cli]"

Or install the lightweight library only:

pip install prusa-connect-sdk-client

Motivation & Design

My motivation to create this library is to provide a frictionless, strongly-typed interface for the Prusa Connect API. I want to be able to monitor and control my Prusa 3D printers programmatically with Python. I love building tools, which has led to me loving my Prusa 3D printers.

It is my goal that this library has the same level of quality engineering and "feel" as the products Prusa Research produces. That goal drove the decisions on library layout (e.g. prusa.connect.client namespace) and the naming of the PyPI package itself.

That said, if anyone from Prusa Research wishes to take over development of this library, I would be happy to hand it over (and keep contributing, if desired). Alternatively, I can keep this project going as a community-driven project in my spare time. If you're from Prusa Research and wish to support this work, I'd gladly accept Prusameters towards a new Core-generation printer. 😉

My Printables Profile: :simple-printables: dcode

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prusa_connect_sdk_client-1.0.0a2.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prusa_connect_sdk_client-1.0.0a2-py3-none-any.whl (71.3 kB view details)

Uploaded Python 3

File details

Details for the file prusa_connect_sdk_client-1.0.0a2.tar.gz.

File metadata

File hashes

Hashes for prusa_connect_sdk_client-1.0.0a2.tar.gz
Algorithm Hash digest
SHA256 694d4287f7a684ed5857e9f83e791c8ac9e767ee7f4bff0c8526a39a8f9c3ae5
MD5 f987e636640af18262fbd9526ba0cb72
BLAKE2b-256 7f5debb3603d173fccc7097c6a16a725e8cbe7be193e5356385ad23d793d03ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for prusa_connect_sdk_client-1.0.0a2.tar.gz:

Publisher: publish.yml on dcode/python-prusa-connect-sdk-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prusa_connect_sdk_client-1.0.0a2-py3-none-any.whl.

File metadata

File hashes

Hashes for prusa_connect_sdk_client-1.0.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 4581d9aef31321e80e42b58bf8346ab1062f770b73b271d38a0e8f1cf064e0e1
MD5 8e22bbf2cae5a509f430be8eeda460ea
BLAKE2b-256 262d66a2e65c1408c091ebe9bcfac01ecb1857b0f6b8e3abd62a45b375cbcfbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for prusa_connect_sdk_client-1.0.0a2-py3-none-any.whl:

Publisher: publish.yml on dcode/python-prusa-connect-sdk-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page