Will McGugan's Avatar

Will McGugan

@willmcgugan.bsky.social

CEO / Founder of https://textualize.io Hyperborean Python expert, author, humanist, husband, sometimes wildlife photographer. Carbonara aficionado. He/him.

2,953 Followers  |  411 Following  |  227 Posts  |  Joined: 28.06.2023  |  2.1579

Latest posts by willmcgugan.bsky.social on Bluesky

Man, the internet is a weird place.

09.12.2025 23:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
batrachian.ai

Odd little website. Whatโ€™s this all about?

www.batrachian.ai

09.12.2025 23:03 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - adamghill/django-new: Create new Django applications with pizazz. ๐Ÿš€ Create new Django applications with pizazz. ๐Ÿš€. Contribute to adamghill/django-new development by creating an account on GitHub.

0.4.0 of django-new is released. ๐Ÿš€

Now with interactive mode! โœจ

`uvx django-new` steps through prompts to create a Django application. It also shows the tree structure of what was created.

Both thanks to `rich` by @willmcgugan.bsky.social.

๐Ÿ› ๏ธ github.com/adamghill/dj...
๐Ÿ“ฆ pypi.org/project/djan...

01.12.2025 13:18 โ€” ๐Ÿ‘ 6    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image Post image

did you know that Nilearn optional supports the awesome rich library (h/t @willmcgugan.bsky.social) for prettier logging?

rich.readthedocs.io/en/stable/

03.10.2025 08:18 โ€” ๐Ÿ‘ 7    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Textual - Testing Textual is a TUI framework for Python, inspired by modern web development.

We have a custom framework for testing. Very selenium like, but Textual specific Iโ€™m afraid.

textual.textualize.io/guide/testing/

02.10.2025 22:05 โ€” ๐Ÿ‘ 4    ๐Ÿ” 1    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Well all Textual widgets are reusable. so it could be used outside of Toad. And Iโ€™d love for it to be used in other tools.

27.09.2025 14:25 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

My BMI is now in the healthy range. This deserves a celebration. Cake for breakfast.

26.09.2025 23:30 โ€” ๐Ÿ‘ 27    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
What browsers see being output from Air, which is HTML with unnecessary whitespace stripped for speed and efficiency.

What browsers see being output from Air, which is HTML with unnecessary whitespace stripped for speed and efficiency.

What developers can see if they so choose. Which is HTML formatted for clarity and highlighted for easier reading.

What developers can see if they so choose. Which is HTML formatted for clarity and highlighted for easier reading.

Coming in Air 0.32, released hopefully tomorrow!

To make reading HTML output easier, we will have features for converting dense HTML to pretty printed HTML!

All credit goes to github.com/tallerasaf for the PR and
@willmcgugan.bsky.social for the rich library its built on.

23.09.2025 09:44 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

Put some final touches to Toad's permission request screen.

When the agent has an update, it pops this screen up. You can review the diffs in unified or split view, then decide if you want to accept or reject the changes.

Watch this space!

22.09.2025 21:05 โ€” ๐Ÿ‘ 26    ๐Ÿ” 2    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Howโ€™s that work. Do you literary diff the AST then translate that back to the source offsets?

17.09.2025 09:53 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

That sounds challenging!

17.09.2025 09:36 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image Post image

I have spent the last few days implementing a Diif viewer for Toad.

It supports unified and split view diffs, with line-level highlights.

Rather pleased with the results!

#Python #Textual

13.09.2025 19:54 โ€” ๐Ÿ‘ 31    ๐Ÿ” 2    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

You can critique art in any way you like. None of his other works would make any sense whatsoever if you take them that literally.

Judges are not actually beating people with gavels. So your interpretation that he is blaming judges isn't even literal.

10.09.2025 09:41 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

I feel that's a somewhat surface level appraisal. It could easily be interpreted as the law being used to beat down protestors. Not literal judges.

10.09.2025 09:09 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

If you do decide to vote, please read the candidate details.

If you do read the details, do notice how one stands out.

If you do notice one standing out, do check out how that person is acting on discuss.python.org right now.

If you do all that, then please cast your vote.

02.09.2025 23:11 โ€” ๐Ÿ‘ 19    ๐Ÿ” 8    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 0

There was one nominee statement that gave me the willies.

03.09.2025 19:14 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

There is a fair bit of overlap there. I suspect Toad will become even more Jupyter like as it progresses!

29.08.2025 10:06 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Video thumbnail

Last year I gave a talk at #PyCon Sweden about one of my pet-projects: rich-click.

The title was "Accidentally popular: Beautiful CLI interfaces with rich-click". I talked about the library, but also the #opensource journey, involving @willmcgugan.bsky.social, @tiangolo.com and Daniel Reeves ๐Ÿ˜Š

29.08.2025 09:33 โ€” ๐Ÿ‘ 12    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
a man wearing a hat and a tank top is standing in front of a body of water ALT: a man wearing a hat and a tank top is standing in front of a body of water
29.08.2025 08:08 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
a man in a suit and tie is holding an oscar statue and talking into a microphone . ALT: a man in a suit and tie is holding an oscar statue and talking into a microphone .
28.08.2025 17:51 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

I posted about Toad, my agentic coding interface for the terminal. Going to make this a regular-ish thing until the app is solid enough to share.

willmcgugan.github.io/toad-report-1/

28.08.2025 17:11 โ€” ๐Ÿ‘ 23    ๐Ÿ” 2    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 2
Preview
CultRepo (formerly Honeypot) ๐Ÿง  Formerly Honeypot, now independently owned and led by the original team behind the viral tech documentaries ๐Ÿ“ฝ๏ธ Documentaries and shorts about the human stories of open source and technology ๐ŸŒŸ Our mi...

The Python documentary by @cultrepo.bsky.social is going to be debuting live on YouTube on Thursday the 28th at 7pm CET/10am PT! www.youtube.com/@cultrepo

I'll share a link the day before to the doc that will have a countdown to the debut. I'm planning to be in the live chat during the debut.

26.08.2025 17:15 โ€” ๐Ÿ‘ 20    ๐Ÿ” 9    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Of course. Thatโ€™s when I do my best work!

26.08.2025 18:14 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

Screenshot of Toad, my agentic coding UI.

26.08.2025 17:48 โ€” ๐Ÿ‘ 10    ๐Ÿ” 3    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

I've been working on a new fuzzy search file picker for Toad (my terminal AI interface).

It is similar to the other terminal based agentic coding tools, but I want to address a few UX issues, and hopefully make it prettier in the process!

25.08.2025 21:06 โ€” ๐Ÿ‘ 9    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
Preview
Announcing Python Software Foundation Fellow Members for Q2 2025! ๐ŸŽ‰ The PSF is pleased to announce its second batch of PSF Fellows for 2025! Let us welcome the new PSF Fellows for Q2! The following people continue to do amazing things for the Python community:

Please congratulate our newest PSF Fellow Members for Q2, 2025! Their continued contributions to the Python ecosystem are so very important to our community. #python

08.08.2025 12:49 โ€” ๐Ÿ‘ 17    ๐Ÿ” 5    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Patching Multiprocessing News and announcements from the Python community for the week of Aug 4th, 2025

Python Bytes 443: Patching Multiprocessing
pythonbytes.fm/episodes/sho... w/ @mkennedy.codes and @brianokken.bsky.social
#Python
- rumdl - markdown linting in Rust
- Coverage 7.10 and subprocess
- aioboto3
- Friends don't let friends create unnecessary Python classes
- PyPI phishing

06.08.2025 12:37 โ€” ๐Ÿ‘ 7    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Not so easy talking about the UI of agentic CLIs running inside a terminal. h/t to @willmcgugan.bsky.social for talking about the issue.

thenewstack.io/user-interfa...

03.08.2025 11:00 โ€” ๐Ÿ‘ 3    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
Episode #259: Design Patterns That Don't Translate to Python โ€“ The Real Python Podcast Do the design patterns learned in other programming languages translate to coding in Python? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder's Weekly articles andโ€ฆ

On this week's episode, @digiglean.bsky.social and I talk about lots of releases, using coverage to make sure your tests are running, t-strings, and much more.

With content from: @willmcgugan.bsky.social @simonwillison.net @hugovk.dev @martinfowler.com @mitsuhiko.at and others.

01.08.2025 15:34 โ€” ๐Ÿ‘ 7    ๐Ÿ” 3    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Lots of overlap definitely. Think of Toad as an interface to many kinds of AI services, to prevent wheels from being reinvented.

25.07.2025 12:18 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@willmcgugan is following 20 prominent accounts