Skip to content

docs: add long description and metadata for the PyPI page - #27

Merged
d-v-b merged 1 commit into
mainfrom
docs/pypi-description
Aug 12, 2026
Merged

docs: add long description and metadata for the PyPI page#27
d-v-b merged 1 commit into
mainfrom
docs/pypi-description

Conversation

@d-v-b

@d-v-b d-v-b commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

🤖 AI text below 🤖

Closes #26.

Problem

https://pypi.org/project/cast-value-rs/ shows no information about the package. python/pyproject.toml set description (the one-line summary shown under the package name) but no readme, so PyPI had no long description to render as the page body.

Change

  • Add python/README.md as the long description: what the codec does, why the implementation is in Rust, installation, the four usage patterns from the docs (basic cast, dtype spellings, scalar maps, pre-allocated output), a supported types/modes table, and links to the docs site and licenses.
  • Set readme = "README.md" in python/pyproject.toml.
  • Add keywords, a [project.urls] table (Homepage / Documentation / Repository / Issues) to populate the PyPI sidebar, and license, audience, topic, and Typing :: Typed classifiers.

The README lives under python/ rather than referencing the repo-root one, so it ships in both the sdist and the wheels — the CD workflow runs maturin with working-directory: python, and a ../README.md path would not survive packaging.

Verification

Built both artifacts locally with maturin and confirmed the metadata lands:

  • sdist and wheel METADATA both carry Description-Content-Type: text/markdown, the full README body, Keywords, all four Project-URL entries, and the new classifiers.
  • twine check passes on both (this is the check that catches a long description PyPI would refuse to render).
  • README.md is present in the sdist.

Every claim in the README was executed against the built wheel rather than trusted from the existing docs: all four code snippets produce the exact outputs shown, all 11 dtype names and 5 rounding modes are accepted, clamp/wrap work, and omitting out_of_range_mode raises as documented.

Note that the PyPI page will only update on the next release.

The PyPI project page had no body: pyproject.toml set `description` (the
one-line summary) but no `readme`, so nothing rendered below the fold.

Add python/README.md as the long description, plus keywords, project URLs
for the sidebar, and license/audience/topic/typing classifiers. The README
lives under python/ rather than pointing at the repo root so it ships in
both the sdist and the wheels, which maturin builds from that directory.

Closes #26

Assisted-by: ClaudeCode:claude-opus-5
@github-actions github-actions Bot added the docs label Aug 12, 2026
@codspeed-hq

codspeed-hq Bot commented Aug 12, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 51 untouched benchmarks
⏩ 21 skipped benchmarks1


Comparing docs/pypi-description (22a7af8) with main (7f46619)

Open in CodSpeed

Footnotes

  1. 21 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@d-v-b
d-v-b merged commit b27451d into main Aug 12, 2026
9 checks passed
@d-v-b
d-v-b deleted the docs/pypi-description branch August 12, 2026 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add description for Python packaging

1 participant