Programmer working @Google in NYC. Maintainer of python-dateutil, Python core developer and general FOSS contributor. Fediverse: @pganssle@qoto.org

Joined June 2015
310 Photos and videos
I further contend that other than `contextlib.suppress`, there is no other situation where lazy imports in a context manager could be dangerous. #python
1
100
Though I will admit that there are also NO OTHER REASONS for putting lazy imports in a context manager. It's just the backwards compatibility use case and no others. #python
86
Paul Ganssle retweeted
18 May 2024
While I’ve hosted lightning talks at #PyConUS before, I’ve finally given one today! Enforce documentation coverage with `interrogate`! It’s got a cute logo 😍🦥 interrogate.readthedocs.io
4
28
1,454
Paul Ganssle retweeted
Dear #pycon presenters. Here are my accessibility requests for next year. 1. No colorized code on black backgrounds. Blue or purple or gray is really hard to read. 2. Use large text please. I cannot read your regular terminal font. PLEASE.
14
64
561
88,546
Paul Ganssle retweeted
Hey, do you know the @ThePSF is hiring for a full-time position called the Deputy CPython Developer in Residence? It's a special role where you'd work with me and the rest of the core team on directly shaping the future of #Python. Want to know more? lukasz.langa.pl/40b601fc-2b2…
48
114
37,515
13 Jun 2023
Replying to @GregNuckols
@GregNuckols @EricTrexler Hey guys, I've been listening to your podcast for a while and I'm curious to know if you have any advice for someone interested in being in an exercise or diet study. I live in the Boston area so I feel like there should be many exercise depts. around.
2
2
488
13 Jun 2023
I tried looking for an labs at Harvard and MIT, but I am not seeing any researchers there doing work that seems like it would need research subjects.
1
385
Paul Ganssle retweeted
A perfect illustration of why clinical trial registration needs an upgrade to a full #RegisteredReports model. @RegReports There are some logistical challenges, but they are solvable. The alternative is this👇 cc @eturnermd1
19% of 755 phase 3 cancer trials had changes to the primary end points in the paper compared to the registration. 70% of those were not disclosed in the paper. Changes were associated with likelihood of a positive outcome (OR=1.86). jamanetwork.com/journals/jam…
14
23
6,353
20 May 2023
Long shot, but anyone with Android / Android Auto experience know what's going on here? stackoverflow.com/q/76297425… #android #auto #androidauto

1
447
17 May 2023
One day I hope ML technology advances to the point that I can describe a shirt and find out if someone is selling something like it.
1
344
17 May 2023
Carter's has this shirt for kids, but I can't find an adult version anywhere. Trying to tell Amazon or a search engine that it's important that the shirt have all three colors (much less in a specific order) seems impossible.
252
Paul Ganssle retweeted
PEP 658 has finally landed on PyPI! Wheels uploaded as of about 15 minutes ago now have the appropriate information served from the simple APIs, and METADATA files available on files.pythonhosted.org.

2
15
70
31,562
Paul Ganssle retweeted
11 May 2023
This is great
Attractive nuisances in software design: blog.ganssle.io/articles/202… A common anti-pattern where a problem has a solution that is obvious, intuitive and wrong. #python #programming
1
2
384
10 May 2023
datetime.utcnow and datetime.utcfromtimestamp will be deprecated in #python 3.12: github.com/python/cpython/is… If you maintain a package, now is probably a good time to grep your source code for utcnow and utcfromtimestamp to get out ahead of the deprecation warnings. 📅🕐
1
9
26
5,928
10 May 2023
It's relatively easy to make a drop-in replacement for these, but also we're deprecating them because they're conceptually the wrong thing to do, so it's best to migrate to using aware datetimes if possible: blog.ganssle.io/articles/201…
1
3
366
Psst. Next year is a leap year. Depending on your deployment story, now (or 3 months ago😅) might be a good time to start looking into logic that won't handle leap years correctly.
2
3
376
Bugs like `dt.replace(year=dt.year 1)`, code that works with ordinal day-of-year, etc.
205
"Oh I need to communicate with someone on Discord quickly, guess I’ll launch it. Oh, there’s an update available, so Discord prevents me from opening their application." Reason #215 to avoid #discord.
2
4
698
#matrix isn’t great, but it’s a darn sight better than this.
1
189