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.

#386 Major releases abound

June 04, 2024 00:21:00 15.3 MB Downloads: 0
Topics covered in this episode:
Watch on YouTube

About the show

Sponsored by Mailtrap: pythonbytes.fm/mailtrap

Connect with the hosts

Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays 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.

Brian #1: NumPy 2.0 release date is June 16

  • “This release has been over a year in the making, and is the first major release since 2006. Importantly, in addition to many new features and performance improvement, it contains breaking changes to the ABI as well as the Python and C APIs. It is likely that downstream packages and end user code needs to be adapted - if you can, please verify whether your code works with NumPy 2.0.0rc2.”
  • NumPy 2.0.0 Release Notes
  • NumPy 2.0 migration guide
    • including “try just running ruff check path/to/code/ --select NPY201”
    • “Many of the changes covered in the 2.0 release notes and in this migration guide can be automatically adapted in downstream code with a dedicated Ruff rule, namely rule NPY201.”

Michael #2: Uvicorn adds multiprocess workers

Brian #3: pixi

  • Suggested by Vic Kelson
  • “pixi is a cross-platform, multi-language package manager and workflow tool built on the foundation of the conda ecosystem.”
  • Tutorial: Doing Python development with Pixi
  • Some quotes from Vic:
    • “Pixi is a project manager, written in Rust, that allows you to build Python projects without having Python previously installed. It’s installable with Homebrew (brew install pixi on Linux and MacOS). There’s support in VSCode and PyCharm via plugins. By default, pixi fetches packages from conda-forge, so you get the scientific stack in a pretty reliable and performant build. If a package isn’t on conda-forge, it’ll look on PyPI, or I believe you can force it to look on PyPI if you like.”
    • “So far, it works GREAT for me. What really impressed me is that I got a Jupyter environment with CuPy utilizing my aging Nvidia GPU on the FIRST TRY.”

Michael #4: JupyterLab 4.2 and Notebook 7.2 are available

  • JupyterLab 4.2.0 has been released! This new minor release of JupyterLab includes 3 new features, 20 enhancements, 33 bug fixes and 29 maintenance tasks.
  • Jupyter Notebook 7.2.0 has also been released
  • Highlights include
    • Easier Workspaces Management with GUI
    • Recently opened/closed files
    • Full notebook windowing mode by default (renders only the cells visible in the window, leading to improved performance)
    • Improved Shortcuts Editor
    • Dark High Contrast Theme

Extras

Brian:

Michael:

  • Bend follow up from Bernát Gábor
    • “Bend looks roughly like Python but is nowhere there actually. For example it has no for loops, instead you're meant to use bend keyword (hence the language name) to expand calculations and another keyword to join branches. So basically think of something that resembles Python at high level, but without being compatible with that and without any of the standard library or packages the Python language provides. That being said does an impressive job at parallelization, but essentially it's a brand new language with new syntax and paradigms that you will have to learn, it just shares at first look similarities with Python the most.”

Joke: Do-while