Welcome to the new era of the Python Insider blog! We've officially moved from Blogger to a streamlined, community-driven home at blog.python.org. This migration isn't just about a new URL—it's a complete overhaul of how we publish and collaborate. Every past post has been preserved, and contributing is now as simple as opening a pull request. In this article, we’ll walk you through the seven most important things you need to know about the move, including how to get involved with writing a post and what powers the new site behind the scenes.
1. The Blog Has a New Home
Say goodbye to the old Blogger address. The official Python Insider blog now lives at https://blog.python.org. This change brings the blog under the python.org domain, making it easier to find and trust. All 307 posts from the Blogger era have been migrated intact, and every old URL automatically redirects to its new location. You don’t need to update your bookmarks—just click a link or type the new domain, and you’ll land on the same great content you’ve always enjoyed. The move also means a faster, more modern browsing experience, with fully static HTML served directly from a Git repository.
2. Why We Left Blogger
Blogger served us well for years, but it came with limitations. To contribute a post, you needed a Google account and had to wrestle with Blogger's editor—a barrier that discouraged many potential writers. The new setup eliminates that friction entirely. Content is now managed as Markdown files stored in a Git repository on GitHub. If you can submit a pull request, you can write for the blog. No special accounts, no clunky editors. Just a text editor and a desire to share Python news. This shift aligns with Python's open-source ethos, making it trivially easy for anyone in the community to propose an article, add images, and collaborate via the standard GitHub workflow.
3. How to Contribute a Post
Contributing is simpler than ever. Here’s the short version:
- Fork the repository at https://github.com/python/python-insider-blog.
- Create a new directory under
content/posts/using a slug for your post (e.g.,my-awesome-post). - Inside that directory, add an
index.mdfile with your Markdown content. The file must include YAML frontmatter with the title, date, authors, and tags. Images go in the same directory. - Open a pull request against the main branch.
The repo’s README contains full details on frontmatter fields and local development. If you want to preview your post before submitting, you can run the site locally with Node.js. No special tooling beyond a text editor is required—just write, commit, and PR.
4. Inside the Tech Stack
Behind the scenes, the new blog is built with Astro, a modern static site generator. The entire site compiles to static HTML, making it lightning-fast and secure. For those who prefer a visual editor over raw Markdown, there’s an optional Keystatic CMS available in development mode. Styling is handled by Tailwind CSS, giving the blog a clean, responsive design. Deployment is fully automated via GitHub Actions—every time a PR is merged, the site rebuilds and deploys without manual intervention. This stack ensures low maintenance, high performance, and easy collaboration.
5. What Happened to Old Content?
We took great care to preserve every single post. All 307 posts from the Blogger era have been migrated to the new Git-based system. Each post is now a Markdown file with proper frontmatter, stored in content/posts/{slug}/index.md. Old URLs automatically redirect to the new ones, so you won’t encounter broken links when visiting historical articles. If you notice any missing images or formatting issues, please let us know—we’re committed to maintaining the integrity of the blog’s archive. The migration process was thoroughly tested to ensure that both content and metadata (like publication dates and author names) survived intact.
6. RSS Feed Details
If you follow the blog via RSS, you’re in luck: most readers will automatically pick up the new feed at https://blog.python.org/rss.xml without any action on your part. If your reader doesn’t catch the change, simply update your feed URL to the one above. The feed includes all migrated posts and will continue to deliver new content as soon as it’s published. We’ve also added enhanced metadata to the feed, so you’ll see clearer post summaries and author information. No more broken feeds—just seamless updates.
7. Reporting Issues or Helping Out
We want the new blog to be perfect, but we know migrations can introduce quirks. If you spot broken links, missing images, formatting errors, or any other issues, please file an issue on the repository. Pull requests are equally welcome—if you see a problem and know how to fix it, submit a PR. The community-driven nature of the new setup means that everyone can help improve the blog. Whether it’s fixing a typo, adding a missing tag, or suggesting a feature, your contributions matter.
We’re thrilled to have the blog hosted on a platform that embodies Python’s core values of openness and simplicity. The new home at blog.python.org makes it easier than ever to write, review, and publish content. If you’ve ever thought about writing a post, now is the perfect time—just fork the repo, write your Markdown, and open a PR. Welcome to the new Python Insider blog!