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! ⭐
Get Tombo running in 2 minutes:
- Install from VS Code Marketplace
- Open any Python project with
pyproject.tomlorrequirements.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
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*.txtvariants - 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 operatorFrom VS Code Marketplace (Recommended):
# Search for "Tombo - Python Package Manager" in VS Code Extensions
# Or install via command line:
code --install-extension benbenbang.tomboLocal 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 testConfigure 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
}Complete guides available at benbenbang.github.io/tombo:
- Getting Started - Installation and setup
- Features Guide - Version completion, hover info, smart caching
- Examples - PEP 621, Poetry, requirements.txt, real workflows
- Troubleshooting - Common issues and solutions
- Development - Architecture and 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 HostSee contributing guidelines for detailed information.
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
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