Esta página se muestra en inglés. Una traducción al español está en curso.
SkillsMay 18, 2026·3 min de lectura

isort — Automatic Python Import Sorting Utility

isort is a Python utility that automatically sorts and organizes import statements according to PEP 8 and configurable profiles. It integrates with pre-commit hooks, editors, and CI pipelines to keep imports consistent across projects.

Listo para agents

Instalación lista para agent

Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.

Native · 98/100Política: permitir
Superficie agent
Cualquier agent MCP/CLI
Tipo
Skill
Instalación
Single
Confianza
Confianza: Established
Entrada
isort Import Sorter
Comando de instalación directa
npx -y tokrepo@latest install 0e072ba0-52b6-11f1-9bc6-00163e2b0d79 --target codex

Ejecutar después de confirmar el plan con dry-run.

Introduction

isort sorts Python imports alphabetically and automatically separates them into sections: standard library, third-party, and local imports. It removes the tedium of manually organizing import blocks and eliminates merge conflicts caused by differently ordered imports across team members.

What isort Does

  • Sorts all import statements in Python files into standard library, third-party, and project sections
  • Removes duplicate imports and merges from imports from the same module
  • Supports multiple output styles including multi-line, vertical hanging indent, and force single line
  • Runs as a CLI tool, Python API, pre-commit hook, or editor integration
  • Checks files without modifying them using --check-only for CI enforcement

Architecture Overview

isort parses Python files to extract import statements, classifies each import by origin (stdlib, third-party, first-party, or local) using a combination of known module lists and heuristics, then re-emits the imports in sorted order. It preserves comments attached to imports and handles star imports, conditional imports, and TYPE_CHECKING blocks. Configuration cascades from command-line flags through pyproject.toml, setup.cfg, and .isort.cfg files.

Self-Hosting & Configuration

  • Install via pip install isort or include in your dev dependencies with pip install isort[colors] for colored diff output
  • Configure in pyproject.toml under [tool.isort] with options like profile = "black" for Black compatibility
  • Use built-in profiles: black, google, pycharm, django, and others to match your team's style
  • Add to pre-commit with the official pycqa/isort hook for automatic formatting on commit
  • Set known_third_party and known_first_party lists to help isort classify ambiguous imports

Key Features

  • Profiles for popular tools like Black, Google style, and Django to avoid configuration conflicts
  • Git-aware mode that only processes files changed since a given revision
  • Multi-line import styles with five distinct formatting options
  • Float-to-top mode that moves imports to the top of the file above other code
  • Plugin architecture for custom import classification and output formatting

Comparison with Similar Tools

  • Black — formats all Python code but defers import ordering to isort; the two are designed to work together
  • Ruff — includes isort-compatible import sorting as part of its fast Rust-based linter
  • autopep8 — fixes PEP 8 violations broadly but has limited import sorting capabilities
  • importmagic — auto-adds missing imports; isort focuses on sorting existing imports
  • usort — Meta's import sorter with stricter defaults; isort offers more configuration flexibility

FAQ

Q: How do I make isort compatible with Black? A: Set profile = "black" in your isort configuration. This adjusts multi-line style and trailing comma behavior to match Black's output.

Q: Can isort handle conditional imports inside if blocks? A: Yes. isort detects and preserves imports inside if TYPE_CHECKING, try/except, and other conditional blocks without moving them to the top level.

Q: Does isort work with monorepos? A: Yes. Use src_paths configuration to tell isort which directories contain first-party code, and it will classify imports accordingly.

Q: How fast is isort on large codebases? A: isort processes files in parallel and is fast enough for most projects. For very large codebases, Ruff's built-in isort implementation is significantly faster.

Sources

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados