PEP 742: Narrowing types with TypeNarrower
This PEP proposes a new special form, TypeNarrower, to allow annotating functions that can be used to narrow the type of a value, similar to the builtin isinstance(). Unlike the existing typing.TypeGuard special form, TypeNarrower can narrow the type in both the if and else branches of a conditional. ⌘ Read more
Python Hash Sets Explained & Demonstrated - Computerphile ⌘ Read more
Golang 有必要實現 async-await 嗎?
前言 今天在某站上面看到一個大佬解釋 Golang 中的錯誤處理 err !=nil 時,直接用 Javascript 的 async/await 來解釋。async/await 語法糖在 C#, Python 和 Javascript 中是很常見的異步協程寫法,而在 Golang 中則是使用 goroutine 機制。這時習慣或者喜歡 async/await 語法糖的人可能就會有疑問:Gola ⌘ Read more
PEP 741: Python Configuration C API
Add a C API to the limited C API to configure the Python preinitialization and initialization, and to get the current configuration. It can be used with the stable ABI. ⌘ Read more
Python Regular Expressions - Computerphile ⌘ Read more
PEP 738: Adding Android as a supported platform
This PEP proposes adding Android as a supported platform in CPython. The initial goal is for Android to achieve Tier 3 support in Python 3.13. ⌘ Read more
介紹 Agency: 使 AI 與 Go 語言無縫對接
在當今應用開發領域,類似 OpenAI API 等生成式 AI 技術的蓬勃發展正在徹底改變着應用開發的格局。Python 和 JavaScript 等語言已經擁有豐富的資源來支持這些技術,其中 LangChain 就是一個顯著的例子。然而,Go 語言開發者面臨的選擇卻相對有限。LangChainGo,作爲 LangChain 的 Go 語言版本,一直在努力與 Go 的編程理念保持一致,而 Lang ⌘ Read more
This day one advantage of code was pretty neat looking.
https://twitter.com/gereleth/status/1730495736070938786?s=09
Code here: https://github.com/gereleth/aoc_python/blob/main/src/year2023/day01vis.py
PEP 737: Unify type name formatting
Add new convenient APIs to format type names the same way in Python and in C. No longer format type names differently depending on how types are implemented. Also, put an end to truncating type names in C. The new C API is compatible with the limited C API. ⌘ Read more
PEP 734: Multiple Interpreters in the Stdlib
This PEP proposes to add a new module, interpreters, to support inspecting, creating, and running code in multiple interpreters in the current process. This includes Interpreter objects that represent the underlying interpreters. The module will also provide a basic Queue class for communication between interpreters. Finally, we will add a new concurrent.futures.InterpreterPoolExecutor based on the interpreters module. ⌘ Read more
https://he-arc.github.io/livre-python/index.html prez des modules standards et des plus populaires
PEP 8105: 2024 Term Steering Council election
This document describes the schedule and other details of the November 2023 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2024 term (i.e. Python 3.13). ⌘ Read more
PEP 732: The Python Documentation Editorial Board
This PEP: ⌘ Read more
PEP 730: Adding iOS as a supported platform
This PEP proposes adding iOS as a supported platform in CPython. The initial goal is to achieve Tier 3 support for Python 3.13. This PEP describes the technical aspects of the changes that are required to support iOS. It also describes the project management concerns related to adoption of iOS as a Tier 3 platform. ⌘ Read more
PEP 729: Typing governance process
This PEP proposes a new way to govern the Python type system: a council that is responsible for maintaining and developing the Python type system. The council will maintain a specification and conformance test suite and will initially be appointed by the Python Steering Council. ⌘ Read more
The Ladybird XHTML bug is fixed. index.xhtml and blog/index.xhtml are now generated with a Makefile, XSLT, and a bit of Python. Feels good!
PEP 727: Documentation Metadata in Typing
This document proposes a way to complement docstrings to add additional documentation to Python symbols using type annotations with Annotated (in class attributes, function and method parameters, return values, and variables). ⌘ Read more
PEP 725: Specifying external dependencies in pyproject.toml
This PEP specifies how to write a project’s external, or non-PyPI, build and runtime dependencies in a pyproject.toml file for packaging-related tools to consume. ⌘ Read more
PEP 723: Embedding pyproject.toml in single-file scripts
This PEP specifies a metadata format that can be embedded in single-file Python scripts to assist launchers, IDEs and other external tools which may need to interact with such scripts. ⌘ Read more
It’s powered by a very silly macro library I also wrote tonight.
The inspect module and the short-circuiting or in #python are a match made in heaven 🐍 ⌘ Read more
@prologic@twtxt.net It was super useful if you needed to do the sorts of things it did. I’m pretty sad.
At its core was Sage, a computational mathematics system, and their own version of Jupyter notebooks. So, you could do all kinds of different math stuff in a notebook environment and share that with people. But on top of that, there was a chat system, a collaborative editing system, a course management system (so if you were teaching a class using it you could keep track of students, assignments, grades, that sort of thing), and a bunch of other stuff I never used. It all ran in a linux container with python/conda as a base, so you could also drop to a terminal, install stuff in the container, and run X11 applications in the same environment. I never taught a class with it but I used to use it semi-regularly to experiment with ideas.
PEP 722: Dependency specification for single-file scripts
This PEP specifies a format for including 3rd-party dependencies in a single-file Python script. ⌘ Read more
PEP 721: Using tarfile.data_filter for source distribution extraction
Extracting a source distribution archive should normally use the data filter added in PEP 706. We clarify details, and specify the behaviour for tools that cannot use the filter directly. ⌘ Read more
Natural Wonder Beauty Concept – Driving
Ana Roxanne + DJ Python share another one from their new Natural Wonder Beauty Concept album, coming this Friday… Continue reading… ⌘ Read more
Some recent Programming-y and Linux-y comic strips
Like, you know, about Python and compiler warnings and stuff. ⌘ Read more
PEP 714: Rename dist-info-metadata in the Simple API
This PEP renames the metadata provided by PEP 658 in both HTML and JSON formats of the Simple API and provides guidelines for both clients and servers in how to handle the renaming. ⌘ Read more
According to the RedMonk programming language rankings from Jan 2023, Go and Scala are tied at 14th place 😏
1 JavaScript
2 Python
3 Java
4 PHP
5 C#
6 CSS
7 TypeScript
7 C++
9 Ruby
10 C
11 Swift
12 Shell
12 R
14 Go
14 Scala
16 Objective-C
17 Kotlin
18 PowerShell
19 Rust
19 Dart
Natural Wonder Beauty Concept – Sword
DJ Python + Ana Roxanne are Natural Wonder Beauty Concept… Continue reading… ⌘ Read more
Docker Desktop 4.19: Compose v2, the Moby project, and more
Docker Desktop 4.19 includes performance enhancements, new language support, and a Moby update. Container-to-host networking performance is 5x faster on macOS, and Docker Init supports Python and Node.js. ⌘ Read more
PEP 713: Callable Modules
Modules are currently not directly callable. Classes can define a __call__ method that makes instance objects callable, but defining a similarly named function in the global module scope has no effect, and that function can only be called by importing or referencing it directly as module.__call__. PEP 562 added support for :meth:`~object.__getattr__` and :meth:`~object.__dir__` for modules, but defining __getattr__ to return a value for __call__ still does not make a module callab … ⌘ Read more
PEP 711: PyBI: a standard format for distributing Python Binaries
“Like wheels, but instead of a pre-built python package, it’s a pre-built python interpreter” ⌘ Read more
PEP 710: Recording the provenance of installed packages
This PEP describes a way to record the provenance of installed Python distributions. The record is created by an installer and is available to users in the form of a JSON file provenance_url.json in the .dist-info directory. The mentioned JSON file captures additional metadata to allow recording a URL to a :term:`distribution package` together with the installed distribution hash. This proposal is built on top of PEP 610 following :ref:`its corresponding canonical PyPA spec … ⌘ Read more`
Automata & Python - Computerphile ⌘ Read more
Why Python keeps growing, explained
A deep dive into why more people are using Python than ever, its key use cases, and why it’s still so popular 30-plus years after it was first released. ⌘ Read more
PEP 709: Inlined comprehensions
Comprehensions are currently compiled as nested functions, which provides isolation of the comprehension’s iteration variable, but is inefficient at runtime. This PEP proposes to inline list, dictionary, and set comprehensions into the function where they are defined, and provide the expected isolation by pushing/popping clashing locals on the stack. This change makes comprehensions much faster: up to 2x faster for a microbenchmark of a comprehension alone, translating to an 11% speedup for one sample … ⌘ Read more
PEP 708: Extending the Repository API to Mitigate Dependency Confusion Attacks
Dependency confusion attacks, in which a malicious package is installed instead of the one the user expected, are an increasingly common supply chain threat. Most such attacks against Python dependencies, including the recent PyTorch incident, occur with multiple package repositories, where a dependency expected to come from one repository (e.g. a custom index) is installed from another (e.g. PyPI). ⌘ Read more
PEP 706: Filter for tarfile.extractall
The extraction methods in :external+py3.11:mod:`tarfile` gain a filter argument, which allows rejecting files or modifying metadata as the archive is extracted. Three built-in named filters are provided, aimed at limiting features that might be surprising or dangerous. These can be used as-is, or serve as a base for custom filters. ⌘ Read more
PEP 704: Require virtual environments by default for package installers
This PEP recommends that package installers like pip require a virtual environment by default on Python 3.13+. ⌘ Read more
Gajim: Gajim 1.6.1
Gajim 1.6.1 is mostly a bug fixing release, but it also brings some important improvements and adds more convenience. Thank you for all your contributions!
After we ported Gajim and python-nbxmpp to libsoup3, you might have noticed issues with file transfers. Now, python-nbxmpp 4.0.1 has been released, and it fixes an error which prevented transfers of files containing spaces in their file name.
Gajim s … ⌘ Read more
PEP 703: Making the Global Interpreter Lock Optional in CPython
CPython’s global interpreter lock (“GIL”) prevents multiple threads from executing Python code at the same time. The GIL is an obstacle to using multi-core CPUs from Python efficiently. This PEP proposes adding a build configuration (–without-gil) to CPython to let it run Python code without the global interpreter lock and with the necessary changes needed to make the interpreter thread-safe. ⌘ Read more
Gajim: Gajim 1.6.0
For Gajim 1.6.0 we ported Gajim’s and python-nbxmpp’s underlying HTTP library to libsoup3. Also, audio previews now look nicer and allow for more control (playback speed, jumping). We fixed emoji rendering on MacOS and we implemented many fixes under the hood. Thank you for all your contributions!
For all HTTP requests (e.g. file downloads, update checks, websocket connection, …) both Gajim and python-nbxmpp rely on libsoup. With Gajim 1.6.0, we ported to libsoup3. You shou … ⌘ Read more
PEP 702: Marking deprecations using the type system
This PEP adds an @typing.deprecated() decorator that marks a class or function as deprecated, enabling static checkers to warn when it is used. ⌘ Read more
🌠 An academic vault tour & weekly review templates
Media workflow diagrams, film project dashboards, daily journaling discussions, python libraries for batch-changing metadata, and more! ⌘ Read more
🌠 Doom! & Scrollable Daily Notes
A request for python devs to help out with the community hub vault, a new comprehensive tutorial for beginners, & discussion of YAML APIs. ⌘ Read more
PEP 701: Syntactic formalization of f-strings
This document proposes to lift some of the restrictions originally formulated in PEP 498 and to provide a formalized grammar for f-strings that can be integrated into the parser directly. The proposed syntactic formalization of f-strings will have some small side-effects on how f-strings are parsed and interpreted, allowing for a considerable number of advantages for end users and library developers, while also dramatically reducing the maintenance cost of the code dedicated to parsing f- … ⌘ Read more
PEP 8104: 2023 Term Steering Council election
This document describes the schedule and other details of the December 2022 election for the Python steering council, as specified in PEP 13. This is the steering council election for the 2023 term (i.e. Python 3.12). ⌘ Read more