Skip to content

Python Tools

Python development is easier when you choose tools by workflow instead of by hype.

CategoryWhat it solvesCommon choices
Editors and IDEsWriting, debugging, navigationVS Code, PyCharm
Interactive workExploration and notebooksJupyter
Environment managementIsolated dependenciesvenv, Conda
Formatting and lintingConsistency and code qualityBlack, Ruff
Packaging and installDependency installationpip

A strong default when you want a flexible editor that also handles notebooks, terminals, debugging, and extensions well.

A stronger choice when you want a fuller IDE experience with deep project tooling, inspections, and refactoring support.

Useful for:

  • experiments
  • tutorials
  • data exploration
  • model prototyping

Not every Python project should become a notebook workflow, but notebooks are excellent for exploratory work.

The standard built-in choice for project-local virtual environments.

Useful when a workflow depends on broader scientific or cross-language environment management.

Use Black when you want consistent formatting with minimal configuration debate.

Use Ruff when you want fast linting and a strong baseline for code quality checks.

For many projects, this is enough:

  1. VS Code or PyCharm
  2. a local .venv
  3. pip for package installation
  4. Black and Ruff for formatting and linting