⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

VS Code extension for Python dependency management in pyproject.toml and requirements.txt with real-time version suggestions and intelligent autocompletion

License

Notifications You must be signed in to change notification settings

benbenbang/tombo

Tombo - Modern Python Package Manager for VS Code

License: MIT VS Code Marketplace TypeScript

Tombo is a modern, production-ready VS Code extension that revolutionizes Python dependency management. Built with a clean TypeScript architecture, it provides intelligent PyPI integration, robust caching, and seamless support for both modern pyproject.toml and classic requirements.txt files.

A star to the project is a big motivation boost!

Quick Start

Get Tombo running in 2 minutes:

  1. Install from VS Code Marketplace
  2. Open any Python project with pyproject.toml or requirements.txt
  3. Type version constraints (numpy>=) and get intelligent completion
  4. Hover over package names for rich metadata

Try it now: Download from VS Code Marketplace | View Documentation

Key Features

Intelligent PyPI Integration

  • Real-time version suggestions with smart caching (90% faster response times)
  • Comprehensive metadata including package descriptions, release dates, and compatibility
  • Advanced filtering for pre-releases, yanked versions, and Python compatibility

Universal Python Standards Support

  • Modern Python packaging: Full PEP 621/518/660 compliance for pyproject.toml
  • Legacy compatibility: Complete support for all requirements*.txt variants
  • Smart parsing: Handles complex dependency specifications and version constraints

Visual Intelligence & Performance

  • Smart decorators: Visual indicators for compatibility, warnings, and errors
  • Rich hover information: Detailed package information without leaving your editor
  • Smart caching: LRU cache with configurable TTL reduces API calls by ~90%
  • Network resilience: Exponential backoff, rate limiting, and connectivity checks

Supported Formats

Works instantly with:

# pyproject.toml - PEP 621
[project]
dependencies = [
    "requests>=",           # <- Type here for version completion
    "numpy==",              # <- Exact version suggestions
    "django~=4.0",          # <- Compatible release options
]
# pyproject.toml - Poetry
[tool.poetry.dependencies]
python = "^3.9"
requests = "^2."            # <- Caret constraint completion
click = "~8.1"              # <- Tilde constraint completion
# requirements.txt
requests>=2.               # <- Traditional pip constraints
numpy==1.24.               # <- Specific version families
django~=4.2.0              # <- Compatible release operator

Installation

From VS Code Marketplace (Recommended):

# Search for "Tombo - Python Package Manager" in VS Code Extensions
# Or install via command line:
code --install-extension benbenbang.tombo

Local Development:

git clone https://github.com/benbenbang/tombo.git
cd tombo
npm install && nox -s setup
npm run watch  # Start development mode
# Press F5 in VS Code to test

Configuration

Configure Tombo via VS Code settings (Ctrl+, then search "tombo"):

{
  "tombo.pypiIndexUrl": "https://pypi.org/pypi/",
  "tombo.listPreReleases": false,
  "tombo.requestTimeout": 10000,
  "tombo.cacheTimeoutMinutes": 10,
  "tombo.maxCacheSize": 1000
}

Documentation

Complete guides available at benbenbang.github.io/tombo:

Contributing

We welcome contributions! Quick start:

git clone https://github.com/benbenbang/tombo.git
cd tombo
npm install && nox -s setup
npm run watch  # Development mode
# Press F5 to test in Extension Development Host

See contributing guidelines for detailed information.

Requirements

  • VS Code: 1.75.0 or higher
  • Python Extension: Required for Python environment detection
  • Node.js: 14.x+ (for development)
  • Network: Internet access for PyPI API

License

This project is licensed under the MIT License - see the LICENSE file for details.

Inspiration

Inspired by the excellent crates extension for Rust package management, but built from the ground up with modern TypeScript patterns for the Python ecosystem.


Visit benbenbang.github.io/tombo for the complete and easy to read documentation.

Built with ❤️ and modern TypeScript for the Python community

About

VS Code extension for Python dependency management in pyproject.toml and requirements.txt with real-time version suggestions and intelligent autocompletion

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published