# python-mode/python-mode

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/python-mode-python-mode).**

5,465 stars · 758 forks · Vim Script · LGPL-3.0

## Links

- GitHub: https://github.com/python-mode/python-mode
- awesome-repositories: https://awesome-repositories.com/repository/python-mode-python-mode.md

## Description

python-mode is a Vim IDE plugin that provides an integrated toolset for Python development. It incorporates a debugging interface for managing execution breakpoints and inspecting program state, a documentation browser for retrieving official language symbols, and a system for static analysis and automated structural refactoring.

The project features a dedicated environment manager that detects and utilizes project-specific virtual environments to ensure correct library and interpreter resolution. It integrates external tools such as PyLint and Rope to identify code errors and perform project-wide refactoring.

The plugin covers broad development capabilities including real-time linting, automated code formatting, and intelligent code completion. It also provides structural navigation tools for jumping between definitions, advanced syntax highlighting, and the ability to execute individual code blocks directly from the editor.

## Tags

### Development Tools & Productivity

- [Python IDE Implementations](https://awesome-repositories.com/f/development-tools-productivity/vim-ide-frameworks/python-ide-implementations.md) — Transforms the Vim editor into a full-featured Python IDE with integrated linting, refactoring, and debugging.
- [Vim IDE Plugins](https://awesome-repositories.com/f/development-tools-productivity/vim-ide-plugins.md) — Provides an integrated toolset for Python development, including linting, refactoring, and debugging, inside the Vim editor.
- [Python Code Completers](https://awesome-repositories.com/f/development-tools-productivity/code-completion/python-code-completers.md) — Analyzes Python source code statically to provide intelligent completions based on project structure and syntax. ([source](https://github.com/python-mode/python-mode/blob/develop))
- [Code Refactoring Tools](https://awesome-repositories.com/f/development-tools-productivity/code-refactoring-tools.md) — Provides utilities to restructure and modernize Python code, such as moving references and updating imports. ([source](https://github.com/python-mode/python-mode/blob/develop/CHANGELOG.md))
- [Editor-Integrated Debugging](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/debugging-inspection-tools/editor-integrated-debugging.md) — Integrates debugging tools directly into the editor to manage breakpoints and inspect program state. ([source](https://github.com/python-mode/python-mode#readme))
- [External Tool Integrations](https://awesome-repositories.com/f/development-tools-productivity/external-tool-integrations.md) — Integrates standalone binaries like PyLint and Rope to perform static analysis and automated refactoring.
- [Breakpoint Debugging](https://awesome-repositories.com/f/development-tools-productivity/interactive-debug-consoles/breakpoint-debugging.md) — Provides an interface to halt execution at breakpoints and inspect variable state interactively within the editor.
- [Python Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/python-environment-managers.md) — Detects and utilizes project-specific virtual environments to ensure correct library and interpreter resolution.
- [Virtual Environment Execution](https://awesome-repositories.com/f/development-tools-productivity/script-interpreters/virtual-environment-execution.md) — Launches separate processes using detected virtual environments to execute specific scripts or selected code blocks.
- [Context-Aware Suggestions](https://awesome-repositories.com/f/development-tools-productivity/type-aware-autocompletion/context-aware-suggestions.md) — Generates intelligent code suggestions based on the semantic context and active symbol definitions of the project.
- [Documentation Lookups](https://awesome-repositories.com/f/development-tools-productivity/documentation-lookups.md) — Links active text cursors to documentation lookups by resolving symbols against the local environment.
- [Integrated Documentation](https://awesome-repositories.com/f/development-tools-productivity/integrated-documentation.md) — Embeds technical references directly into the development environment to display documentation for symbols under the cursor. ([source](https://github.com/python-mode/python-mode#readme))
- [Interactive Code Block Execution](https://awesome-repositories.com/f/development-tools-productivity/interactive-code-block-execution.md) — Enables running the current script or a selected range of code directly from the editor interface. ([source](https://github.com/python-mode/python-mode/blob/develop))
- [Real-Time Code Diagnostics](https://awesome-repositories.com/f/development-tools-productivity/real-time-code-diagnostics.md) — Provides real-time visual feedback on code errors and warnings during the editing process. ([source](https://github.com/python-mode/python-mode/blob/develop))
- [Structural Code Navigation](https://awesome-repositories.com/f/development-tools-productivity/structural-code-navigation.md) — Provides interfaces for jumping quickly between structural components like classes, methods, and definitions. ([source](https://github.com/python-mode/python-mode#readme))
- [Python Symbol Navigators](https://awesome-repositories.com/f/development-tools-productivity/symbol-navigation/python-symbol-navigators.md) — Allows jumping directly to a symbol's definition or finding all references to it across the Python project. ([source](https://github.com/python-mode/python-mode/blob/develop))

### Part of an Awesome List

- [Virtual Environments](https://awesome-repositories.com/f/awesome-lists/devtools/virtual-environments.md) — Detects and utilizes project-specific virtual environments to ensure correct library resolution and interpreter usage. ([source](https://github.com/python-mode/python-mode/blob/develop))
- [Code Formatting](https://awesome-repositories.com/f/awesome-lists/devtools/code-formatting.md) — Implements automated style correction and consistent visual formatting based on standard Python language guidelines. ([source](https://github.com/python-mode/python-mode/blob/develop))

### Software Engineering & Architecture

- [Python Refactoring Libraries](https://awesome-repositories.com/f/software-engineering-architecture/automated-refactoring-tools/python-refactoring-libraries.md) — Uses the Rope library to automate structural changes like renaming symbols and updating imports across projects.
- [AST-Based Refactorers](https://awesome-repositories.com/f/software-engineering-architecture/abstract-syntax-tree-tools/internal-tree-representations/ast-based-refactorers.md) — Implements structural code modifications by manipulating internal abstract syntax trees to ensure consistency during refactoring.
- [Editor Motion Mappings](https://awesome-repositories.com/f/software-engineering-architecture/custom-scripting-engines/custom-scripting-functions/vim-script-functions/editor-motion-mappings.md) — Binds specialized Python-specific motions and operators to internal Vim functions for improved structural navigation.

### Testing & Quality Assurance

- [Python Static Analyzers](https://awesome-repositories.com/f/testing-quality-assurance/static-code-analysis/python-static-analyzers.md) — Uses PyLint to perform static analysis of Python source code to detect errors and style violations.
- [Refactoring Integration](https://awesome-repositories.com/f/testing-quality-assurance/static-code-analysis/python-static-analyzers/refactoring-integration.md) — Integrates PyLint and Rope to identify code errors and perform automated structural refactoring.

### User Interface & Experience

- [Syntax Highlighting Editors](https://awesome-repositories.com/f/user-interface-experience/markdown-and-syntax-highlighting/syntax-highlighting-editors.md) — Enhances the editor with specialized syntax highlighting, improved indentation, and custom folding for Python files. ([source](https://github.com/python-mode/python-mode#readme))
