Title: Mostly Python
Open Graph Title: Mostly Python
X Title: Mostly Python
Description: Weekly posts about all things Python, and occasional other topics as well.
Open Graph Description: Weekly posts about all things Python, and occasional other topics as well.
X Description: Weekly posts about all things Python, and occasional other topics as well.
Opengraph URL: https://www.mostlypython.com/
X: @ghost
Generator: Ghost 6.51
Domain: www.mostlypython.com
{
"@context": "https://schema.org",
"@type": "WebSite",
"publisher": {
"@type": "Organization",
"name": "Mostly Python",
"url": "https://www.mostlypython.com/",
"logo": {
"@type": "ImageObject",
"url": "https://storage.ghost.io/c/b0/88/b088fa59-ac78-44d9-9662-4c7568d7cb9a/content/images/size/w256h256/2024/02/logo_200px.png",
"width": 60,
"height": 60
}
},
"url": "https://www.mostlypython.com/",
"name": "Mostly Python",
"image": {
"@type": "ImageObject",
"url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
"width": 1200,
"height": 840
},
"mainEntityOfPage": "https://www.mostlypython.com/",
"description": "Weekly posts about all things Python, and occasional other topics as well."
}
| referrer | no-referrer-when-downgrade |
| og:site_name | Mostly Python |
| og:type | website |
| og:image | https://static.ghost.org/v5.0.0/images/publication-cover.jpg |
| article:publisher | https://www.facebook.com/ghost |
| twitter:card | summary_large_image |
| twitter:url | https://www.mostlypython.com/ |
| twitter:image | https://static.ghost.org/v5.0.0/images/publication-cover.jpg |
| og:image:width | 1200 |
| og:image:height | 840 |
Links:
| Mostly Python | https://www.mostlypython.com |
| Home | https://www.mostlypython.com/ |
| Topics | https://www.mostlypython.com/topics/ |
| Series | https://www.mostlypython.com/series/ |
| About | https://www.mostlypython.com/about/ |
| Contact | https://www.mostlypython.com/contact/ |
| Just read | https://www.mostlypython.com/just-read/ |
| Sign in | https://www.mostlypython.com#/portal/signin |
| Subscribe | https://www.mostlypython.com#/portal/signup |
| Exploring chess games MP 171: A first foray into the massive Lichess database. I've been getting back into chess since moving to North Carolina, and as part of that journey I've been wanting to analyze games in ways that weren't really possible when I was last playing By Eric Matthes Jul 9, 2026 | https://www.mostlypython.com/exploring-chess-games/ |
| I keep being be impressed by uv MP 170: It understands my old projects! A few years ago I made a small project that automatically adds borders to screenshots, because macOS doesn't have a built-in tool to easily do that. For a couple years I installed it globally on every system I used, so By Eric Matthes Jun 25, 2026 | https://www.mostlypython.com/i-keep-being-be-impressed-by-uv/ |
| An LLM can't go for a walk in the woods MP 169: But we still can, and we should keep doing so. Regular readers of Mostly Python are probably aware that I'm currently working on gh-profiler. It helps open source maintainers make better-informed decisions about how much time to invest with users who open new PRs By Eric Matthes Jun 11, 2026 | https://www.mostlypython.com/an-llm-cant-go-for-a-walk-in-the-woods/ |
| Batching API calls MP 168: An obvious speedup, with a surprising side benefit. I've been working steadily on gh-profiler, while attending PyCon US and working on other projects as well. The project makes a number of calls to GitHub's API, and then analyzes the results to generate some By Eric Matthes May 28, 2026 | https://www.mostlypython.com/batching-api-calls/ |
| Profiling a uv-based project MP 167: It's not quite as straightforward as profiling a single-file program. Over the past couple weeks, I've been continuing to work on gh-profiler. If you missed the last post, gh-profiler gives you a quick summary of a GitHub user's profile By Eric Matthes May 14, 2026 | https://www.mostlypython.com/profiling-a-uv-based-project/ |
| Cleaning up unused imports MP 166: It's so much easier than it used to be! When I'm refactoring a project, I often end up with a bunch of imports that are no longer needed. Cleaning up unused imports is often a low-priority task, because in most of the projects By Eric Matthes Apr 30, 2026 | https://www.mostlypython.com/cleaning-up-unused-imports/ |
| Generating unique names MP 165: TIL about secrets.token_hex(). I've been working on dsd-scalingo recently, a django-simple-deploy plugin that automates the process of deploying Django projects to Scalingo. I'm excited about this work, because Scalingo seems to be one of the best platforms available at By Eric Matthes Apr 16, 2026 | https://www.mostlypython.com/generating-unique-names/ |
| So OpenAI is acquiring Astral MP 164: Will you keep using uv? I sure will, until there's a more specific reason not to. The Python world was all abuzz recently after Astral announced they were being acquired by OpenAI. If you're unfamiliar with Astral, they're the team behind uv. By Eric Matthes Apr 2, 2026 | https://www.mostlypython.com/so-openai-is-acquiring-astral/ |
| How many digits are there in pi? MP 163: Probably not as many as you think! Many of us who marvel at the wonder of mathematical constants just enjoyed another pi day. This year's celebration had me thinking about how we decide how many digits of pi to use whenever we're working with By Eric Matthes Mar 19, 2026 | https://www.mostlypython.com/how-many-digits-are-there-in-pi/ |
| What is `self`? MP 162: It's been answered many times, but it's always worth revisiting. I've been reflecting on classes lately, and how we teach them. One of the questions that comes up in every discussion about OOP with people who are seeing it for the first By Eric Matthes Mar 5, 2026 | https://www.mostlypython.com/what-is-self/ |
| Stochastic terror parrots? MP 161: Autonomous agents slandering open source maintainers is almost certainly just a beginning. In case you missed it, we reached another inflection point in the ever-increasing impact of AI on society last week. Briefly, an autonomous agent submitted a PR on the Matplotlib repository. That PR was rejected, By Eric Matthes Feb 19, 2026 | https://www.mostlypython.com/stochastic-terror-parrots/ |
| Anatomy of a Python Function MP 160: When we're discussing functions in Python, what do we call the different parts? I've been reflecting on typing in Python recently. I haven't used type hints much, because all my programs have worked fine without them. But typing in Python has matured By Eric Matthes Feb 5, 2026 | https://www.mostlypython.com/anatomy-of-a-python-function/ |
| See all | https://www.mostlypython.com/page/2 |
| Sign up | https://www.mostlypython.com#/portal/ |
| Ghost | https://ghost.org/ |
Viewport: width=device-width, initial-scale=1.0