neo-python
用於 Python 3.10+ 開發的核心專家技能。專注於現代 Python 特性(Structural Pattern Matching, Union Types, Async Task Groups)、程式碼品質與架構設計。
Python 3.10+ Expert Skill
Trigger On
- The user asks to write, debug, review, or refactor Python code.
- Working in a repository containing
*.py,pyproject.toml,requirements.txt,Pipfile, orpoetry.lock. - Requires asynchronous programming (
asyncio), type hinting, or modern Python feature recommendations. - The project needs setup for testing frameworks (
pytest) or static analysis tools (ruff,mypy).
Workflow
- Perceive:
- Inspect the project root to identify package management tools:
pyproject.toml(Poetry/PDM/Ruff),requirements.txt(pip), orenvironment.yml(Conda). - Probe for Python version requirements (ensure compatibility with 3.10+ minimum).
- Identify the application type: Web API (FastAPI, Flask, Django), Data Science (Pandas, PyTorch), or CLI tools.
- Inspect the project root to identify package management tools:
- Reason:
- Evaluate if the current code follows modern Python (3.10+) idioms (e.g.,
match/case,|union types). - Decide if type checking (MyPy/Pyright) or auto-formatting (Ruff/Black) needs to be introduced.
- Recommend appropriate architectural patterns based on project scale.
- Evaluate if the current code follows modern Python (3.10+) idioms (e.g.,
- Act:
- Write Python code with complete Type Hints, prioritizing the
X | Ysyntax. - Prefer modern language features:
matchstatements (3.10+),TaskGroup(3.11+), and new generic syntax (3.12+). - Ensure code passes static analysis and unit tests.
- Write Python code with complete Type Hints, prioritizing the
Coding Standards
- Type Hinting: Strongly recommended for all function signatures. Use 3.10+ union syntax like
list[int | str]. - PEP 8 Compliance: Follow official style guidelines. Recommended to use
ruffas a linter and formatter for consistency. - Async Processing: Use 3.11+
asyncio.TaskGroupto manage concurrent tasks. - Error Handling: Use specific exception types and leverage 3.11+
ExceptionGroupandexcept*syntax.
Tooling Recommendations
- Linter / Formatter:
ruff(high performance and highly integrated). - Type Checker:
mypyorpyright. - Testing:
pytestwithpytest-asyncioorpytest-cov. - Package Management:
Poetryoruvto ensure dependency locking and environment consistency.
Deliver
- Code Quality Report: Identify parts that do not comply with 3.10+ modern syntax or PEP 8.
- Best Practice Recommendations: Provide specific refactoring suggestions, such as converting complex logic into
match/casestructures. - Validated Code: Provide Python source code accompanied by test cases and passed type checks.
Validate
- Code must run in a Python 3.10+ environment.
- Functions should have Docstrings (following Google or NumPy styles).
- Complex logic should include unit tests.
- All public APIs should have complete type hints.
Documentation
Official References
Internal References
- Modern Python syntax evolution (3.10-3.14) and PEP 8 naming conventions
- Recommended modern Python 3.10 - 3.14 development patterns and best practices
- Outdated Python practices to avoid, common pitfalls, and security traps
- Intelligent detection and management of Python project virtual environments and dependency tools