Release Date: May 3, 2021
This is the tenth and final regular maintenance release of Python 3.8
Note: The release you're looking at is Python 3.8.10, a bugfix release for the legacy 3.8 series. Python 3.9 is now the latest feature release series of Python 3. Get the latest release of 3.9.x here.
Information on tools for unpacking archive files provided on python.org is available. Tip: even if you download a ready-made binary for your platform, it makes sense to also download the source. This lets you browse the standard library (the subdirectory Lib ) and the standard collections of demos ( Demo ) and tools ( Tools ) that come with it. Owing to its user-friendliness, Python has been used to create some of the most popular websites in the world such as: Google. One of the most popular search engines in the world has been built using Python. Python allows Google to switch the traffic and figure out the requirements of search. Welcome to the LearnPython.org interactive Python tutorial. Whether you are an experienced programmer or not, this website is intended for everyone who wishes to learn the Python programming language. You are welcome to join our group on Facebook for questions, discussions and updates.
According to the release calendar specified in PEP 569, Python 3.8.10 is the final regular maintenance release. Starting now, the 3.8 branch will only accept security fixes and releases of those will be made in source-only form until October 2024.
Compared to the 3.7 series, this last regular bugfix release is relatively dormant at 92 commits since 3.8.9. Version 3.7.8, the final regular bugfix release of Python 3.7, included 187 commits. But there's a bunch of important updates here regardless, the biggest being Big Sur and Apple Silicon build support. This work would not have been possible without the effort of Ronald Oussoren, Ned Deily, Maxime Bélanger, and Lawrence D’Anna from Apple. Thank you!
Take a look at the change log for details.
Major new features of the 3.8 series, compared to 3.7
- PEP 572, Assignment expressions
- PEP 570, Positional-only arguments
- PEP 587, Python Initialization Configuration (improved embedding)
- PEP 590, Vectorcall: a fast calling protocol for CPython
- PEP 578, Runtime audit hooks
- PEP 574, Pickle protocol 5 with out-of-band data
- Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
- Parallel filesystem cache for compiled bytecode
- Debug builds share ABI as release builds
- f-strings support a handy
=specifier for debugging
continueis now legal in
- on Windows, the default
asyncioevent loop is now
- on macOS, the spawn start method is now used by default in
multiprocessingcan now use shared memory segments to avoid pickling costs between processes
typed_astis merged back to CPython
LOAD_GLOBALis now 40% faster
picklenow uses Protocol 4 by default, improving performance
There are many other interesting changes, please consult the 'What's New' page in the documentation for a full list.
- PEP 569, 3.8 Release Schedule
- Report bugs at https://bugs.python.org.
- Help fund Python and its community.
- The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the 'x64' architecture, and formerly known as both 'EM64T' and 'x86-64'.)
- There are now 'web-based' installers for Windows platforms; the installer will download the needed software components at installation time.
- There are redistributable zip files containing the Windows builds, making it easy to redistribute Python as part of another software package. Please see the documentation regarding Embedded Distribution for more information.
- Python 3.8.10 ships two installers: the default 64-bit-only that works on macOS 10.9 (Mavericks) and later systems, and an experimental 'universal2' installer for macOS 11 (Big Sur) and later
- Please read the 'Important Information' displayed during installation for information about SSL/TLS certificate validation and the running the 'Install Certificates.command'.
And Now For Something Completely Different
Mr. Praline (John Cleese): 'ELLO POLLY!!! Testing! Testing! This is your nine o'clock alarm call!
(Takes parrot out of the cage , throws it up in the air and watches it plummet to the floor.)
Mr. Praline: Now that's what I call a dead parrot.
Owner (Michael Palin): No, no... No, he's stunned!
Mr. Praline: STUNNED?!
Owner: Yeah! You stunned him, just as he was wakin' up! Norwegian Blues stun easily, major.
Mr. Praline: Um... now look, mate. I've definitely 'ad enough of this. That parrot is definitely deceased, and when I purchased it not 'alf an hour ago, you assured me that its total lack of movement was due to it bein' tired and shagged out following a prolonged squawk.
Owner: Well, he's... he's, ah... probably pining for the fjords.
|Version||Operating System||Description||MD5 Sum||File Size||GPG|
|Gzipped source tarball||Source release||83d71c304acab6c678e86e239b42fa7e||24720640||SIG|
|XZ compressed source tarball||Source release||d9eee4b20155553830a2025e4dcaa7b3||18433456||SIG|
|macOS 64-bit Intel installer||Mac OS X||for macOS 10.9 and later||690ddb1be403a7efb202e93f3a994a49||29896827||SIG|
|macOS 64-bit universal2 installer||Mac OS X||experimental, for macOS 11 Big Sur and later; recommended on Apple Silicon||ae8a1ae082074b260381c058d0336d05||37300939||SIG|
|Windows embeddable package (32-bit)||Windows||659adf421e90fba0f56a9631f79e70fb||7348969||SIG|
|Windows embeddable package (64-bit)||Windows||3acb1d7d9bde5a79f840167b166bb633||8211403||SIG|
|Windows help file||Windows||a06af1ff933a13f6901a75e59247cf95||8597086||SIG|
|Windows installer (32-bit)||Windows||b355cfc84b681ace8908ae50908e8761||27204536||SIG|
|Windows installer (64-bit)||Windows||Recommended||62cf1a12a5276b0259e8761d4cf4fe42||28296784||SIG|
Python Website Scraping
Web development is the umbrella term for conceptualizing, creating,deploying and operating web applications andapplication programming interfacesfor the Web.
Why is web development important?
The Web has grown a mindboggling amount in the number of sites, users andimplementation capabilities since thefirst website went livein 1989. Web development is the conceptthat encompasses all the activities involved with websites and webapplications.
How does Python fit into web development?
Python can be used to build server-side web applications. While aweb framework is not required to build web apps,it's rare that developers would not use existing open source libraries tospeed up their progress in getting their application working.
Web development resources
How the Internet worksis a must-read to get a quick overview of all the pieces that go intoa network connection from one machine to another. The example explains howan email is sent and the story is just as useful for learning about otherconnections such as downloading a webpage.
If you want to be a web developer it's important to know the foundationaltools used to build websites and web applications. It is also important tounderstand that the core concepts such asHTTP, URLs and HTML were all thereat the beginning and then were expanded with new specifications over time.This article on theHistory of the Websuccinctly explains the origins of the web starting from Tim Berners-Lee'sorigin vision and release at CERN.
Web Architecture 101is a great high-level overview of the technologies that run the modernweb, such as DNS, load balancers, web application servers (for Pythonthat equates to WSGI servers),data bases, task queues,caching and several other critical concepts.
The Evolution of the Web visualizeshow web browsers and related technologies have changed over time as well asthe overall growth of the Internet in the amount of data transferred. Notethat the visualization unfortunately stops around the beginning of 2013 butit's a good way to explore what happened in the first 24 years.
What happens when? is anincredibly detailed answer to the questions 'What happens when youtype google.com into your browser's address box and press enter?' thatseems straightforward on the surface until you really dig in.
The history of the URLexplains how the growth of ARPANET to hundreds of nodes eventually led tothe creation of the URL. This is a great read that provides historicalcontext for why things are the way they are with the web.
Web app checklist presentsgood practices that developers building and deployingweb applications should follow. Don't worry about having every singleone of these recommendations implemented before getting your sitelive, but it is worthwhile to review the list to make sure there is notsomething obvious you can handle in a few minutes that will improveyour site's security, performance or usability.
The Browser Hacker's Guide to Instantly Loading Everythingis a spectacular technical talk given by Addy Osmani at JSConf EU 2017that has great bits of developer knowledge for both beginner andexperienced web developers alike.
Build a web application from scratchand its follow on posts forrequest handlingmiddleware exploresthe fundamentals of web development. Learning these foundational conceptsis critical for a web developer even though you should still plan to use anestablished web framework such asDjango or Flask to build real-worldapplications. Theopen source codefor these posts is available on GitHub.
While not Python-specific, Mozilla put together aLearning the Web tutorialfor beginners and intermediate web users who want to build websites.It's worth a look for general web development learning.
Web development involves HTTP communication between the server, hostinga website or web application, and the client, a web browser. Knowinghow web browsers works is important as a developer, so take a look atthis article onwhat's in a web browser.
Ping at the speed of lightdives into the computer networking weeds with how fast packets travel throughthe internet plumbing. The author created aPython script that scrapes network speedsfrom disparate locations to see what the network speed is in fiber opticcables as a percentage of the speed of light.
The critical path: optimizing load times with the Chrome DevToolsprovides a well-written explanation about using Chrome's developerfeatures to improve the performance of your websites and web applications.
Three takeaways for web developers after two weeks of painfully slow Internetis a must-read for every web developer. Not everyone has fast Internetservice, whether because they are in a remote part of the world or they'rejust in a subway tunnel. Optimizing sites so they work in those situationsis important for keeping your users happy.
The History of the URL: Path, Fragment, Query, and Authgives a comprenhensive historical perspective on the fundamentalway to link to resources on the web. This post should be required readingfor web developers.
How to understand performance testsis an important topic because many websites are slow and bloated.Learning about improving the performance of your site is one ofthe best ways to become a better web developer. Another great article onwebsite performance isThe average web page is 3MB. How much should we care?.The visuals alone tell a compelling story about how large webpagesizes have grown in recent years.
Let's get started. What do you want to learn right now?
I want to learn how to code a Python web application using a framework.
I've built a Python web app, now how do I deploy it?