How to Contribute to the Python Insider Blog from Scratch

By

Introduction

The official Python blog — Python Insider — has moved to a new home at https://blog.python.org. All 307 posts from the old Blogger platform have been migrated, and old URLs now automatically redirect to the correct new page. The most exciting change? The blog is now built from a Git repository, which means anyone who knows how to open a pull request can contribute. No more needing a Google account or wrestling with Blogger's editor. This guide will walk you through everything you need to write and submit your first post.

How to Contribute to the Python Insider Blog from Scratch

What You Need

  • A GitHub account (free tier works fine).
  • A text editor (like VS Code, Sublime Text, or even Notepad).
  • Basic familiarity with Git and Markdown (if you can write a README, you're ready).
  • A topic that belongs on the official Python blog (e.g., release announcements, core sprints, governance updates).
  • Optional: any images you'd like to include (place them in the same folder as your post).

Step-by-Step Guide

Step 1: Fork the Repository

Go to https://github.com/python/python-insider-blog and click the “Fork” button in the upper-right corner. This creates your own copy of the blog's source code. Once forked, clone the repository to your local machine using:

git clone https://github.com/YOUR-USERNAME/python-insider-blog.git

Step 2: Create a New Directory for Your Post

Navigate into the cloned repo and go to the content/posts/ folder. Inside, create a new directory named after your post's slug (the URL-friendly version of the title). For example, if your post is titled “Python 3.12 Released!”, use python-3-12-released.

mkdir content/posts/your-post-slug

Step 3: Add index.md with YAML Frontmatter

Inside your new directory, create a file named index.md. At the top, include YAML frontmatter that defines the title, date, authors, and tags. Here's an example:

---
title: "Your Post Title"
date: "2025-04-01"
authors:
  - "Your Name"
tags:
  - "release"
  - "announcement"
---

Below the frontmatter, write your post in Markdown. You can use standard formatting like headings, lists, links, and code blocks. Keep in mind the post will be shown exactly as you write it—follow the Tips section for best practices.

Step 4: Upload Images (Optional)

If your post includes images, place them in the same directory as index.md. For example, save screenshot.png right next to the post file. Then reference it in your Markdown with:

![Alt text](screenshot.png)

This keeps everything self-contained and easy to manage.

Step 5: Open a Pull Request

Once you've finished writing and saved all files, commit your changes and push them to your forked repository on GitHub:

git add .
git commit -m "Add new post: [your title]"
git push origin main

Then go to your fork on GitHub and click the “Contribute” button, then “Open Pull Request”. Write a brief description of your post and submit. The maintainers will review it, suggest changes if needed, and merge it. That's it!

Tips for a Smooth Contribution

  • Preview before submitting. The repository's README explains how to run a local development server using Astro. This way you can see exactly how your post will look on the live blog.
  • Check the existing posts. Look at a few index.md files in content/posts/ to see the exact frontmatter fields used (some optional fields like featured_image exist).
  • Use the visual editor if you prefer. The blog also has a Keystatic CMS available in dev mode. Run npm run dev and you can edit posts through a graphical interface instead of raw Markdown.
  • Double-check your links. The migration from Blogger may have changed some internal links. If you reference an older post, use the new URL structure: https://blog.python.org/posts/slug/.
  • RSS feed remains the same. The feed URL is https://blog.python.org/rss.xml. Subscribers don't need to update anything.
  • Report migration issues. If you spot broken links, missing images, or formatting errors from the old blog, please open an issue. Pull requests that fix these are also welcome.

The move to a Git-based workflow makes the Python Insider blog more open than ever. Now everyone in the community can contribute announcements, tutorials, or updates. Happy writing!

Tags:

Related Articles

Recommended

Discover More

How to Claim Up to $95 from Apple’s Siri Delay Settlement – A Complete GuideGreen Rocks in Spanish Pyrenees Cave Suggest Copper Smelting Over 7,000 Years AgoUbuntu 26.04 Ships with .NET 10 – First-Class Support for Modern DevelopmentComponent Crisis Halts Xbox Copilot, Delays OpenAI Phone, and Risks Steam Machine LaunchHow Meta Modernized WebRTC: A Step-by-Step Guide to Escaping the Forking Trap