Topics covered in this episode:- Python 3.13 gets a JIT
- UniDep - Unified Conda and Pip Dependency Management
- Don’t Start Pull Requests from Your Main Branch
- instld: The simplest package management
- Extras
- Joke
Watch on YouTube
About the show
Sponsored by us! Support our work through:
- Our courses at Talk Python Training
- The Complete pytest Course
- Patreon Supporters
Connect with the hosts
- Michael: @mkennedy@fosstodon.org
- Brian: @brianokken@fosstodon.org
- Show: @pythonbytes@fosstodon.org
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too.
Brian #1: Python 3.13 gets a JIT
- Anthony Shaw
- Great article that walks through JIT concepts with a small example as if you were writing a parser in Python instead of C.
- Covers
- What is a JIT?
- What is a copy-and-patch JIT? and Why?
- How does the Python JIT work?
- Is it faster?
- This is a building block to future improvements
Michael #2: UniDep - Unified Conda and Pip Dependency Management
- 🔄 Single requirements.yaml for both #Conda & #Pip.
- ⚙️ Works with pyproject.toml & setup.py.
- 🏢 Perfect for monorepos.
- 🔒 Create consistent conda-lock files for multiple projects.
- 🌍 Platform-specific support.
- 🚀 unidep install for easy setup.
- Full source page.
Brian #3: Don’t Start Pull Requests from Your Main Branch
- Hynek Schlawack
- When contributing to other users’ repositories, always start a new branch in your fork.
- Reasons to not use main
- Forces you to only have one change in progress
- Merges will generate conflicts and you can’t pull from that branch anymore. Need to kill the fork and start over
- If the target repo has branch protection on, then maintainers can’t push to your branch.
- Hynek also provides a way to fix things if you’ve already started your changes on a main branch fork.
Michael #4: instld: The simplest package management
- Thanks to this package, it is very easy to manage the lifecycle of packages.
- ⚡ Run your code without installing libraries.
- ⚡ You can use 2 different versions of the same library in the same program.
- ⚡ You can use incompatible libraries in the same project, as well as libraries with incompatible/conflicting dependencies.
- ⚡ It's easy to share written scripts. The script file becomes self-sufficient - the user does not need to install the necessary libraries.
- ⚡ The library does not leave behind "garbage". After the end of the program, no additional files remain in the system.
Extras
Brian:
- The Complete pytest Course is now actually complete
- Although updates will happen when and if necessary as pytest/Python changes.
- To celebrate, use code 2024 in January for 10% off any pricing option.
- More episodes of Python People and Python Test on the way now
- That course took up a lot of my time in late 2023
- Just released an episode with Will Vincent and Python Test will have a new episode this week and for the foreseeable future.
- Let me know if you want to be on Python People or Python Test
Michael:
- Hatch follow up: Great coverage of Hatch v1.8.0! One small correction: only the binaries for Hatch are signed with the certificate from the PSF. - Ofek
- PyPI new user registration temporarily suspended
- Pagefind and how I’m using it
- Talk Python Live: Data Doodles event coming early Feb
- New essay: AI Features a Waste of Time?
Joke: Put it in the backlog