Reference library

Python Code Samples

Copy-ready Python snippets by topic and difficulty — short, focused, and runnable in the browser editor.

74 matches
Automation & scripting easy

How to Parse Terraform Plan Output in Python

Parse mock Terraform plan output text into structured add, change, and destroy lists using Python.

terraform parsing automation
Python
import json
from typing import Dict, List

def parse_terraform_plan_output(plan_output_text: str) -> Dict[str, List[str]]:
    """
    Parses a mock Terraform plan output text into a structured dictionary.
    """
    parsed: Dict[str, List[str]] = {"add": [], "change": [], "destroy": []}

    for line in plan_output_…
11 0 Open
Automation & scripting medium

How to check Python files for common coding mistakes

Walks a directory tree parsing each .py file with ast, reporting empty functions, bare try blocks, too many parameters, and empty classes.

ast linting code-quality
Python
import ast
import os
import sys

def check_file(filepath):
    try:
        with open(filepath) as f:
            code = f.read()
        tree = ast.parse(code, filename=filepath)
    except SyntaxError as e:
        print(f"{filepath}: SyntaxError: {e.msg}")
        return
    
    issues = []
    for node in ast.wal…
42 0 Open
Automation & scripting easy

Parse WHOIS Data with Python Regex

Extract domain registration fields from a mock WHOIS record using regex and compute days until expiration.

whois regex parsing
Python
import re
from datetime import datetime


def parse_whois(whois_text: str) -> dict:
    """Extract key registration fields from a mock WHOIS record."""
    patterns = {
        "domain": r"Domain Name:\s*(.+)",
        "registrar": r"Registrar:\s*(.+)",
        "creation_date": r"Creation Date:\s*(.+)",
        "expir…
12 0 Open
Automation & scripting easy

Parse nginx access log top IPs in Python

Reads an nginx access log line by line, extracts the client IP, and returns the most frequent IPs using a regex and Counter.

nginx log parsing regex
Python
import re
from collections import Counter

def top_ips(log_file, n=10):
    ip_pattern = re.compile(r'^(\S+)')
    ip_counts = Counter()

    with open(log_file, 'r') as f:
        for line in f:
            match = ip_pattern.match(line)
            if match:
                ip_counts[match.group(1)] += 1

    return…
14 0 Open
Data pipelines & processing easy

How to Parse Data in Python: A Beginner's Helper

This helper parses a JSON payload, extracts user names, emails, and signup dates, then summarizes the results.

json parsing data-processing
Python
import json
from datetime import datetime
from typing import Dict, List


def parse_data(payload: str) -> Dict[str, List]:
    """Parse a JSON payload and extract useful fields."""
    raw = json.loads(payload)
    users = raw.get("users", [])

    parsed = {
        "names": [],
        "emails": [],
        "signup_…
15 0 Open
Data pipelines & processing easy

How to Safely Coerce Strings to Numbers in Python

A safe conversion function that turns strings into integers or floats, returning a fallback value when conversion fails.

type-conversion robust-parsing data-cleaning
Python
import math

def to_number(value, fallback=None):
    """Safely coerce a string to int or float, returning fallback on failure."""
    if isinstance(value, (int, float)):
        return value
    try:
        # Try int first for clean whole numbers
        return int(value)
    except (ValueError, TypeError):
        …
12 0 Open
Data pipelines & processing medium

Normalize Timestamps to UTC DateTime in Python

Convert timestamps in multiple formats to UTC-aware datetime objects using datetime.strptime and astimezone.

datetime timezone utc
Python
from datetime import datetime, timezone

raw_timestamps = [
    "2024-01-15 14:30:00+02:00",
    "17/05/2024 09:15:00 -0500",
    "2024-03-01T22:45:00Z",
    "2024-06-20 08:00:00+09:30"
]

def parse_and_convert(ts: str) -> datetime:
    normalized_ts = ts.strip().replace("Z", "+00:00")
    formats = [
        "%Y-%m-%…
14 0 Open
Git + Python easy

Count Unique Contributors from Git Shortlog in Python

Parses git shortlog -sn output to count the number of unique contributors, handling duplicate entries and variable whitespace.

git parsing collections
Python
import subprocess
from collections import Counter

# Mock shortlog output as a list of lines (simulating git shortlog -sn output)
MOCK_SHORTLOG = """  120  Alice Johnson
   88  Bob Smith
   45  Alice Johnson
   30  Carol Williams
   25  Bob Smith
   10  Dave Brown
"""

def count_contributors_from_shortlog(text):
    "…
14 0 Open
Git + Python easy

How to Parse git status --porcelain Output in Python

This code runs `git status --porcelain` and parses its output into a list of dictionaries with file paths and status descriptions.

git subprocess parsing
Python
import subprocess

def parse_git_status_porcelain():
    try:
        output = subprocess.check_output(
            ["git", "status", "--porcelain"], 
            text=True, 
            stderr=subprocess.DEVNULL
        )
    except (subprocess.CalledProcessError, FileNotFoundError):
        return []

    entries = …
14 0 Open
Git + Python easy

How to compute diff stats (insertions, deletions) in Python

Parses a git diff text and counts the number of added and removed lines to produce insertion and deletion stats.

git diff parsing
Python
import re
from collections import Counter


def parse_diff(diff_text):
    insertions = 0
    deletions = 0
    for line in diff_text.splitlines():
        if line.startswith("+") and not line.startswith("+++"):
            insertions += 1
        elif line.startswith("-") and not line.startswith("---"):
            d…
15 0 Open
Git + Python medium

Show Blame Line Author with subprocess in Python

This Python script runs git blame --line-porcelain via subprocess and counts how many lines each author owns in a file.

git subprocess blame
Python
import subprocess
from collections import Counter

def get_blame_authors(file_path):
    """Extract author names from git blame output using subprocess."""
    result = subprocess.run(
        ["git", "blame", "--line-porcelain", file_path],
        capture_output=True,
        text=True,
        check=True,
    )
   …
11 0 Open
Cloud + Python easy

How to Parse Cloud JSON Data in Python

A helper function that safely parses JSON payloads from cloud services into a clean dict with defaults and error handling.

json cloud parsing
Python
import json
from typing import Dict, Any

def parse_cloud_data(payload: str) -> Dict[str, Any]:
    """Parse a JSON payload from a cloud service into a clean dict."""
    try:
        data = json.loads(payload)
        return {
            "status": data.get("status", "unknown"),
            "region": data.get("region…
16 0 Open
Cloud + Python easy

How to Parse Terraform Output JSON in Python

Parse Terraform's JSON output into a flat dictionary of values using the standard library json module.

terraform json cloud
Python
import json

def parse_terraform_output(raw_output):
    """Parse Terraform JSON output into a flat dict of values."""
    try:
        data = json.loads(raw_output)
    except json.JSONDecodeError as e:
        raise ValueError(f"Invalid JSON: {e}")

    return {key: value["value"] for key, value in data.items()}


i…
11 0 Open
Cloud + Python easy

How to Parse an AWS API Gateway Proxy Event in Python

Extract and parse common fields from a mock API Gateway proxy event, turning the JSON body into a native Python dict.

aws lambda api-gateway
Python
import json
from typing import Any, Dict, Optional


def parse_proxy_event(event: Dict[str, Any]) -> Dict[str, Any]:
    """Extract and parse common fields from an API Gateway proxy event."""
    body = event.get("body", "")
    if isinstance(body, str):
        body = json.loads(body) if body else {}
    elif body is…
13 0 Open
Modern tooling easy

How to Mock Poetry pyproject.toml Dependencies Sections in Python

Parse and extract dependency lists from Poetry-style pyproject.toml text using Python's standard library.

pyproject poetry toml
Python
from pathlib import Path
import re


def parse_pyproject_dependencies(text):
    """Extract dependencies from a pyproject.toml style text."""
    lines = text.splitlines()
    sections = {
        "dependencies": [],
        "dev": [],
        "optional": [],
    }
    current_section = None

    patterns = {
        …
15 0 Open
Modern tooling easy

How to Parse Taskfile YAML in Python

Load a Taskfile.yaml with PyYAML and simulate task execution by returning each task's commands.

yaml taskfile pyyaml
Python
import yaml
from pathlib import Path

def load_taskfile(taskfile_path: str) -> dict:
    """Load and parse a Taskfile.yaml file into a dict."""
    data = Path(taskfile_path).read_text()
    return yaml.safe_load(data)

def run_task(taskfile: dict, task_name: str) -> dict:
    """Simulate running a task by returning i…
14 0 Open
Concurrency & performance medium

How to Parse JSON Files in Parallel with Python ThreadPoolExecutor

Load and transform JSON records from multiple files concurrently using ThreadPoolExecutor for faster I/O-bound parsing.

threadpool json concurrency
Python
import time
from concurrent.futures import ThreadPoolExecutor
import json

def load_json_file(path):
    with open(path, 'r') as f:
        return json.load(f)

def transform_record(record):
    record['full_name'] = f"{record.pop('first_name', '')} {record.pop('last_name', '')}".strip()
    record['score'] = int(reco…
17 0 Open
Testing & modern typing easy

How to Parse Data with Type Hints in Python

A beginner-friendly helper that parses simple dictionary- or list-like strings into typed Python structures using modern typing annotations.

type-hints parsing typing
Python
from typing import Any, Dict, List, Union


def parse_data(raw: str) -> Union[Dict[str, Any], List[Any], str]:
    """Parse a simple string into structured data using type hints."""
    cleaned = raw.strip()
    
    if not cleaned:
        return {}
    
    if cleaned.startswith("{") and cleaned.endswith("}"):
     …
11 0 Open
API design & gRPC easy

How to Decode Basic Auth Credentials in Python

Decode username and password from a Basic Auth header string using base64 and standard string operations.

base64 authentication api
Python
import base64

def decode_basic_auth(header_value):
    """
    Decode credentials from a Basic Auth header value.
    
    Expected format: "Basic base64encoded(username:password)"
    Returns a tuple (username, password).
    """
    if not header_value.startswith("Basic "):
        raise ValueError("Invalid Basic A…
13 0 Open
API design & gRPC medium

How to Filter Query Parameters by Operator in Python

Parse a URL query string and keep only parameters with allowed comparison operators like eq, gt, and lt.

query-parsing url api
Python
from urllib.parse import urlparse, parse_qs

def filter_operators(query_string, allowed=("eq", "gt", "lt")):
    parsed = urlparse(query_string)
    params = parse_qs(parsed.query)
    filtered = {}
    for key, values in params.items():
        if "__" in key:
            field, op = key.rsplit("__", 1)
            i…
12 0 Open
API design & gRPC easy

How to Parse gRPC Request Data in Python

Build a beginner-friendly gRPC service handler that parses incoming protobuf messages into Python dictionaries and starts a simple gRPC server.

grpc protobuf api
Python
from google.protobuf import json_format
import grpc
from concurrent import futures
import time


class DataParsingService:
    def parse(self, request):
        return {
            "received_json": json_format.MessageToJson(request),
            "parsed_fields": {
                "name": request.name,
               …
14 0 Open
API design & gRPC medium

Version API by Accept Header with Vendor Media Types in Python

Build a mock HTTP server that routes to API versions by parsing vendor-specific Accept headers in Python.

api-versioning accept-header http-server
Python
from http.client import HTTPMessage
from http.server import BaseHTTPRequestHandler, HTTPServer


class VendorVersionHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        accept = self.headers.get("Accept", "")
        version = "v1"
        if "application/vnd.myapi.v2+json" in accept:
            version = "…
13 0 Open
Streaming & messaging easy

How to Serialize and Deserialize JSON Event Payloads in Python

Define an EventPayload class with custom to_json and from_json methods to convert event objects to JSON strings and back, using datetime parsing.

json serialization datetime
Python
import json
from datetime import datetime


class EventPayload:
    def __init__(self, event_id, event_type, timestamp, data):
        self.event_id = event_id
        self.event_type = event_type
        self.timestamp = timestamp
        self.data = data

    def to_json(self):
        return json.dumps({
          …
12 0 Open
Reliability & rate limiting easy

How to implement rate limiting in Python

A beginner-friendly Python rate limiter that throttles API calls and retries parsing tasks with exponential backoff.

rate-limiting retry parsing
Python
import time
import random

class RateLimiter:
    def __init__(self, max_calls, per_seconds):
        self.max_calls = max_calls
        self.per_seconds = per_seconds
        self.timestamps = []
    
    def allow(self):
        now = time.time()
        self.timestamps = [t for t in self.timestamps if now - t < sel…
15 0 Open

Browse by section

Each section groups closely related Python snippets.

Guide: free Python code samples library

Copy-ready Python snippets for learners and developers

PythonSkillset code samples are short, focused examples organised by topic and difficulty. Every snippet is server-rendered HTML — readable by search engines and easy to copy. Open any sample, read the notes, copy the code, then press Try in editor to run it in the browser with Pyodide.

How to use this library

  1. Pick a topic section — strings, lists, files, functions, and more
  2. Open a sample, read How it works, and copy the code block
  3. Run it in the IDE, tweak values, then take a related quiz or tutorial lesson

Samples vs tutorials and challenges

Samples are quick reference — one concept per page. For step-by-step teaching, use our Python tutorials. To test yourself, try quizzes or coding challenges. Clean up style with the Python formatter.