Jiter is a fast, iterable JSON parser that serves as the backend for Pydantic and is used by OpenAI, including in their Python library for ChatGPT. It enhances the speed and efficiency of JSON data parsing, which is crucial for applications like Pydantic that validate and transform JSON data into Python classes.
Python Build Standalone, a project providing prebuilt binaries for different architectures, has moved to Astral, ensuring better stability and stewardship. This transition is crucial for tools like UV, pipx, and hatch, which rely on it for Python installations. Astral aims to keep the project up-to-date with Python releases and improve its build and release processes.
Mocha-Py is a Python binding for the high-performance Mocha caching library written in Rust. It offers features like thread-safe, in-memory caching, TTL and TTI support, size-based eviction, and concurrency optimizations. Mocha-Py allows Python developers to leverage Mocha's efficient caching mechanisms, including a decorator for function-based caching, enhancing performance in multi-threaded environments.
UV is a fast and ambitious package manager for Python that simplifies various tasks including Python installation, virtual environment creation, package management, and dependency pinning. Key commands include 'uv python install' for installing Python, 'uv venv' for creating virtual environments, 'uv pip install' for package installation, and 'uv sync' for managing project dependencies and lock files.
Supporting open-source projects financially can significantly contribute to their sustainability and improvement. For instance, if every user of a widely-used project like Flask or Gunicorn contributed a small amount, it could transform the project's development and maintenance. This support can ensure that critical tools remain healthy and well-maintained, benefiting the entire developer community.
Topics covered in this episode:
- [**jiter**](https://github.com/pydantic/jiter?featured_on=pythonbytes))
Extras
Joke
Watch on YouTube)
About the show
Sponsored by us! Support our work through:
Connect with the hosts
Michael: @[email protected]) / @mkennedy.codes) (bsky)
Brian: @[email protected]) / @brianokken.bsky.social)
Show: @[email protected]) / @pythonbytes.fm) (bsky)
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.
Michael #1: jiter)
Fast iterable JSON parser.
About to be the backend for Pydantic and Logfire.
Currently powers OpenAI / ChatGPT (along with Pydantic itself), at least their Python library, maybe more.
jiter has three interfaces:
JsonValue an enum representing JSON data
Jiter an iterator over JSON data
PythonParse which parses a JSON string into a Python object
jiter-python) - This is a standalone version of the JSON parser used in pydantic-core. The recommendation is to only use this package directly if you do not use pydantic
Brian #2: A new home for python-build-standalone)
Charlie Marsh
See also Transferring Python Build Standalone Stewardship to Astral) from Gregory Szorc
python-build-standalone is the project that has prebuilt binaries for different architectures.
used by uv python install 3.12 and uv venv .venv --python 3.12 and uv sync
This is good stability news for everyone.
Interesting discussion of prebuilt Python from Charlie)
Michael #3: moka-py)
A high performance caching library for Python written in Rust
moka-py is a Python binding for the highly efficient Moka) caching library written in Rust.
This library allows you to leverage the power of Moka's high-performance, feature-rich cache in your Python projects.
Features
Synchronous Cache: Supports thread-safe, in-memory caching for Python applications.
TTL Support: Automatically evicts entries after a configurable time-to-live (TTL).
TTI Support: Automatically evicts entries after a configurable time-to-idle (TTI).
Size-based Eviction: Automatically removes items when the cache exceeds its size limit using the TinyLFU policy.
Concurrency: Optimized for high-performance, concurrent access in multi-threaded environments.
Brian #4: uv: An In-Depth Guide)
On SaaS Pegasus blog, so presumably by Cory Zue
Good intro to uv
Also a nice list of everyday commands
Install python: uv python install 3.12
I don’t really use this anymore, as uv venv .venv --python 3.12 or uv sync install if necessary
create a virtual env: uv venv .venv --python 3.12
install stuff: uv pip install django
add project dependencies
build pinned dependencies
Also discussion about adopting the new workflow
Extras
Brian:
PydanticAI) - not sure why I didn’t see that coming
In the “good to know” and “commentary on society” area:
The WIRED Guide to Protecting Yourself From Government Surveillance)
Michael:
Joke: Inf)