Skip to content

Improve Developer Experience with Zero-Config Auth and Diátaxis Docs - #3

Merged
dcode merged 2 commits into
mainfrom
dx-improvements-15224990671937316957
Feb 1, 2026
Merged

Improve Developer Experience with Zero-Config Auth and Diátaxis Docs#3
dcode merged 2 commits into
mainfrom
dx-improvements-15224990671937316957

Conversation

@dcode

@dcode dcode commented Feb 1, 2026

Copy link
Copy Markdown
Owner

This PR significantly improves the Developer Experience (DX) of the prusa-connect library.

Key Changes:

  1. Zero-Config Authentication:

    • PrusaConnectClient() can now be instantiated without arguments. It will automatically look for credentials in:
      1. Environment variables (PRUSA_TOKENS_JSON or PRUSA_TOKEN).
      2. A default prusa_tokens.json file in the current directory (which is where the CLI saves them).
    • If no credentials are found, it raises a descriptive PrusaAuthError guiding the user to the CLI.
  2. Documentation Overhaul:

    • Rewrote README.md following the Diátaxis framework.
    • Added a "Quickstart" tutorial that leads to a "Hello World" in minutes.
    • Added "How-to Guides" for headless auth, controlling printers, and more.
    • Included copy-pasteable snippets for common tasks.
  3. DX Improvements:

    • Added from_env factory to PrusaConnectCredentials to support CI/CD usage more easily.
    • Updated from_file to accept str paths as well as Path objects.

Verification:

  • Added tests/test_dx.py to verify the auto-loading logic and environment variable support.
  • Ran existing tests to ensure no regressions.
  • Verified that lint checks pass.

PR created automatically by Jules for task 15224990671937316957 started by @dcode

- Made `credentials` optional in `PrusaConnectClient`.
- Added `PrusaConnectCredentials.load_default()` and `from_env()`.
- Rewrote `README.md` using Diátaxis framework.
- Added tests for new auth logic.

Co-authored-by: dcode <171574+dcode@users.noreply.github.com>
@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

- Made `credentials` optional in `PrusaConnectClient`.
- Added `PrusaConnectCredentials.load_default()` and `from_env()`.
- Rewrote `README.md` using Diátaxis framework.
- Added tests for new auth logic.
- Fixed linting errors in tests.

Co-authored-by: dcode <171574+dcode@users.noreply.github.com>
@dcode
dcode merged commit 2a7f96c into main Feb 1, 2026
2 checks passed
@dcode
dcode deleted the dx-improvements-15224990671937316957 branch February 1, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant