Bernát Gábor

@gjbernat.bsky.social

Senior Software engineer @Bloomberg (from 🇭🇺🇷🇴🇬🇧), living in Los Angeles 🇺🇸 @ThePsf fellow. Maintainer of many - http://bernat.tech/about (tox, virtualenv,...) Python packages. Opinions my own.

turbohtml 1.0 is out! 🎉 A fully typed HTML toolkit for Python with a C core — parse, query, sanitize, serialize, extract, ~2-5x faster than lxml ⚡️ Wheels for 3.10-3.15, free-threading too. Try it & tell me what breaks 🐍 turbohtml.readthedocs.io

turbohtml

turbohtml is a fast, fully typed HTML toolkit for Python built on a C-accelerated core. It provides spec-correct HTML escaping and unescaping that match the st…

turbohtml.readthedocs.io

At PyCon US 2026 🐍 one of the standout talks for me was Larry Hastings on testing multithreaded code 🧵 via blanket. Dug deeper into the topic afterwards and wrote it up. Free-threaded Python is around the corner ⚡ so will become ever more important: bernat.tech/posts/blanke...

Deterministic Multithreaded Testing in Python with blanket

How blanket gives Python tests deterministic control over thread scheduling, and why that matters now that free-threaded Python is shipping.

bernat.tech

Just published my notes from this year's Python Packaging Summit at PyCon US. If you've ever been curious what one of these is like from the inside: Wheel 2.0 + Zstandard, PyPI abuse vectors, conda vs pip, nab as a pip-resolver candidate. 🐍📦 bernat.tech/posts/pycon-... #PyConUS

PyCon US 2026 Packaging Summit Recap

Per-talk notes from the PyCon US 2026 Packaging Summit in Long Beach: Emma Smith on Wheel 2.0 and Zstandard compression, Mike Fiedler on PyPI abuse vectors, Mahe Iram Khan on ecosystems, lightning tal...

bernat.tech

Just published my notes from this year's Python Typing Summit at PyCon US. If you've ever been curious what one of these is like from the inside: intersection types, constraint sets in ty, tensor shapes in Pyrefly, Guido on direction. 🐍📝 bernat.tech/posts/pycon-... #PyConUS

PyCon US 2026 Typing Summit Recap

Per-talk notes from the PyCon US 2026 Typing Summit in Long Beach: Pyrefly and AI agents, ty constraint sets, Lean formalization, tensor shape types, intersection types, PEP 827, Guido on the directio...

bernat.tech

Claude too quickly labels problems as “known issues” or “pre-existing failures,” and defaults to workarounds instead of fixing root causes. Even when told not to, it often ignores that and applies a quick hack anyway.

pipdeptree 2.33.0 is out — we finally dropped the dependency on pip and now use the stdlib for metadata, making things simpler and more robust; also, 2.32.0 added a rich output mode, which makes the tree much nicer to read github.com/tox-dev/pipd...

Release 2.33.0 · tox-dev/pipdeptree

What's Changed ♻️ refactor(deps): drop pip dependency, use stdlib for metadata by @gaborbernat in #552 fix(detection): Allow fallback to different env detectors by @kemzeb in #555 Full Changelog:...

github.com

New in pytest-env: .env file loading via env_files, --envfile for runtime .env switching, --pytest-env-verbose to debug every SET/SKIP/UNSET with source attribution, unset = true to remove vars, pytest.toml support, and subdirectory config overrides. github.com/pytest-dev/p...

GitHub - pytest-dev/pytest-env: pytest plugin to set environment variables in pytest.ini or pyproject.toml file

pytest plugin to set environment variables in pytest.ini or pyproject.toml file - pytest-dev/pytest-env

github.com

Just released a plugin for @jetbrains IDEs that adds integration for the fish shell scripts, plugins.jetbrains.com/plugin/29973... (uses the fish-lsp server for some of the features). Give it a go and file an issue if you find anything wrong 😎

Fish Shell - IntelliJ IDEs Plugin | Marketplace

Comprehensive language support for Fish shell scripts with advanced IDE features. Syntax Highlighting Rich highlighting for keywords, variables, strings, comments...

plugins.jetbrains.com

🚀 tox 4.26 is out! - Introduces free-threaded builds (just add t to your env name) - Adds support for Python 3.14 - Fixes virtualenv no longer bundling wheel on >3.9 - Drops support for Python 3.8 Huge thanks to all contributors! 🙌 🔗 github.com/tox-dev/tox/...

Release 4.26.0 · tox-dev/tox

What's Changed Add a missing quote in a TOML example @ config.rst by @webknjaz in #3509 Add colour to GitHub Actions CI logs by @hugovk in #3525 Fix using deprecated virtualenv option --wheel by @...

github.com