Skip to content

Fix API client reliability and automate PyPI releases - #2

Merged
decryptus merged 1 commit into
mainfrom
fix/client-reliability
Sep 22, 2026
Merged

decryptus merged 1 commit into
mainfrom
fix/client-reliability

Conversation

@decryptus

Copy link
Copy Markdown
Owner

The client currently shares credentials across instances, drops array parameters, rejects empty JSON responses and cannot build reliably from source.

This change creates independent clients, fixes form encoding and URL lookups, preserves caller data, validates timeouts, closes responses on errors and prevents API-key forwarding through redirects. It adds nodes.ips and pulse-check creation.

Packaging now supports Python 3.10+ with requests as the only runtime dependency. README, migration notes and Sphinx documentation explain the public behaviour and limitations.

CI runs regression tests on Python 3.10–3.14, builds and installs distributions, and validates documentation. Successful main updates create version tags and publish the tagged code through PyPI Trusted Publishing (ci.yml, environment pypi). Manual existing-tag retries and explicit tag pushes are supported.

Validation: 29 offline tests passed on Python 3.12, including real loopback HTTP and disposable Git release scenarios; isolated sdist-to-wheel build and Twine checks passed; installed-wheel smoke test passed outside the checkout; Sphinx strict build passed.

Compatibility: Python <3.10 is no longer supported. Duplicate URL selection and invalid data now raise errors. Hosted API mutations and empty-array clearing have not been tested against an authenticated account. Prepared version: 0.1.0.

@decryptus
decryptus merged commit 8f78168 into main Sep 22, 2026
9 checks passed
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