Tombo - Modern Python Package Manager for VS Code

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:
- Install from VS Code Marketplace
- Open any Python project with
pyproject.toml
or requirements.txt
- Type version constraints (
numpy>=
) and get intelligent completion
- 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
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