Python Bytes podcast

#474 Astral to join OpenAI

23.3.2026
0:00
45:33
Spol 15 sekunder tilbage
Spol 15 sekunder frem
Topics covered in this episode:
Watch on YouTube

About the show

Sponsored by us! Support our work through:

Brian #1: Starlette 1.0.0

  • As a reminder, Starlette is the foundation for FastAPI
  • Starlette 1.0 is here! - fun blog post from Marcello Trylesinski
  • “The changes in 1.0 were limited to removing old deprecated code that had been on the way out for years, along with a few bug fixes. From now on we'll follow SemVer strictly.”
  • Fun comment in the “What’s next?” section:
    • “Oh, and Sebastián, Starlette is now out of your way to release FastAPI 1.0. 😉”
  • Related: Experimenting with Starlette 1.0 with Claude skills
    • Simon Willison
    • example of the new lifespan mechanism, very pytest fixture-like @contextlib.asynccontextmanager async def lifespan(app): async with some_async_resource(): print("Run at startup!") yield print("Run on shutdown!") app = Starlette( routes=routes, lifespan=lifespan )

Michael #2: Astral to join OpenAI

  • via John Hagen, thanks
  • Astral has agreed to join OpenAI as part of the Codex team
  • Congrats Charlie and team
  • Seems like **Ruff** and uv play an important roll.
  • Perhaps ty holds the most value to directly boost Codex (understanding codebases for the AI)
  • All that said, these were open source so there is way more to the motivations than just using the tools.
  • After joining the Codex team, we'll continue building our open source tools.
  • Simon Willison has thoughts
  • discuss.python.org also has thoughts
  • The Ars Technica article has interesting comments too
  • It’s probably the death pyx
    • Simon points out “pyx is notably absent from both the Astral and OpenAI announcement posts.”
  • Brian #3: uv audit

    • Submitted by Owen Lemont
    • Pieces of uv audit have been trickling in. uv 0.10.12 exposes it to the cli help
    • Here’s the roadmap for uv audit
    • I tried it out on a package and found a security issue with a dependency
      • not of the project, but of the testing dependencies
      • but only if using Python < 3.10, even though I’m using 3.14
    • Kinda cool
    • Looks like it generates a uv.lock file, which includes dependencies for all project supported versions of Python and systems, which is a very thorough way to check for vulnerabilities.
    • But also, maybe some pointers on how to fix the problem would be good. No --fix yet.

    Michael #4: Fire and forget (or never) with Python’s asyncio

    • Python’s asyncio.create_task() can silently garbage collect your fire-and-forget tasks starting in Python 3.12
    • Formerly fine async code can now stop working, so heads up
    • The fix? Use a set to upgrade to a strong ref and a callback to remove it
    • Is there a chance of task-based memory leaks? Yeah, maybe.

    Extras

    Brian:

    Joke: We now have translation services

Flere episoder fra "Python Bytes"