GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Infra: only create peps.json at /api/peps.json by hugovk · Pull Request #4231 · python/peps

Conversation

@hugovk

@hugovk hugovk commented Jan 25, 2025 •
edited by github-actions Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Re: #2584 (comment)

The API should only be available at https://peps.python.org/api/peps.json and not the root https://peps.python.org/peps.json.

We advertise https://peps.python.org/api/peps.json at https://peps.python.org/#api and https://peps.python.org/api/, and a GitHub code search only shows this one in use and not the incorrect one.


📚 Documentation preview 📚: https://pep-previews--4231.org.readthedocs.build/

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@hugovk
Only create peps.json at /api/peps.json
e0ccb4a
@hugovk hugovk added bug infra Core infrastructure for building and rendering PEPs labels Jan 25, 2025
@hugovk
hugovk requested a review from AA-Turner as a code owner January 25, 2025 11:25
@hugovk hugovk mentioned this pull request Jan 25, 2025
Infra: Use a list of authors in peps.json #4226
Merged
@AA-Turner

AA-Turner commented Jan 26, 2025

Copy link
Copy Markdown
Member

'Fixed a bug by removing the feature', you might say!

I think the converse is true here, peps.json isn't really an 'API', but just a document listing the metadata from the PEP headers in a slightly easier to use format than RFC (2)822 email headers. As such I think it has better symmetry with peps.rss, which is also at the root. It does no harm to keep both, and I think we should resolve the fact that one isn't documented.

A

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@AA-Turner AA-Turner removed the bug label Jan 26, 2025
@hugovk

hugovk commented Jan 26, 2025

Copy link
Copy Markdown
Member Author

'Fixed a bug by removing the feature', you might say!

:)

Well, this bug/feature was added in a large-ish refactoring PR (#3417) which made no mention of the addition in the description, and was merged 10 minutes later with no review.

I only realised this duplicate endpoint existed when #4226 was opened yesterday, and would have objected to the addition at the time, as we had a long discussion at #2584 about whether to move it to the root, and in the end decided not to.

I think the converse is true here, peps.json isn't really an 'API', but just a document listing the metadata from the PEP headers in a slightly easier to use format than RFC (2)822 email headers. As such I think it has better symmetry with peps.rss, which is also at the root.

I see it as a simple read-only JSON API, much like https://endoflife.date/docs/api, https://swapi.dev and https://open-meteo.com.

It does no harm to keep both, and I think we should resolve the fact that one isn't documented.

I think it can cause confusion to have two copies. Are they different? Will one go away? If we change one, will the other also change? If we start versioning it, do we need to add another duplicate to the root? Or if we expose JSON for each individual PEP, do they all go to the root?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ambv
ambv merged commit 84d1499 into python:main Nov 10, 2025
@hugovk
hugovk deleted the rm-root-peps.json branch November 10, 2025 11:11
@merwok merwok mentioned this pull request Nov 10, 2025
Add python-releases.toml #4331
Merged
woodruffw pushed a commit to woodruffw-forks/peps that referenced this pull request Nov 12, 2025
@hugovk @woodruffw
Infra: only create peps.json at /api/peps.json (python#4231)
52dff9c
Only create peps.json at /api/peps.json
ethanfurman pushed a commit to ethanfurman/peps that referenced this pull request Oct 8, 2026
@hugovk @ethanfurman
Infra: only create peps.json at /api/peps.json (python#4231)
aeeb67a
Only create peps.json at /api/peps.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@AA-Turner AA-Turner Awaiting requested review from AA-Turner AA-Turner is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

infra Core infrastructure for building and rendering PEPs

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@hugovk @AA-Turner @ambv
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.