Day 43 — Mysterious PEPs and where to find them07 October 2020 · recurse-center Tweet
I've been reading (and forgetting about) a lot of PEPs lately. When you read a PEP, it mentions how "this" thing was defined in "this" PEP, and how "that" thing was defined in "this other" PEP. So I thought that it would be cool to look at all the PEPs a PEP mentions in it.
Today I took a break from things that I've been working on for some time, and looked into visualizing PEP references on a graph using
d3! You can check it out at python-peps-graph.glitch.me. You can scroll to zoom into the graph, click and drag to move around, and then click on a PEP to see which other PEPs it refers to:
I want to add two more features (maybe next week):
- A search box
- A node tooltip which shows the authors and a link to the PEP
There are so many other types of visualizations that can be built around PEPs! For example, a timeline-type visualization like python-release-cycle.glitch.me that shows when a PEP was first created and when it was accepted / deferred / etc.
I also discovered some PEPs that mention some non-existent PEPs (and some
[bug]s in my own code which extracts this data!):
PEP 0which is an index of PEPs. It does not exist as a
.rstfile (using which I generate the data), but created on the fly when HTML is generated.
PEP 9876 -- Let's Hope We Never Get Here!
PEP 12is a sample PEP that you can use as a template to submit a new PEP, it asks you to change the header to
PEP 9999till you have a PEP number assignment.
PEP 30XZ, which is the subject of an old email from 2007.
PEP440: >1.7 vs >=1.7!
I've fixed those bugs by checking for some of these non-existent PEPs for now!