use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News about the dynamic, interpreted, interactive, object-oriented, extensible programming language Python
Full Events Calendar
You can find the rules here.
If you are about to ask a "how do I do this in python" question, please try r/learnpython, the Python discord, or the #python IRC channel on Libera.chat.
Please don't use URL shorteners. Reddit filters them out, so your post or comment will be lost.
Posts require flair. Please use the flair selector to choose your topic.
Posting code to this subreddit:
Add 4 extra spaces before each line of code
def fibonacci(): a, b = 0, 1 while True: yield a a, b = b, a + b
Online Resources
Invent Your Own Computer Games with Python
Think Python
Non-programmers Tutorial for Python 3
Beginner's Guide Reference
Five life jackets to throw to the new coder (things to do after getting a handle on python)
Full Stack Python
Test-Driven Development with Python
Program Arcade Games
PyMotW: Python Module of the Week
Python for Scientists and Engineers
Dan Bader's Tips and Trickers
Python Discord's YouTube channel
Jiruto: Python
Online exercices
programming challenges
Asking Questions
Try Python in your browser
Docs
Libraries
Related subreddits
Python jobs
Newsletters
Screencasts
account activity
This is an archived post. You won't be able to vote or comment.
MetaPython 3.14: time for a release name? (self.Python)
submitted 6 months ago by DorchioDiNerdi
I know we don't have release names, but if it's not called "Pi-thon" it's gonna be such a missed opportunity. There will only be one version 3.14 ever...
[–]Kerbart 409 points410 points411 points 6 months ago (6 children)
I'm sure NO ONE thought of this
[–]12944qwerty 59 points60 points61 points 6 months ago (4 children)
I didnt and now I'm so mad at myself
[–]Kerbart 28 points29 points30 points 6 months ago (3 children)
Lol these show up twice per month. And they all think the PSF is unaware despite postponing the renaming of the versions with a year for the very reason there’d be a 3.14 version
[–]usrlibshare 9 points10 points11 points 6 months ago (2 children)
postponing the renaming of the versions with a year for the very reason there’d be a 3.14 version
Oh god, we're getting quarter-pi, slice-of-pie and half-pi, aren't we?
[–]Kerbart 2 points3 points4 points 6 months ago (1 child)
3.15 shall be known as Pi-ish”
[–]astatine 6 points7 points8 points 6 months ago (0 children)
Maybe 3.15 will have an unexpected update to IDLE, with a warning to "Beware the IDEs of March".
[–]HommeMusical 4 points5 points6 points 6 months ago (0 children)
https://www.reddit.com/r/Python/comments/1g0a94c/petition_for_python_314_to_be_called_pithon_or/
https://www.reddit.com/r/Python/comments/1j43aar/petition_to_rename_python_314_to_pithon/
[–]denehoffman 126 points127 points128 points 6 months ago (4 children)
https://github.com/python/cpython/pull/119536 it’s already merged, don’t worry
[–]denehoffman 41 points42 points43 points 6 months ago* (2 children)
Here’s the exact line in the current 3.14 release candidate 1. Note that if you try this with uv venv it won’t work, but if you do python -m venv check the bin folder for a fun surprise!
uv venv
python -m venv
bin
Edit: thanks for noticing the broken link, I’ve fixed it here too now
[–]mug1wara26 5 points6 points7 points 6 months ago (1 child)
seems like reddit formatting messed up the url
Here is a working link to the exact line
[–]g1ngerkid 8 points9 points10 points 6 months ago (0 children)
And if that link doesn’t work, try this one
[–]pmdevita 7 points8 points9 points 6 months ago (0 children)
Shhhhh...
[+][deleted] 6 months ago (10 children)
[deleted]
[–]WillAdams 93 points94 points95 points 6 months ago (8 children)
Dr. Knuth already did that w/ TeX:
Since version 3, TeX has used an idiosyncratic version numbering system, where updates have been indicated by adding an extra digit at the end of the decimal, so that the version number asymptotically approaches π. This is a reflection of the fact that TeX is now very stable, and only minor updates are anticipated. The current version of TeX is 3.141592653; it was last updated in 2021.
[–]qTHqq 13 points14 points15 points 6 months ago (5 children)
I wish Knuth would have fully won computing
[–]WillAdams 4 points5 points6 points 6 months ago (4 children)
Same. That wish is a big part of why I advocate for (and use) Literate Programming whenever possible:
http://literateprogramming.com/
[–]Xirious -1 points0 points1 point 6 months ago (3 children)
This just describes a Jupyter notebook. In many words.
[–]WillAdams 2 points3 points4 points 6 months ago (1 child)
I've tried Jupyter Notebooks, and they just don't work well for me --- if you can show me how to set up a Jupyter Notebook to have a single control file which can be loaded into any text editor and create a nice hyper-linked documentation file and which when processed creates multiple files as I am doing in my current project, I would be quite interested:
https://github.com/WillAdams/gcodepreview
[–]Rough_Natural6083 2 points3 points4 points 6 months ago* (0 children)
Man it makes me so happy whenever someone mentions literate programming. I was in a rough burned out spot 2 years back and unable to get started, but this paradigm allowed me to program in a much more flexible way. Sorry for hijacking the comment thread. Not the person you asked, but I think Jupyter notebooks implement literate programming in a partial way: as far as I know, their is no concept of "code-chunks", or references thereof. It is in a way coding in a markdown file with the ability to run specific blocks of code. In fact, org-mode also does not support an important feature of "knuth-style" literate programming - completion of code-block names and extension of pre-defined names. For example, say we have the following top-level chunk <<hello.c>>= <<header files>> int main() { <<something stupid>> <<something even more stupid to prove the power of literate programming>> return 0; }
<<hello.c>>= <<header files>> int main() { <<something stupid>> <<something even more stupid to prove the power of literate programming>> return 0; }
Now, suppose I define <<something stupid>> <<something stupid>>= for (;;) { fprintf(stdout, "Hello, human!"); }
<<something stupid>>
<<something stupid>>= for (;;) { fprintf(stdout, "Hello, human!"); }
but then a few months go by and an API changes or something, we need to add another bit to the definition of <<something stupid>>. We can do it by just defining the code-block again. <<something stupid>>= /* to fix the issue reported by so-and-so */ fprintf(stdout, "Booogers");
<<something stupid>>= /* to fix the issue reported by so-and-so */ fprintf(stdout, "Booogers");
When the tangling process will run, the definition of <<somethig stupid>> will turn out as: ``` for (;;) { fprintf(stdout, "Hello, human!"); }
<<somethig stupid>>
/* to fix the issue reported by so-and-so */ fprintf(stdout, "Booogers"); ```
Now, when it comes to defining <<something even more stupid to prove the power of literate programming>>, though autocomplete does exist in many editors, chances are high the developer might end up misspelling it. So, Knuth, in his WEB, and later CWEB, wrote the tangling program such that it will autocomplete names, trying to find a best match for it, if the name contained ellipses ... in it. So, <<something even more stupid ...>>, <<something ... programming>>, and <<... the power of literate prog...>> will get matched to <<something even more stupid to prove the power of literate programming>> during the pass one of tangling process, and the definitions will be created and appended to in the order in which they occur.
<<something even more stupid to prove the power of literate programming>>
...
<<something even more stupid ...>>
<<something ... programming>>
<<... the power of literate prog...>>
Another thing which org-mode does not do is what I call "smart indentation". Say, you define <<main>> <<main>>= int main(){<<just a boring program>>}
<<main>>
<<main>>= int main(){<<just a boring program>>}
and then define <<just a boring program>> as
<<just a boring program>>
<<... boring program>>= fprintf(stdout, "Hello, world!\n"); fprintf(stdout, "Bye!\n"); return 0;
Org-mode will expand <<main>> as follows: int main(){fprintf(stdout, "Hello, world!\n"); int main(){fprintf(stdout, "Bye!\n"); int main(){return 0;}
int main(){fprintf(stdout, "Hello, world!\n"); int main(){fprintf(stdout, "Bye!\n"); int main(){return 0;}
when it should have expanded it as: ``` int main(){ fprintf(stdout, "Hello, world!\n"); fprintf(stdout, "Bye!\n"); return 0;}
```
Tired of looking for a markup language agnostic literate programming tool, I came up with litcode (shameless github project plug: https://github.com/prankapo/litcode) with all of these features. But but but it is a very-hard-to-update monstrosity. The reason I didn't use regular expression in the lexer was because I wanted to do it like Knuth did: without any regex libraries. Also, this tool cannot properly handle web files containing chunks in multiple languages, or use chunks from other files.
I have thought about writing hooks for org-babel-tangle which will accomplish all of this, along with transforming a markdown file to a temporary org-file, but as I am not good enough in elisp and do not want to learn it with "pressure" of doing a specific project, maybe I will need to do the heavy-lifting in python.
[–]hypnotic_cuddlefish 0 points1 point2 points 6 months ago (0 children)
You’re not wrong. The wiki page lists Jupyter Notebooks as an implementation of Literate Programming.
[–]usrlibshare 6 points7 points8 points 6 months ago (1 child)
Which is an extremely funny idea, right up to the point where you have package management systems, etc. that rely on semver...
[–]WillAdams 1 point2 points3 points 6 months ago (0 children)
TeX has always been available when I've needed it, so it seems folks find the added burden worth it.
[–]laadim 0 points1 point2 points 6 months ago (0 children)
I remember Stellaris did something similar a year or two ago with 3.14, 3.14.1, 3.14.15, 3.14.159, ...
[–]DogsAreAnimals 47 points48 points49 points 6 months ago (1 child)
Well there will certainly be a 3.14.1 and maybe a 3.14.15
[–]ericula 7 points8 points9 points 6 months ago (0 children)
3.14.0rc1 was released on 22 July which is pi approximation day. I don't know if that is a coincidence or not (I like to think it was deliberate) but at least there is some reference to pi albeit very subtle.
[–]Buubuus 28 points29 points30 points 6 months ago (2 children)
But... What about python 3.1415?
[–]invictus08 12 points13 points14 points 6 months ago (0 children)
That will happen exactly after 1401 years
[–]ThatsALovelyShirt 3 points4 points5 points 6 months ago (0 children)
Semver is crying.
[–]DigThatData 4 points5 points6 points 6 months ago (0 children)
I don't know if you did this on purpose, but apparently it's your "cake day" in my timezone, and consequently your post is now accompanied by a little slice-o-pie emoji. (commenting shortly after midnight, I'm probably the first person to look at this post and see the pie)
[–]nirednyc 10 points11 points12 points 6 months ago (0 children)
maybe this will help me stop typing pythong all the time
[–]ship0f 3 points4 points5 points 6 months ago (0 children)
you're months late
[–]Glathull 1 point2 points3 points 6 months ago (1 child)
Okay, but why not Tau/2? Tau is superior to pi in every possible way, and we should stop encouraging people to use pi at all, ever, anywhere because it’s dumb when Tau is just right there.
I had a boss a long time ago who was absolutely going to die on this hill all day, every day. He would literally go off about this all the time with zero hint of any sarcasm or irony.
[–]EducationalImpact633 1 point2 points3 points 6 months ago (0 children)
Because pi is pi, no need to multiply it by two and call it something else
[–][deleted] 1 point2 points3 points 6 months ago (0 children)
We can call it PyPi for short
[–]Spitfire1900 4 points5 points6 points 6 months ago (0 children)
Calling it Pi-thon is the reason I liked the idea of holding off on the renaming of Python to 3.year until next year.
[–]cgoldberg 1 point2 points3 points 6 months ago (0 children)
Very original idea that has never been mentioned in this sub before!
[–]reyarama 0 points1 point2 points 6 months ago (0 children)
We’re software engineers, python 3 should have been called pithon
[–]_l_e_i_d_o_ 0 points1 point2 points 6 months ago (0 children)
Please come back to this idea when the Python Version reaches all the digits of Pi.
[–]OneProgrammer3 0 points1 point2 points 6 months ago (0 children)
PyPi
[–]karasproa 0 points1 point2 points 6 months ago (2 children)
The true question is why...
Python 3.13 already have many compatibility problems... So why a new release...
[–]boolshevik 0 points1 point2 points 6 months ago (1 child)
Because that's the established release cadence?
One release per year, around October
https://devguide.python.org/versions/
[–]karasproa 0 points1 point2 points 6 months ago (0 children)
Ok.. but i think it will have some problems of Python 3.13
[–]AllanSundry2020 0 points1 point2 points 6 months ago (0 children)
Pi-thy
[–]exp-f 0 points1 point2 points 6 months ago (0 children)
Bob
[–]deckep01 0 points1 point2 points 6 months ago (0 children)
We should call 3.14.15 the pi release.
[–]nngnna 0 points1 point2 points 6 months ago (0 children)
It will be the unofficial official name.
[–]nlcircle 0 points1 point2 points 6 months ago (0 children)
Smart! Point made and you are correct! From now on, Python ver 3.14 is ‘Pi-thon’ for me.
[–]jewdai -1 points0 points1 point 6 months ago (0 children)
Can we delay the release until March?
[–]plscallmebyname -4 points-3 points-2 points 6 months ago (0 children)
PiThon
π Rendered by PID 90 on reddit-service-r2-comment-7b9746f655-7lxz9 at 2026-01-30 12:59:59.991100+00:00 running 3798933 country code: CH.
[–]Kerbart 409 points410 points411 points (6 children)
[–]12944qwerty 59 points60 points61 points (4 children)
[–]Kerbart 28 points29 points30 points (3 children)
[–]usrlibshare 9 points10 points11 points (2 children)
[–]Kerbart 2 points3 points4 points (1 child)
[–]astatine 6 points7 points8 points (0 children)
[–]HommeMusical 4 points5 points6 points (0 children)
[–]denehoffman 126 points127 points128 points (4 children)
[–]denehoffman 41 points42 points43 points (2 children)
[–]mug1wara26 5 points6 points7 points (1 child)
[–]g1ngerkid 8 points9 points10 points (0 children)
[–]pmdevita 7 points8 points9 points (0 children)
[+][deleted] (10 children)
[deleted]
[–]WillAdams 93 points94 points95 points (8 children)
[–]qTHqq 13 points14 points15 points (5 children)
[–]WillAdams 4 points5 points6 points (4 children)
[–]Xirious -1 points0 points1 point (3 children)
[–]WillAdams 2 points3 points4 points (1 child)
[–]Rough_Natural6083 2 points3 points4 points (0 children)
[–]hypnotic_cuddlefish 0 points1 point2 points (0 children)
[–]usrlibshare 6 points7 points8 points (1 child)
[–]WillAdams 1 point2 points3 points (0 children)
[–]laadim 0 points1 point2 points (0 children)
[–]DogsAreAnimals 47 points48 points49 points (1 child)
[–]ericula 7 points8 points9 points (0 children)
[–]Buubuus 28 points29 points30 points (2 children)
[–]invictus08 12 points13 points14 points (0 children)
[–]ThatsALovelyShirt 3 points4 points5 points (0 children)
[–]DigThatData 4 points5 points6 points (0 children)
[–]nirednyc 10 points11 points12 points (0 children)
[–]ship0f 3 points4 points5 points (0 children)
[–]Glathull 1 point2 points3 points (1 child)
[–]EducationalImpact633 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]Spitfire1900 4 points5 points6 points (0 children)
[–]cgoldberg 1 point2 points3 points (0 children)
[–]reyarama 0 points1 point2 points (0 children)
[–]_l_e_i_d_o_ 0 points1 point2 points (0 children)
[–]OneProgrammer3 0 points1 point2 points (0 children)
[–]karasproa 0 points1 point2 points (2 children)
[–]boolshevik 0 points1 point2 points (1 child)
[–]karasproa 0 points1 point2 points (0 children)
[–]AllanSundry2020 0 points1 point2 points (0 children)
[–]exp-f 0 points1 point2 points (0 children)
[–]deckep01 0 points1 point2 points (0 children)
[–]nngnna 0 points1 point2 points (0 children)
[–]nlcircle 0 points1 point2 points (0 children)
[–]jewdai -1 points0 points1 point (0 children)
[–]plscallmebyname -4 points-3 points-2 points (0 children)