From majestic-python
Supports modern Python 3.12+ development with uv package management, ruff linting/formatting, pytest testing, advanced patterns like pattern matching and async, plus production standards.
npx claudepluginhub majesticlabs-dev/majestic-marketplace --plugin majestic-pythonThis skill is limited to using the following tools:
Modern Python 3.12+ development patterns.
Masters Python 3.12+ features like async patterns, performance optimization, and production practices using uv, ruff, pydantic, FastAPI, pytest. For advanced Python development.
Masters Python 3.12+ for async programming, performance optimization, production practices using uv, ruff, pydantic, FastAPI. For writing/reviewing modern Python codebases.
Guides idiomatic Python 3.12+ development for code, CLI tools, scripts, and services using stdlib first, type hints, protocols, flat control flow, and uv/ruff/pyright toolchain.
Share bugs, ideas, or general feedback.
Modern Python 3.12+ development patterns.
| Skill | Use When |
|---|---|
fastapi-coder | Building FastAPI services |
django-coder | Django web applications |
pytest-coder | Writing comprehensive tests |
python-debugger | Debugging Python code |
# Project setup
uv init my-project
uv add fastapi pydantic
uv add --dev pytest ruff mypy
# Run commands
uv run python main.py
uv run pytest
# pyproject.toml
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B"]
[tool.ruff.format]
quote-style = "double"
[tool.pyright]
pythonVersion = "3.12"
typeCheckingMode = "strict"
match command:
case {"action": "create", "item": item}:
create(item)
case {"action": "delete", "id": int(id)}:
delete(id)
case _:
raise ValueError("Unknown command")
async def fetch_all(urls: list[str]) -> list[dict]:
async with aiohttp.ClientSession() as session:
tasks = [fetch(session, url) for url in urls]
return await asyncio.gather(*tasks)
from typing import TypeVar, Protocol
T = TypeVar("T")
class Repository(Protocol[T]):
def get(self, id: int) -> T | None: ...
def save(self, entity: T) -> T: ...