Discover the fascinating journey of transitioning a website to Quart for enhanced performance and async capabilities. Explore the impact of digital attestations on Python package security and the intriguing challenges of managing asynchronous applications. Join in on the discussion around web framework choices like Flask and FastAPI, while learning about automated testing strategies for over a thousand pages. Plus, enjoy a lighthearted joke that brings a smile to the tech talk!
Rewriting Talk Python in Quart involved a multistage process with automation for 1,000 pages.
PyPI's support for digital attestations enhances trust by linking packages to upstream repositories.
Deep dives
Python Web Frameworks: Choosing Between Sync and Async
Choosing between synchronous and asynchronous web frameworks like Pyramid and Quart poses challenges with regards to legacy support, async handling, and technical debt. A transition to asyncio in web development can enhance performance and help solve technical debt concerns. Delving into the differences between web frameworks and async options can aid developers in making informed choices for their projects.
PyPI Enhancements: Digital Attestations and Licensing
PyPI introduces digital attestations, allowing package maintainers to enhance trust in the supply chain security by publishing signed digital attestations. A new API provides consumers and installers with the ability to verify published attestations, driving improved security and trust within the Python packaging ecosystem. Furthermore, the adoption of PEP 639 enables more streamlined license management and attribution within Python projects, simplifying the representation of licenses using SPDX expressions.
Simplifying Concurrency: Insights on Async and Await
Armin Ronacher's article explores the paradigm of handling threads, async, and await in programming languages, emphasizing the importance of making concurrency effortless and intuitive for developers. The comparison between Scratch's seamless multithreading approach and manual async management highlights the potential for abstracting complexity in concurrency models, paving the way for easier and more efficient development practices.
Community Engagement: Python Test Discord and Black Friday Deals
The Python Test community establishes an engaging Discord platform, fostering collaboration and knowledge sharing among Python testers. Additionally, exclusive Black Friday deals on Python testing resources, including courses and books, offer a valuable opportunity for learners and professionals to access premium content at discounted rates, enhancing their Python testing skills and knowledge base.
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
“Attestations provide a verifiable link to an upstream source repository: By signing with the identity of the upstream source repository, such as in the case of an upload of a project built with GitHub Actions, PyPI's support for digital attestations defines a strong and verifiable association between a file on PyPI and the source repository, workflow, and even the commit hash that produced and uploaded the file. Additionally, publishing attestations to a transparency log helps mitigate against both compromise of PyPI and compromise of the projects themselves.”
For maintainers
If using GH Actions and Trusted Publishing
make sure you use pypa/gh-action-pypi-publish, version v1.11.0 or newer
that’s it
If not
“Support for automatic attestation generation and publication from other Trusted Publisher environments is planned.”