pypa / pypa/packaging.python.org

Expand on the "Manual" repository example

Open
#1,951 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component: guides type: enhancement
Dominant language
Python
Stars
1.7k
Forks
1.7k
Avg merge
3d 12h
Merged PRs (30d)
4

Description

Issue Description

https://packaging.python.org/en/latest/guides/hosting-your-own-index/ mentions hosting release artifacts as static files, but it doesn't mention that relying on the default index pages generated by something like http.server may result in lock files that don't contain expected artifact hashes (e.g. uv won't download the artifacts if hashes are not provided by the index server, it just omits the hashes from the affected lockfile)

Adding the hashes to a pre-generated project detail page is intentionally straightforward, so I don't think it would be unreasonable to actually cover how to do that:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Links for local_project</title>
  </head>
  <body>
    <h1>Links for local_project</h1>
<a href="./local_project-1.0-cp311-cp311-win_arm64.whl#sha256=eb8a8cd0d4667994ac218a1ed5faca4a634670f1500bbc9401cd212654efeaae" >local_project-1.0-cp311-cp311-win_arm64.whl</a><br />
</body>
</html>

Extracting the wheel metadata files and including them in the index entries is a little bit more involved, but also potentially worth documenting.

Finally, the mention of dumb_pypi should probably be moved up to this section rather than being left in the main self-hosting table (since it's actually a tool for translating a list of artifacts into a static simple repository API structure rather than being a server in its own right)

Code of Conduct
  • I am aware that participants in this repository must follow the PSF Code of Conduct.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the hosting-your-own-index guide at packaging.python.org, locate the Manual repository example, and review how the current self-hosting table presents dumb_pypi. Document hash-bearing project pages and, if appropriate, metadata links, while moving dumb_pypi into the relevant section; verify the rendered guide and links when done.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.