MR
Mayur Rathi
@mayurrathi
⭐ 40.7k GitHub stars

Python Patterns

Python Patterns is an code AI skill with a core value of Python development principles and decision-making. It helps developers solve real-world problems in the code domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Python development principles and decision-making. Framework selection, async patterns, type hints, project structure. Teaches thinking, not copying.

Last verified on: 2026-07-07

Quick Facts

Category code
Works With Claude
Source sickn33/antigravity-awesome-skills
Stars ⭐ 40.7k
Last Verified 2026-07-07
Risk Level Low
mkdir -p ./skills/python-patterns && curl -sfL https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/skills/python-patterns/SKILL.md -o ./skills/python-patterns/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Python Patterns


> Python development principles and decision-making for 2025.

> **Learn to THINK, not memorize patterns.**


When to Use


Use this skill when making Python architecture decisions, choosing frameworks, designing async patterns, or structuring Python projects.


---


⚠️ How to Use This Skill


This skill teaches **decision-making principles**, not fixed code to copy.


- ASK user for framework preference when unclear

- Choose async vs sync based on CONTEXT

- Don't default to same framework every time


---


1. Framework Selection (2025)


Decision Tree


text
What are you building?
│
├── API-first / Microservices
│   └── FastAPI (async, modern, fast)
│
├── Full-stack web / CMS / Admin
│   └── Django (batteries-included)
│
├── Simple / Script / Learning
│   └── Flask (minimal, flexible)
│
├── AI/ML API serving
│   └── FastAPI (Pydantic, async, uvicorn)
│
└── Background workers
    └── Celery + any framework

Comparison Principles


| Factor | FastAPI | Django | Flask |

|--------|---------|--------|-------|

| **Best for** | APIs, microservices | Full-stack, CMS | Simple, learning |

| **Async** | Native | Django 5.0+ | Via extensions |

| **Admin** | Manual | Built-in | Via extensions |

| **ORM** | Choose your own | Django ORM | Choose your own |

| **Learning curve** | Low | Medium | Low |


Selection Questions to Ask:

1. Is this API-only or full-stack?

2. Need admin interface?

3. Team familiar with async?

4. Existing infrastructure?


---


2. Async vs Sync Decision


When to Use Async


text
async def is better when:
├── I/O-bound operations (database, HTTP, file)
├── Many concurrent connections
├── Real-time features
├── Microservices communication
└── FastAPI/Starlette/Django ASGI

def (sync) is better when:
├── CPU-bound operations
├── Simple scripts
├── Legacy codebase
├── Team unfamiliar with async
└── Blocking libraries (no async version)

The Golden Rule


text
I/O-bound → async (waiting for external)
CPU-bound → sync + multiprocessing (computing)

Don't:
├── Mix sync and async carelessly
├── Use sync libraries in async code
└── Force async for CPU work

Async Library Selection


| Need | Async Library |

|------|---------------|

| HTTP client | httpx |

| PostgreSQL | asyncpg |

| Redis | aioredis / redis-py async |

| File I/O | aiofiles |

| Database ORM | SQLAlchemy 2.0 async, Tortoise |


---


3. Type Hints Strategy


When to Type


text
Always type:
├── Function parameters
├── Return types
├── Class attributes
├── Public APIs

Can skip:
├── Local variables (let inference work)
├── One-off scripts
├── Tests (usually)

Common Type Patterns


python
# These are patterns, understand them:

# Optional → might be None
from typing import Optional
def find_user(id: int) -> Optional[User]: ...

# Union → one of multiple types
def process(data: str | dict) -> None: ...

# Generic collections
def get_items() -> list[Item]: ...
def get_mapping() -> dict[str, int]: ...

# Callable
from typing import Callable
def apply(fn: Callable[[int], str]) -> str: ...

Pydantic for Validation


text
When to use Pydantic:
├── API request/response models
├── Configuration/settings
├── Data validation
├── Serialization

Benefits:
├── Runtime validation
├── Auto-generated JSON schema
├── Works with FastAPI natively
└── Clear error messages

---


4. Project Structure Principles


Structure Selection


text
Small project / Script:
├── main.py
├── utils.py
└── requirements.txt

Medium API:
├── app/
│   ├── __init__.py
│   ├── main.py
│   ├── models/
│   ├── routes/
│   ├── services/
│   └── schemas/
├── tests/
└── pyproject.toml

Large application:
├── src/
│   └── myapp/
│       ├── core/
│       ├── api/
│       ├── services/
│       ├── models/
│       └── ...
├── tests/
└── pyproject.toml

FastAPI Structure Principles


text
Organize by feature or layer:

By layer:
├── routes/ (API endpoints)
├── services/ (business logic)
├── models/ (database models)
├── schemas/ (Pyda

🎯 Best For

  • Copywriters
  • Marketing teams
  • Claude users
  • Software engineers
  • Development teams

💡 Use Cases

  • Writing landing page headlines
  • Creating email drip sequences
  • Python code quality enforcement
  • Dependency management

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Python Patterns to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Can this match my brand voice?

Yes — provide brand guidelines and tone examples in your prompt for consistent output.

Is Python Patterns compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Python Patterns?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Python Patterns?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/python-patterns/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Using generic templates

Great copy requires understanding your audience. Customize the skill output for your specific buyers.

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills