Skip to content

fix(docs): close the async code fence, and give each tag a GitHub release - #43

Merged
gierschv merged 1 commit into
masterfrom
fix/readme-fence-2-0-1
Sep 10, 2026
Merged

fix(docs): close the async code fence, and give each tag a GitHub release#43
gierschv merged 1 commit into
masterfrom
fix/readme-fence-2-0-1

Conversation

@gierschv

Copy link
Copy Markdown
Member

Ships as 2.0.1.

The README broke on PyPI

Two escapes were written as the literal characters \n rather than newlines, so the asynchronous usage fence neither opened nor closed:

```python\nfrom flat_api import AsyncFlatClient
...
# every operation is awaitable\n```

Everything after it, supported versions, documentation links, provenance verification and the maintenance notes, rendered inside the code block. Visible at https://pypi.org/project/flat-api/2.0.0/

Checked the rest rather than just this one: all twelve fences pair up, none carry an escape, and no other markdown file here or in the other three clients has the same problem.

Tags now get a GitHub release

tag-on-merge.yml already creates the tag automatically on merge, but a bare tag tells a reader nothing and notifies nobody watching the repository. Publishing now creates a release carrying that version's CHANGELOG.md section, falling back to a pointer at the file when a version has no section.

Needed contents: write, which the workflow did not have.

Verified

  • uv build emits flat_api-2.0.1
  • the changelog extraction returns the 2.0.1 section
  • readme_renderer parses the README, which is what PyPI uses

…ease

Two escapes in the README were written as the literal characters \n rather than
newlines, so the asynchronous usage fence neither opened nor closed. On PyPI every
section after it, supported versions, documentation links, provenance verification and
the maintenance notes, rendered inside the code block. Visible at
https://pypi.org/project/flat-api/2.0.0/

Checked the rest: all twelve fences in the README now pair up, none carry an escape, and
no other markdown file in this repository or the other three clients has the same
problem.

Publishing also now creates a GitHub release for the tag rather than leaving it bare. A
tag on its own tells a reader nothing and notifies nobody; a release carries the
version's changelog section and reaches anyone watching this repository. The notes are
extracted from CHANGELOG.md by heading, falling back to a pointer at the file when a
version has no section. This needs contents: write, which the workflow did not have.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 10, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-10T15:51:24.903323Z addf5bf PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@gierschv
gierschv merged commit 40bbbeb into master Sep 10, 2026
5 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: addf5bf970

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

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".

Comment thread VERSION
@@ -1 +1 @@
2.0.0
2.0.1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep the runtime version synchronized with VERSION

Publishing this tree as 2.0.1 still installs flat_api/__init__.py with __version__ = "2.0.0" at lines 13 and 65; flat_api.api_client also derives its user-agent version from that value. Consequently every 2.0.1 installation reports itself as 2.0.0 despite the wheel metadata and tag saying 2.0.1, so the runtime version sources must be updated alongside VERSION.

Useful? React with 👍 / 👎.


# A bare tag tells a reader nothing. This gives the version a page carrying its changelog
# section, and it is what a watcher of this repository is notified about.
- name: Publish the GitHub release

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Make the post-upload release step retryable

When the PyPI upload succeeds but this new GitHub release step fails—for example because of a transient GitHub API error—rerunning the failed job executes the PyPI action again before reaching this step. PyPI rejects the already-published files, as the workflow itself notes above the upload, so the rerun cannot create the missing release and the tag remains bare; put release creation in a separate dependent job or otherwise make the upload path idempotent.

Useful? React with 👍 / 👎.

@gierschv
gierschv deleted the fix/readme-fence-2-0-1 branch September 11, 2026 12:32
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