Python Toolchain
Common commands for Python projects.
Virtual environments
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Poetry
poetry install
poetry shell
poetry add requests
poetry add --group dev pytest
# uv (fast)
uv venv
uv pip install -r requirements.txt
uv pip install requests
Testing
# 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
# Ruff (fast, replaces flake8+isort+black)
ruff check .
ruff check --fix .
ruff format .
# Black
black .
# Mypy (type checking)
mypy src/
Running
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
python3 -m pdb src/main.py # PDB debugger
python3 -c "import sys; print(sys.version)"
python3 -c "import pkg; print(pkg.__version__)"
Packaging
pip install build
python3 -m build # Build wheel + sdist
pip install -e . # Editable install
Dependencies
pip list --outdated
pip freeze > requirements.txt
pip-audit # Security audit
Notes
- Check for
pyproject.toml,setup.py, orrequirements.txtto understand project structure. - Prefer virtual environments to avoid global package conflicts.
- Use
python3explicitly (notpython) for portability.