Pinned post

Latest post is a big one: "Why you shouldn't invoke setup​.py directly"

A lot of people don't know about this because we haven't been great about getting the word out. This blog post is in part an attempt to remedy this.

Please help spread the word!

blog.ganssle.io/articles/2021/

Pinned post

From the archives of my blog but still very relevant: "pytz: The Fastest Footgun in the West", about why you probably shouldn't be using pytz:

blog.ganssle.io/articles/2018/

Being a museum attendant seems very boring, so to make their jobs more interesting, whenever you walk out of a gallery with a lot of people going into it, loudly say to your companions, "My favorite part of that exhibit was how you were allowed to touch all the art!"

Several deadlines are approaching for deprecated setuptools features

30th Aug
- bdist_wheel with universal=True

15th Oct
- Running `setup.py test`
- subclassing wheel.bdist_wheel

31st Oct
- Running `setup.py <anything>`
- setuptools.command.easy_install, setuptools.installer, fetch_build_eggs

For more info and migration guidence see
- blog.ganssle.io/articles/2021/
- packaging.python.org/en/latest

Thanks to PyPA and everyone involved for their dedication and hard slog.

#Python

Are you in Boston and want to hang with #Python people? Boston Python's project & collaboration night is June 24th. It's an informal gathering to talk together, work together, learn from each other, network, whatever. Tell your friends :)

meetup.com/bostonpython/events

The "faster CPython" team at Microsoft was recently dissolved. My position at Microsoft was eliminated. If anyone has a reason to be disappointed in this, it's me.

So it feels okay for me to ask you to refocus any disappointment you might have about Microsoft's decision. Let's be grateful for a big Python user actually laying down meaningful cash for 4 years in support of a volunteer-driven community project! Let's express our frustration instead in how that doesn't happen more often!

General PSA: don’t apply for a job at Canonical. Do NOT apply for a job at Canonical. Treat the blatantly artificially enormous number of job openings they post as the mirages of trickster fae. They are unhinged. Mark Shuttleworth is unhinged. They will drag you through the mud, disrespect you and your time, and definitely not give you a job. This article I saw today is like the thirteenth of its kind that I personally have seen dustri.org/b/my-experience-wit

I was poking around the Mastodon APIs and I can't find a way to have a bot hide individual posts for me, only update my filters list. Am I missing something?

There are only 3 plots: a person goes on a journey, a stranger comes to town, and "here is how I set up the static site generator for this blog".

@jonafato Add mine to the pile please? :)

feoh.org/posts/pycon-us-2025-t

Was really great meeting you in person today. Thanks so much for introducing yourself!

Interesting to see how everyone is lamenting the demise of Pocket, but I haven't seen anyone mention that when Pocket was added to Firefox it seems like a lot of people were up in arms about how a proprietary service was being forced on Firefox users.

I'm guessing it's different people in each case but I'm a little surprised to see no one saying, "Good, we all hated that thing anyway" (since that had seemed like the common sentiment before the shutdown - I never heard anyone praise Pocket before this).

Photo: All future Python talk attendees after watching Pablo and Yury's PyCon US talk.

youtu.be/RrsVi1P6n0w?si=h2RoJ9

Just want to say congrats to @elthenerd and @jonafato for their successful first year chairing PyCon US 👏🏻 Very well done! I hope you all get to take a break now before starting to plan next year's conference 😊
#PyConUS

My presentation about using rust from python from PyConUS got published very quickly this year 😁
youtu.be/CqOZdTFb4io?si=uu6Ttf

I'll be at #PyConUS sprints today and Wednesday.

I am beginning the process of replacing my ThinkPenguin laptop battery in case anyone here wants to help - am in room 308 currently.

Great thing about PyCon: You can find out from @carljm directly how the High Sticks are doing even before it's announced on core.py.

Downside of PyCon: All the spoilers for future core.py episodes.

.py

PyCon was lots of fun! The slides for my talk on processing large JSON files without running out of memory:

pythonspeed.com/pycon2025/slid

Looking forward to videos getting posted so I can watch all the talks I ended up missing due to scheduling conflicts/practicing my talk/getting lost/meeting someone in the hallway.

#PyCon #PyConUS #python

While I missed the remaining talks today, on my flight back from #PyConUS I was quite productive and made a new thing!

pyref.dev is a fast, convenient way to access Python reference docs.

It's also available as a CLI tool (pip install pyrefdev).

May as well throw this query out to the fediverse.

I am looking for *concrete examples* of code that works correctly when interpreted by Python 2.7 but *silently produces incorrect output* when interpreted by Python 3.x. I encountered such a thing about 10 years ago but didn't save it and have been unable to reconstruct it.

All examples are good, but examples that produce output from which it's difficult or impossible to recover the correct output are better.

#python #pycon

Thanks @masonasons for the tip that yt-dlp can download from RSS feeds. Here's the command I came up with to download all available podcast items from a feed in chronological order (oldest first) to nicely numbered files with the title and date.

yt-dlp --no-abort-on-error --color "no_color" --download-archive ".download_history" --windows-filenames --embed-metadata --embed-chapters --playlist-items "::-1" --output "%(n_entries+1-playlist_index)02d %(title)s (%(upload_date>%B %d %Y)s).%(ext)s" --format bestaudio "example.com/rss"

Show thread
Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.