# Toolchain Python

> Python project toolchain -- venv, pip, testing, linting, packaging, and debugging.

- Skill: `thinkfleetai/toolchain-python` (Agent Skill)
- Install (CLI): `npx skillmds@latest add thinkfleetai/toolchain-python`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thinkfleetai/toolchain-python/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: thinkfleetai (https://skillmd.com/u/thinkfleetai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/thinkfleetai/toolchain-python

---


# Python Toolchain

Common commands for Python projects.

## Virtual environments

```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

```bash
# Poetry
poetry install
poetry shell
poetry add requests
poetry add --group dev pytest
```

```bash
# uv (fast)
uv venv
uv pip install -r requirements.txt
uv pip install requests
```

## Testing

```bash
# pytest
python3 -m pytest
python3 -m pytest -v --tb=short
python3 -m pytest tests/test_api.py -k "test_login"
python3 -m pytest --cov=src --cov-report=term-missing

# unittest
python3 -m unittest discover -s tests
```

## Linting & formatting

```bash
# Ruff (fast, replaces flake8+isort+black)
ruff check .
ruff check --fix .
ruff format .

# Black
black .

# Mypy (type checking)
mypy src/
```

## Running

```bash
python3 src/main.py
python3 -m mypackage

# Flask
flask run --debug

# Django
python3 manage.py runserver
python3 manage.py migrate
python3 manage.py createsuperuser
```

## Debugging

```bash
python3 -m pdb src/main.py         # PDB debugger
python3 -c "import sys; print(sys.version)"
python3 -c "import pkg; print(pkg.__version__)"
```

## Packaging

```bash
pip install build
python3 -m build                    # Build wheel + sdist
pip install -e .                    # Editable install
```

## Dependencies

```bash
pip list --outdated
pip freeze > requirements.txt
pip-audit                           # Security audit
```

## Notes

- Check for `pyproject.toml`, `setup.py`, or `requirements.txt` to understand project structure.
- Prefer virtual environments to avoid global package conflicts.
- Use `python3` explicitly (not `python`) for portability.

