Repository navigation
docs: spell the brand "Onepin" and feature the OnepinClient client - #121
Merged
Merged
Conversation
No-rebuild brand fix (the generated client class rename needs a Fern regen, which is deferred because the current generator also flips list endpoints to auto-pagination — a separate, deliberate change). - Feature `OnepinClient` / `AsyncOnepinClient` (credential-resolving, version-gated hand-rolled client) in the README and examples, using `api_key=` (not `token=`). Dev targeting uses `base_url=` rather than the enum, because OnepinClient resolves base_url from credentials and would ignore `environment=`. - Rename the version-gate response header literal `X-OnePin-Required-Version` -> `X-Onepin-Required-Version` to match the backend; safe because the SDK matches header names case-insensitively (test_version_gate covers both casings). - Fix `scripts/post_fern.sh` so future regens brand the generated README "Onepin". - Sweep stray brand prose in `_version_gate.py` docstrings and `fern/generators.yml` comments. Deliberately unchanged (require the deferred regen): the generated `OnePinClient`/ `AsyncOnePinClient` classes, `OnePinClientEnvironment` enum, `OnePinUpgradeRequiredError`, and the CLI's internal exception classes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
|
@claude review |
Contributor
Author
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
podonos-eunseo
approved these changes
Sep 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brand fix: spell the product "Onepin" (not "OnePin") in the SDK's docs and examples, and feature the correctly-named
OnepinClientas the client users import. This is the no-rebuild slice of the rename — the generated client class rename is deferred (see below).What changed
OnepinClient/AsyncOnepinClient(the credential-resolving, version-gated hand-rolled client) withapi_key=instead of the rawOnePinClient(token=...). Dev targeting usesbase_url=rather than the environment enum, becauseOnepinClientresolvesbase_urlfrom credentials and would silently ignoreenvironment=.X-OnePin-Required-Version→X-Onepin-Required-Versionto match the backend. Safe: the SDK matches header names case-insensitively (_version_gate.required_version_fromlowercases keys;test_version_gateasserts both casings).scripts/post_fern.shnow rebrands the generated README to "Onepin" (was "OnePin"), so the next regen is brand-correct._version_gate.pydocstrings andfern/generators.ymlcomments.Deliberately NOT changed (needs the deferred regen)
The generated
OnePinClient/AsyncOnePinClientclasses, theOnePinClientEnvironmentenum,OnePinUpgradeRequiredError, and the CLI's internal exception classes keep their current names. Renaming the generated client requires a Fern regen, and the current generator (latest, unpinned) also flips list endpoints to auto-pagination — an unrelated behavior change. That regen is a separate, deliberate piece of work (pin the generator + handle pagination), tracked for later.OnePinClient(token=...)still works, so no existing code breaks.Testing
make test— full CLI/unit suite passes.make lint(ruff check + format) andmake typecheck(mypy) clean.python -c "from onepin import OnepinClient, AsyncOnepinClient"imports OK.🤖 Generated with Claude Code