Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.

#413 python-build-standalone finds a home

December 09, 2024 00:30:39 29.56 MB Downloads: 0
Topics covered in this episode:
Watch on YouTube

About the show

Sponsored by us! Support our work through:

Connect with the hosts

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

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:

Michael:

Joke: Inf