Quick Facts
- Category: Software Tools
- Published: 2026-04-30 19:36:52
- Linux 'Copy Fail' Vulnerability: 10 Critical Facts You Must Know
- 10 Crucial Insights Into Python 3.15.0 Alpha 4: What Developers Need to Know
- Meta's AI Swarm Maps 'Tribal Knowledge' in Massive Codebase, Slashes Errors by 40%
- Python 3.12.12, 3.11.14, 3.10.19, 3.9.24: Key Security Updates Explained
- Framework Laptop 16 OCuLink Dev Kit Promises Desktop-Grade External GPU Support by Year-End
Introduction
The Python Insider blog has officially moved from Blogger to a new home at blog.python.org, now powered by a Git repository. This change makes it easier than ever for community members to write and submit posts. All 307 historical posts were migrated, and old URLs redirect automatically. Your RSS feed updates without any action needed, but the new feed URL is https://blog.python.org/rss.xml.
This guide walks you through everything you need to start contributing—from understanding the new setup to submitting your first pull request.
What You Need
- A GitHub account (free) – Sign up here
- Basic familiarity with Git and the command line (or a GUI like GitHub Desktop)
- A text editor (e.g., VS Code, Sublime Text, nano)
- Optional: Node.js installed if you want to preview the site locally
Step-by-Step Guide
Step 1: Understand the New Blog Structure
The blog is now a static site built with Astro, styled with Tailwind CSS, and deployed via GitHub Actions. Content lives in the repository python/python-insider-blog. Each blog post is a Markdown file with YAML frontmatter, stored in content/posts/{post-slug}/index.md. Images go in the same directory as the post. No special tooling is required beyond a text editor—Markdown is easy to learn.
Step 2: Fork the Repository
- Go to https://github.com/python/python-insider-blog
- Click the Fork button in the top-right corner of the page. This creates a copy of the repo under your GitHub account.
- Clone your fork to your local machine:
git clone https://github.com/YOUR_USERNAME/python-insider-blog.git
Step 3: Create a New Post Directory
Inside the content/posts/ folder, create a directory named with your post slug. For example, if your post is about Python 3.12, you might call it python-3-12-release. The slug should be short, descriptive, and use hyphens instead of spaces.
Step 4: Write Your Post
Inside your new directory, create a file named index.md. Start with YAML frontmatter:
---
title: "Your Post Title"
date: YYYY-MM-DD
authors:
- Your Name
tags:
- release
- announcement
---
Your Markdown content goes here.
The frontmatter fields are: title (required), date (required, format YYYY-MM-DD), authors (list of GitHub usernames or real names), and tags (list of relevant keywords). Images can be placed in the same directory and referenced with relative paths like .
Step 5: Review and Test Locally (Optional but Recommended)
If you have Node.js installed, you can preview your post before submitting:
- Navigate to the project root:
cd python-insider-blog - Run
npm installto install dependencies - Run
npm run devto start a local development server (usually athttp://localhost:4321) - Check that your post looks correct, images load, and formatting is intact.
If you prefer a visual editor, you can use the optional Keystatic CMS by running npm run dev:keystatic in dev mode—no YAML knowledge needed.
Step 6: Commit and Push
- Stage your changes:
git add content/posts/your-post-slug/ - Commit with a descriptive message:
git commit -m "Add post: Your Post Title" - Push to your fork:
git push origin main
Step 7: Open a Pull Request
- Go to your fork on GitHub (e.g.,
https://github.com/YOUR_USERNAME/python-insider-blog) - Click the Pull Request button (usually near the top)
- Ensure the base repository is
python/python-insider-blogand the base branch ismain. Your compare branch should be the one you just pushed. - Fill in a title and description summarizing your post. The PR message should mention what the post is about (e.g., “New post: Python 3.12 release notes”).
- Submit the pull request. A maintainer will review it, and once accepted, it will be deployed automatically.
Tips for Success
- Read the repo README – It contains detailed information about frontmatter fields and local development setup.
- Check existing posts for style and formatting conventions. Consistency helps maintain the blog’s professional look.
- Use the Keystatic CMS if you’re uncomfortable with raw Markdown – it provides a visual editor in dev mode.
- Keep images small – Optimize images before adding them to the repo to keep the site fast.
- Be patient – The review process may take a few days, especially for first-time contributors.
- Report issues – If you spot broken links or formatting errors from the migration, file a bug on the repository. PRs for fixes are welcome too.
That’s it! You’re now ready to write about Python releases, core sprints, governance updates, or anything else that belongs on the official Python blog. Happy contributing!