Reference library

Python Code Samples

Easy snippets you can copy, study, and run in the browser editor.

71 matches
Automation & scripting easy

Monitor Disk Usage and Alert in Python

A Python script that checks disk usage percentage against a threshold and returns an ALERT or OK message with free space details.

disk monitoring shutil
Python
import shutil
import os

def check_disk_usage(path="/", threshold=85.0):
    usage = shutil.disk_usage(path)
    percent_used = (usage.used / usage.total) * 100
    
    if percent_used > threshold:
        return (f"ALERT: Disk usage at {percent_used:.1f}% on {path} "
                f"(exceeds {threshold}% threshold…
12 0 Open
Automation & scripting easy

Post a message to a Slack webhook in Python

Send a message to a Slack webhook endpoint using the standard library's urllib.request, handling the POST request and response cleanly.

slack webhook urllib
Python
import json
from urllib import request

def post_to_slack(webhook_url: str, message: str) -> dict:
    payload = json.dumps({"text": message}).encode("utf-8")
    req = request.Request(
        webhook_url,
        data=payload,
        headers={"Content-Type": "application/json"},
        method="POST",
    )
    wit…
10 0 Open
Data pipelines & processing easy

Validate dict schema at pipeline boundary in Python

This code validates a dictionary against a TypedDict schema at a pipeline boundary, enforcing required fields and types with custom error messages.

validation dict typeddict
Python
from typing import Any, TypedDict


class Person(TypedDict):
    name: str
    age: int
    email: str


def validate_person(data: dict[str, Any]) -> Person:
    errors: list[str] = []

    if not isinstance(data.get("name"), str) or not data["name"].strip():
        errors.append("name must be a non-empty string")
  …
13 0 Open
Git + Python easy

Amend Last Commit Message in Python

This script uses subprocess to run `git commit --amend` and update the most recent commit's message in your repository.

git subprocess automation
Python
import subprocess
import sys


def amend_last_commit_message(new_message: str) -> None:
    """Change the message of the most recent commit."""
    result = subprocess.run(
        ["git", "commit", "--amend", "-m", new_message],
        capture_output=True,
        text=True,
        check=False,
    )
    if result.…
15 0 Open
Git + Python easy

How to Auto-Suggest a SemVer Bump From Git Commit Messages in Python

This code scans Git commit messages (recent or sample) and suggests the next Semantic Versioning bump type — major, minor, patch, or none.

semver git automation
Python
import re
import subprocess
from pathlib import Path


def get_commit_messages(path="."):
    """Read commit messages from a repo or use sample messages."""
    if (Path(path) / ".git").exists():
        out = subprocess.run(
            ["git", "-C", path, "log", "--pretty=%s"], capture_output=True, text=True
       …
13 0 Open
Git + Python easy

How to Create a Git Commit with Message Template in Python

Run a git commit from Python using a standardized message template built from a commit type and description.

git subprocess automation
Python
import subprocess
import sys


def commit_with_template(commit_type: str, description: str) -> None:
    message = f"{commit_type}: {description}"
    try:
        subprocess.run(["git", "commit", "-m", message], check=True)
        print(f"Committed: {message}")
    except subprocess.CalledProcessError as e:
        …
12 0 Open
Cloud + Python easy

How to Validate Data Fields and Types in Python

Validate required fields and type correctness in a Python dictionary with small helper functions, returning a list of clear error messages.

validation data dict
Python
import json
from typing import Any, Dict, List


def validate_data(data: Dict[str, Any], required_fields: List[str]) -> List[str]:
    """Check required fields exist and are non-empty. Return list of errors."""
    errors = []
    for field in required_fields:
        value = data.get(field)
        if value is None o…
13 0 Open
Cloud + Python easy

Mock SNS publish subscribe fanout in Python

Simulates AWS SNS publish/subscribe with an in-memory topic-to-endpoints dict that fans out messages to all subscribers.

aws sns pub-sub
Python
class SNSMock:
    def __init__(self):
        self.topics = {}

    def create_topic(self, name):
        if name not in self.topics:
            self.topics[name] = []
        return f"arn:aws:sns:us-east-1:123456789012:{name}"

    def subscribe(self, topic_name, endpoint):
        self.topics.setdefault(topic_name…
13 0 Open
Modern tooling easy

How to Create a Rich Console Progress Bar Mock in Python

This code uses Rich's Console and Progress API to build a simulated progress bar for a long-running task, updating progress and printing status messages.

rich progress-bar cli
Python
import time
from rich.console import Console
from rich.progress import Progress, BarColumn, TextColumn, PercentageColumn

console = Console()

def run_simulation():
    console.print("[bold cyan]Starting simulated task...[/bold cyan]")
    
    with Progress(
        TextColumn("[bold blue]{task.description}[/bold blu…
11 0 Open
Modern tooling easy

How to Generate a Mock Rollbar Error Report in Python

Create a realistic fake Rollbar error report with random timestamps, levels, messages, and counts for testing and demos.

rollbar mock-data error-reporting
Python
import json
import random
import time
from datetime import datetime, timedelta


def mock_rollbar_report(n_errors=5):
    messages = [
        "TypeError: unsupported operand type(s) for +: 'int' and 'str'",
        "KeyError: 'user_id'",
        "ValueError: invalid literal for int() with base 10: 'abc'",
        "At…
13 0 Open
Concurrency & performance easy

How to Send and Receive Messages Between Processes with multiprocessing.Pipe in Python

Use multiprocessing.Pipe to create a two-way connection between two processes, send a message from parent to child, and receive a reply back.

multiprocessing pipe interprocess-communication
Python
import multiprocessing


def child_process(conn):
    """Receive from parent and send back a response."""
    message = conn.recv()
    print(f"Child received: {message}")
    conn.send("Hello from child!")


if __name__ == "__main__":
    parent_conn, child_conn = multiprocessing.Pipe()

    process = multiprocessing…
14 0 Open
Concurrency & performance easy

How to spawn multiple worker processes in Python with multiprocessing.Process

Spawns three separate worker processes using multiprocessing.Process, runs them concurrently, and waits for all to finish before printing a completion message.

multiprocessing parallel concurrency
Python
import multiprocessing
import time

def worker(name):
    print(f"Worker {name} started")
    time.sleep(1)
    print(f"Worker {name} finished")
    return name

if __name__ == "__main__":
    processes = []
    for i in range(3):
        p = multiprocessing.Process(target=worker, args=(i,))
        processes.append(p…
14 0 Open
Testing & modern typing easy

How to Assert Exceptions in Python with pytest.raises

Use pytest.raises as a context manager to assert that a function raises an expected exception and inspect its message in pytest tests.

pytest testing exceptions
Python
import pytest

def divide(a, b):
    if b == 0:
        raise ValueError("Cannot divide by zero")
    return a / b

def test_divide_by_zero():
    with pytest.raises(ValueError) as exc_info:
        divide(10, 0)
    assert str(exc_info.value) == "Cannot divide by zero"
    assert "zero" in str(exc_info.value)

def te…
14 0 Open
System design patterns easy

Idempotent Consumer: Store Processed IDs in Python

Implement an idempotent consumer that persists processed message IDs to a JSON file, skipping duplicates on restart.

idempotency duplicate-detection state-persistence
Python
import json
from pathlib import Path


class IdempotentStore:
    def __init__(self, storage_path: str = "processed_ids.json"):
        self.storage_path = Path(storage_path)
        self.processed_ids = self._load()

    def _load(self) -> set:
        if self.storage_path.exists():
            with self.storage_path…
15 0 Open
System design patterns easy

Route Messages to Handlers with a Python Dict

This code demonstrates a simple message routing pattern using a dictionary to map topic keys to handler functions, with a default handler for unmatched topics.

routing dictionary message-broker
Python
def route_message(message, routing_table):
    """Route a message to the correct handler based on the topic key."""
    topic = message.get("topic", "default")
    handler = routing_table.get(topic, routing_table.get("default"))
    return handler(message)


def handle_orders(message):
    return f"Orders handler proc…
12 0 Open
API design & gRPC easy

Convert Protobuf to JSON and Dict in Python

Provides static helper methods to convert between protobuf messages, JSON strings, and Python dictionaries using the google.protobuf library.

protobuf json grpc
Python
from google.protobuf.json_format import MessageToJson, Parse
import json


class DataConverter:
    """Helper class to convert between protobuf messages and common formats."""

    @staticmethod
    def to_json(message, indent=2):
        """Convert a protobuf message to JSON string."""
        return MessageToJson(me…
18 0 Open
API design & gRPC easy

Format data in Python using dataclasses like gRPC messages

Convert Python dataclasses to and from dicts and format them gRPC-style for clean data handling.

dataclasses grpc serialization
Python
from dataclasses import dataclass
from typing import Any, Dict, List, Optional


@dataclass
class ProductInfo:
    """Data class representing a gRPC-style product message."""

    name: str
    price: float
    tags: List[str]
    description: Optional[str] = None

    def to_dict(self) -> Dict[str, Any]:
        """C…
14 0 Open
API design & gRPC easy

How to Add a Correlation ID Tracing Header in Python

A mock middleware generates or preserves a correlation ID header and logs structured JSON messages with it for API request tracing.

correlation-id tracing middleware
Python
import uuid
import json
from dataclasses import dataclass, field
from typing import Optional

@dataclass
class Request:
    headers: dict = field(default_factory=dict)

    def get(self, key, default=None):
        return self.headers.get(key, default)

class CorrelationIdMiddleware:
    def __init__(self, header_name…
16 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 easy

How to Validate JWT Claims (exp, iss, aud) in Python

This code demonstrates how to decode and validate a JWT's essential claims—expiration (exp), issuer (iss), and audience (aud)—using the PyJWT library, returning clear error messages for common validation failures.

jwt authentication security
Python
import jwt
from datetime import datetime, timezone, timedelta

SECRET = "mock-secret"

def validate_token(token, expected_iss, expected_aud):
    try:
        decoded = jwt.decode(
            token,
            SECRET,
            algorithms=["HS256"],
            options={"require": ["exp", "iss", "aud"]},
         …
12 0 Open
Streaming & messaging easy

Build a Streaming Messaging Helper in Python

Create a simple message stream class that stores recent messages, sends user messages, and retrieves history or latest messages with timestamps.

streaming deque dataclass
Python
from collections import deque
from dataclasses import dataclass
from datetime import datetime
import time


@dataclass
class Message:
    user: str
    text: str
    timestamp: str = ""

    def __post_init__(self):
        if not self.timestamp:
            self.timestamp = datetime.now().strftime("%H:%M:%S")


class…
13 0 Open
Streaming & messaging easy

Dead Letter Queue Failed Messages List Mock in Python

Implements a simple in-memory dead letter queue to collect, list, and retry failed messages, with JSON serialization for inspection in streaming pipelines.

dead-letter-queue messaging retry
Python
import json
from collections import deque


class Message:
    def __init__(self, message_id, payload, attempts=0):
        self.message_id = message_id
        self.payload = payload
        self.attempts = attempts

    def __repr__(self):
        return f"Message(id={self.message_id}, attempts={self.attempts})"


c…
16 0 Open
Streaming & messaging easy

Dedupe processed message IDs in Python

Filters an inbox of messages by removing items whose IDs have already been processed, using a set for fast lookups.

deduplication streaming json
Python
from pathlib import Path
import json


def dedupe_processed_ids(inbox_file: Path, processed_file: Path) -> list:
    processed = set(json.loads(processed_file.read_text()))
    inbox = json.loads(inbox_file.read_text())
    deduped = [item for item in inbox if item["id"] not in processed]
    return deduped


if __nam…
13 0 Open
Streaming & messaging easy

Exactly Once Idempotent Consumer Store in Python

A mock key-value store that guarantees exactly-once processing by rejecting duplicate message keys in a message or event stream.

idempotency streaming deduplication
Python
from collections import defaultdict

class ExactlyOnceStore:
    def __init__(self):
        self.processed = defaultdict(set)
        self.data = {}

    def consume(self, key, value):
        if key in self.data:
            return False
        self.data[key] = value
        return True

    def get_processed_count…
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.