Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/inspectionProfiles/profiles_settings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .idea/printnode_community.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 1 addition & 11 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 2 additions & 8 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,19 +57,13 @@ This repository is maintained as a careful, community-oriented Python client for

## Local Verification

Use `uv` by default:
Use the canonical gates from `.github/github-repo-workflow.json`:

```sh
uv sync
uv sync --locked
uv run pytest
uv build
uv run twine check dist/*
```

If a command cannot be run locally, mention why in the pull request body.

## Code Agent Notes

- Prefer pull-request-backed work and summarize verification clearly.
- Keep changes boring, reviewable, and well-tested.
- Update the durable stewardship plan at `~/.codex/plans/printnode-python-stewardship.md` when major phases start, finish, or change.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,12 @@ The format follows the spirit of Keep a Changelog, and this project intends to u
- Added repository workflow defaults for future GitHub workflow sessions.
- Added public-path coverage for model-instance computer, printer, and print
job lookups.
- Aligned contributor and agent docs with the repository workflow metadata.
- Updated post-release documentation now that `0.3.0` is published.
- Removed stale private helper code that was unreachable from account and
computer APIs.
- Removed the legacy root `test` wrapper in favor of the documented
`uv run pytest` workflow.
- Hardened model factory handling for missing or null optional nested PrintNode
response fields.

Expand Down
10 changes: 3 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,12 @@ Thank you for helping maintain this PrintNode API client. This fork aims to be c

## Development

The project uses `pyproject.toml` and `uv`. The standard local workflow is:
The project uses `pyproject.toml` and `uv`. Use the validation gates recorded
in `.github/github-repo-workflow.json`:

```sh
uv sync
uv sync --locked
uv run pytest
```

Build checks will use:

```sh
uv build
uv run twine check dist/*
```
Expand Down
11 changes: 3 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ python -m pip install printnode_community
Install from source with `uv`:

```sh
uv sync
uv sync --locked
```

For editable development installs, use:
Expand All @@ -39,16 +39,11 @@ uv pip install -e .

### Development

Install development dependencies and run tests with:
Install development dependencies and run the local verification gates with:

```sh
uv sync
uv sync --locked
uv run pytest
```

Build and validate package artifacts with:

```sh
uv build
uv run twine check dist/*
```
Expand Down
14 changes: 8 additions & 6 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
# Release Process

This fork is being prepared for maintained releases under the `printnode_community` project name.
Maintained releases are published under the `printnode_community` project name.

## Package Name

The historical PyPI distribution name is `PrintNodeApi`, but upstream has not responded to maintainer handoff requests. This community-maintained fork will publish as `printnode_community` instead.
The historical PyPI distribution name is `PrintNodeApi`, but upstream has not
responded to maintainer handoff requests. This community-maintained fork
publishes as `printnode_community` instead.

PyPI normalizes `printnode-community` and `printnode_community` as the same project name. Prefer documenting `uv add printnode_community` and `python -m pip install printnode_community` so the install command visually matches the import namespace.

Before the first release, verify that `printnode_community` is still available
on both PyPI and TestPyPI, then configure trusted publishing for that name.
Before publishing from a new environment or workflow, verify the
`printnode_community` trusted publisher configuration on PyPI or TestPyPI.

## Versioning

Use semantic versioning once maintained releases begin.
Use semantic versioning for maintained releases.

- Patch releases: bug fixes, packaging fixes, documentation corrections, and compatibility fixes that preserve public API behavior.
- Minor releases: new PrintNode API coverage, new optional features, or deprecations that preserve compatibility.
Expand All @@ -23,7 +25,7 @@ Keep the package version in `pyproject.toml` and the top `CHANGELOG.md` release

## Pre-Release Checklist

1. Confirm `printnode_community` is still available and PyPI/TestPyPI trusted publisher configuration is ready.
1. Confirm PyPI/TestPyPI trusted publisher configuration is ready.
2. Confirm `main` is green in CI.
3. Create a release branch from `main`.
4. Update `pyproject.toml` with the release version.
Expand Down
4 changes: 0 additions & 4 deletions test

This file was deleted.

11 changes: 3 additions & 8 deletions tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,13 @@

The default test suite is credential-free and must not call the live PrintNode API.

Run tests with:
Run tests with the gate recorded in `.github/github-repo-workflow.json`:

```sh
uv run pytest
```

Package verification uses the same checks as CI:

```sh
uv run pytest
uv build
uv run twine check dist/*
```
For full package verification, follow the repository workflow metadata in
`.github/github-repo-workflow.json`.

Live PrintNode API tests may be added later, but they must be opt-in and gated by explicit environment variables. Do not commit real API keys, account credentials, customer data, or live API fixtures.