#413: python-build-standalone finds a home
Published Mon, Dec 9, 2024,
recorded Mon, Dec 9, 2024
About the show
Sponsored by us! Support our work through:
Connect with the hosts
- Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky)
- Brian: @brianokken@fosstodon.org / @brianokken.bsky.social
- Show: @pythonbytes@fosstodon.org / @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
- Install python: uv python install 3.12
- 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:
Michael:
Joke: Inf