Sign in

Bernát Gábor

@gjbernat.bsky.social
1.5K followers 780 following 77 posts

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

PostsRepliesMedia
Bernát Gábor @gjbernat.bsky.social · 16/09/2026
Congratulations to @snarky.ca @henryiii.bsky.social @pradyunsg.me Ralf Gommers @dstufft.dev for for being elected as the initial Python Packaging Councils members! As the ballots are public spent some time to create a report of the election results, some of the interesting findings:
130
Bernát Gábor @gjbernat.bsky.social · 01/09/2026
The time has arrived to cast your vote for the first ever Python Packaging Council, best of luck for everyone!
022
Bernát Gábor @gjbernat.bsky.social · 13/08/2026
I'll be running for this years Python Packaging Councile election, you may read my manifest at www.python.org/nominations/..., if you have any questions feel free to ask here or at discuss.python.org/t/ppc-nomina..., best of luck for everyone!
python.org
Nominee for 2026 Python Packaging Council Election | Python.org
The official home of the Python Programming Language
040
Bernát Gábor @gjbernat.bsky.social · 20/07/2026
pipdeptree 4 is now out - the engine is a complete rewrite in Rust, so it's much faster on small but especially large environments; see github.com/tox-dev/pipd... 😀 #python #oss
github.com
✨ feat(rust): replace the Python engine with a Rust extension by gaborbernat · Pull Request #618 · tox-dev/pipdeptree
One Rust extension discovers distributions, parses metadata, constructs the dependency graph, and renders the result. Those stages account for most CLI runtime in pipdeptree. The public Python API ...
030
Bernát Gábor @gjbernat.bsky.social · 07/07/2026
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.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…
193
Bernát Gábor @gjbernat.bsky.social · 03/06/2026
🌳 pipdeptree 3.0 is out. New: render a dependency tree straight from PyPI (needs index extra) or a PEP 751 lockfile without installing anything, render it in a Jupyter notebook, and see extras by default. Try it 👉 pipdeptree.readthedocs.io/en/latest/tu...
pipdeptree.readthedocs.io
Getting started - pipdeptree
081
Bernát Gábor @gjbernat.bsky.social · 01/06/2026
One formatter for your whole pyproject.toml. pyproject-fmt v2.22 formats the [tool.*] config for 30+ tools, from poetry and hatch to mypy, pytest, tox, black, and pylint. It orders keys and sorts arrays, so those tables stop churning in review. pyproject-fmt.readthedocs.io/en/latest/fo...
pyproject-fmt.readthedocs.io
Formatting Rules - pyproject-fmt
110
Bernát Gábor @gjbernat.bsky.social · 28/05/2026
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...
bernat.tech
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.
131
Reposted by Bernát Gábor
Nina Zakharenko @nina.codes · 17/05/2026
@miketheman.com and @sethmlarson.dev share some of the accomplishments of the PSF security team this year. That’s a lot of work for two people! And shoutout to the sponsors who make it possible to fund their roles.
0124
Bernát Gábor @gjbernat.bsky.social · 17/05/2026
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
bernat.tech
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...
0124
Bernát Gábor @gjbernat.bsky.social · 15/05/2026
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
bernat.tech
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...
0113
Bernát Gábor @gjbernat.bsky.social · 07/05/2026
If you’re using Python 🐍 and were excited about pylock.toml adoption, I’d appreciate your help testing pip-lock 🧪: discuss.python.org/t/help-me-sh...
discuss.python.org
Help me shake out pip-lock 🔒
Hi! 👋 I’ve been building a new top-level command for pip-tools called pip-lock. It produces a PEP 751 pylock.toml from the inputs pip-tools already understands (pyproject.toml, requirements.in, raw ar...
000
Bernát Gábor @gjbernat.bsky.social · 06/05/2026
pipx 1.12.0 now supports using uv as a backend 🚀 That means much faster environment creation and installs ⚡️ Details: pipx.pypa.io/stable/expla...
pipx.pypa.io
Comparisons - pipx
execute binaries from Python packages in isolated environments
141
Bernát Gábor @gjbernat.bsky.social · 20/04/2026
#PyTexas26 was a great conference. I took notes through every talk I attended and turned them into a recap — sharing for anyone who couldn't be there or who missed a session or two. bernat.tech/posts/pytexa...
bernat.tech
PyTexas 2026 Recap
Per-talk notes from PyTexas 2026 in Austin: Hynek on domain modeling, Dawn Wages on specialization, MCP security, PEP 810 lazy imports, free-threading, Ruff, ty, uv, supply chain.
000
Bernát Gábor @gjbernat.bsky.social · 01/04/2026
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.
110
Bernát Gábor @gjbernat.bsky.social · 30/03/2026
Really happy to have Rahul Devikar (github.com/rahuldevikar) joining as a co-maintainer of virtualenv! Thanks for everything you’ve already done to help keep things moving—glad to have you on board.
github.com
rahuldevikar - Overview
Original profile accidently linked to CorpNet: https://github.com/rahuldevikar761 - rahuldevikar
000
Bernát Gábor @gjbernat.bsky.social · 23/03/2026
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...
github.com
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:...
020
Bernát Gábor @gjbernat.bsky.social · 12/03/2026
Wrote down everything I wish I knew earlier about Python supply chain security. Hash pinning, pip-audit, SBOMs, trusted publishing — the whole thing. Enjoy 🐍🔒 bernat.tech/posts/securi...
000
Bernát Gábor @gjbernat.bsky.social · 26/02/2026
Puzzles me how virtualenv usage keeps going up when there's uv around, was expecting uv to eat into virtualenv popularity but seems not much impact 🤔
040
Bernát Gábor @gjbernat.bsky.social · 25/02/2026
Finally created a dashboard where I can monitor all my open source projects and it's mostly interactive 👀 never could justify the investment doing it manually, but using agentic coding made it much easier. bernat.tech/about
bernat.tech
Bernát Gábor - Engineering & Open Source
Bernát Gábor (from 🇭🇺🇷🇴🇬🇧), living in Los Angeles 🇺🇸 Link to heading GitHub GitHub Sponsor Twitter Bluesky Mastodon PyPI Linkedin Google Mail Twitch Instagram I work at Bloomberg US - Los Angeles with...
010
Bernát Gábor @gjbernat.bsky.social · 20/02/2026
tox TOML now supports every feature INI ever had, which means tox.ini is officially “frozen” — it’s not dead, it’s just enjoying a very stable retirement 🧓🧊 The future is tox.toml 🚀: tox.wiki/en/4.44.0/re...
tox.wiki
Configuration - tox
031
Bernát Gábor @gjbernat.bsky.social · 17/02/2026
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.com
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
000
Bernát Gábor @gjbernat.bsky.social · 16/02/2026
virtualenv just got a fresh new logo and updated documentation! 🎉 Take a look at virtualenv.pypa.io and let us know if you spot any bugs or have ideas for improvements — feedback is always welcome.
virtualenv.pypa.io
virtualenv
020
Bernát Gábor @gjbernat.bsky.social · 15/02/2026
Rewrote & reorganized the tox docs from the ground up 🚀 Now live at tox.wiki, structured using the Divio documentation system 📚Feedback welcome! 🙌
tox.wiki
100
Bernát Gábor @gjbernat.bsky.social · 09/02/2026
Spent the last few weeks migrating pyproject-fmt.readthedocs.io from taplo to tombi, rewriting the docs, fixing lots of bugs, and shipping new features (long-form tables!). Check it out and let me know how it goes—also, I probably introduced new bugs, please report them 😄👍
pyproject-fmt.readthedocs.io
pyproject-fmt
020
Bernát Gábor @gjbernat.bsky.social · 30/01/2026
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 😎
plugins.jetbrains.com
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...
001
Bernát Gábor @gjbernat.bsky.social · 16/01/2026
🛠️ New in tox 4.33+: conditional set_env support with PEP-496 markers: set_env.UV_EXTRA_INDEX_URL = { replace = "env", name = "UV_EXTRA_INDEX_URL", default = "e.com/simple", marker = "sys_platform == 'darwin'" } 👉 github.com/tox-dev/tox/...
github.com
feat: add conditional set_env support via PEP-496 markers by gaborbernat · Pull Request #3663 · tox-dev/tox
👍
020
Bernát Gábor @gjbernat.bsky.social · 05/01/2026
Refreshed and extended plugins.jetbrains.com/plugin/20536... so now displays more information and has a configuration page.
plugins.jetbrains.com
PyVenv Manage 2 - IntelliJ IDEs Plugin | Marketplace
PyVenvManage simplifies Python virtual environment management in JetBrains IDEs. Managing multiple Python interpreters across different virtual environments (for...
000
Bernát Gábor @gjbernat.bsky.social · 07/12/2025
Proposals for next years conference season done and dusted 😎
040
Bernát Gábor @gjbernat.bsky.social · 21/05/2025
My presentation about using rust from python from PyConUS got published very quickly this year 😁 youtu.be/CqOZdTFb4io?...
youtu.be
🐍 Python meets the crab 🦀 - Friendship at first sight? (Sponsor: Bloomberg)
YouTube video by PyCon US
050
Bernát Gábor @gjbernat.bsky.social · 13/05/2025
🚀 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/...
github.com
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 @...
051
Bernát Gábor @gjbernat.bsky.social · 09/05/2025
@hugovk.dev now that template strings are a thing can we use them in standard logging to use F string like formatting without performance complications? docs.astral.sh/ruff/rules/l... 🤔
docs.astral.sh
logging-f-string (G004) | Ruff
Checks for uses of f-strings to format logging messages.
100
Bernát Gábor @gjbernat.bsky.social · 25/04/2025
See you there 😎
010
Bernát Gábor @gjbernat.bsky.social · 12/04/2025
Thanks for the kind words @willingc.bsky.social 🙏 gaborbernat.github.io/new-wave-of-...
151
Reposted by Bernát Gábor
PyTexas Foundation @pytexas.org · 10/04/2025
Today on our Speaker 📣 Spotlight 💡 we're highlighting @gjbernat.bsky.social who will be presenting Python Meet The Crab - Friendship At First Sight? Join us April 13 either in-person or virtually to watch. Get your ticket today pytexas.org/2025
021
Bernát Gábor @gjbernat.bsky.social · 02/04/2025
What popular Python packages are using Rust (PyO3), I got cryptography, pydantic, ruff, uv and polars. What else am I missing?
240
Reposted by Bernát Gábor
Brett Cannon @snarky.ca · 31/03/2025
PEP 751 has been accepted! peps.python.org/pep-0751/ This means #Python now has a lock file standard that can act as an export target for tools that can create some sort of lock file. And for some tools the format can act as their primary lock file format as well instead of some proprietary format.
peps.python.org
PEP 751 – A file format to record Python dependencies for installation reproducibility | peps.python.org
This PEP proposes a new file format for specifying dependencies to enable reproducible installation in a Python environment. The format is designed to be human-readable and machine-generated. Installe...
1213962
Bernát Gábor @gjbernat.bsky.social · 31/03/2025
@sethmlarson.dev do you have a newer page of Rust vs Python on PyPI chart? Is there a top n (10) most popular packages using rust?
000
Reposted by Bernát Gábor
PyTexas Foundation @pytexas.org · 21/03/2025
Today on our Speaker 📣 Spotlight 💡 we're highlighting our second tutorial presenter, @gjbernat.bsky.social, who will presenting: The new wave of Python Packaging Join us April 11 in-person for this tutorial and learn all about modern Python packaging! pytexas.org/2025
021
Bernát Gábor @gjbernat.bsky.social · 08/02/2025
Seems neither my tutorial or two talk proposals made the cut for this years PyCon US conference :)
161
Bernát Gábor @gjbernat.bsky.social · 31/01/2025
Because prettier is a bit heavy weight for formatting XML/XSDs and there's no better alternative for a pre-commit hook that handles XML created xml-fmt pypi.org/project/xml-... (uses under the hood CPython stdlib XML formatter docs.python.org/3/library/xm...) - 3.9+.
pypi.org
111
Bernát Gábor @gjbernat.bsky.social · 21/01/2025
Surprised me a bit that pre-commit-uv got 3 million downloads per month after just one of being released. 😱 Way more popular than expected 🤔 cc @crmarsh.com
120
Bernát Gábor @gjbernat.bsky.social · 15/01/2025
The latest virtualenv github.com/pypa/virtual... adds support for freethreaded Pythons, thanks Robsdedude for the contribution!
github.com
Release 20.29.0 · pypa/virtualenv
What's Changed release 20.28.1 by @gaborbernat in #2818 Makes --python command-line flag take precedence over env var by @filiplajszczak in #2821 Add free-threaded Python support by @robsdedude in...
081
Reposted by Bernát Gábor
Will McGugan @willmcgugan.bsky.social · 12/12/2024
Textual 1.0 has been released. 🥳 Three years in the making. A TUI framework that is bigger than the terminal. To celebrate, I want to give away some trade secrets. Because I am appalling at keeping secrets. Tell me what you think of the diagrams... textual.textualize.io/blog/2024/12...
textual.textualize.io
Textual - Algorithms for high performance terminal apps
Textual is a TUI framework for Python, inspired by modern web development.
710824
Reposted by Bernát Gábor
PyTexas Foundation @pytexas.org · 11/12/2024
We're excited to announce the #PyTexas 2025 tutorials! Join us April 11, 2025 as @alsweigart.bsky.social and @gjbernat.bsky.social lead us in two AMAZING tutorials! Get your tickets today: Schedule: www.pytexas.org/2025/schedule/tutor… Get Tickets 🎫 :
pretix.eu
PyTexas 2025
April 11th – 13th, 2025
063
Reposted by Bernát Gábor
Douglas Creager @dcreager.net · 02/12/2024
Today is my first day at Astral! Very excited to work with @crmarsh.com and the gang on Python tooling. It'll be fun (and strange) to focus on only one language for a bit!
2426
Reposted by Bernát Gábor
PyTexas Foundation @pytexas.org · 27/11/2024
This cute armadillo wants you to submit to the #PyTexas CFP. He told me so. pretalx.com/pytexas-2025 Deadline to submit: 12/1 @ 11:59pm CST
122
Bernát Gábor @gjbernat.bsky.social · 27/11/2024
Proposals for @pytexas.org and @pycon.us 2025 done 😀 Make sure to submit yours before the deadline ends 😇
060