Universal Python documentation tooltips - Works with 500+ Python symbols!
SimplePyDocs provides instant, comprehensive documentation tooltips when hovering over ANY Python symbol in VS Code. From built-in functions to popular libraries like pandas, numpy, and requests - get documentation instantly without leaving your editor!
- Universal Coverage - Works with 500+ Python symbols including built-ins, modules, and libraries
- Comprehensive Documentation - All Python keywords, 143+ built-ins, and popular libraries
- Two Display Modes:
- Beginner Mode: Simple one-liner explanations
- Developer Mode: Detailed signatures with parameters
- Dynamic Discovery - Automatically finds and documents Python symbols
- Smart Fallbacks - Uses Python's built-in
__doc__
strings - Customizable - Add your own documentation overrides
- Modern UI - Clean, professional tooltip rendering
- Security First - Built with comprehensive security measures
- Python Beginners: Learn what keywords and functions do without leaving your editor
- Quick Reference: Get instant reminders about function parameters and usage
- Code Reviews: Understand unfamiliar Python code quickly
- Teaching: Provide immediate context for Python concepts
- Data Scientists: Get docs for pandas, numpy, matplotlib functions
- Web Developers: Access requests, flask, django documentation
- System Admins: Get os, subprocess, threading module docs
- Full-Stack Developers: Comprehensive coverage of Python ecosystem
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X
) - Search for "SimplePyDocs"
- Click Install
- Clone this repository:
git clone https://github.com/kunalbandale/simple-py-docs.git cd simple-py-docs
- Install dependencies:
npm install
- Build the extension:
npm run compile
- Press
F5
in VS Code to run the extension in a new Extension Development Host window
- Open any Python file (
.py
) - Hover over any Python keyword or built-in function
- See instant documentation tooltips!
Open VS Code settings (Ctrl+,
) and search for "SimplePyDocs" to customize:
{
"simplePyDocs.mode": "beginner", // "beginner" or "developer"
"simplePyDocs.enableBuiltins": true, // Enable built-in function tooltips
"simplePyDocs.enableKeywords": true, // Enable keyword tooltips
"simplePyDocs.customDocs": { // Custom documentation overrides
"myFunction": "My custom documentation"
}
}
- Show All Python Built-ins:
Ctrl+Shift+P
โ "SimplePyDocs: Show All Python Built-ins"- Displays comprehensive list of available Python functions and classes
- Shows total count of discoverable symbols
len โ "Return the number of items in obj"
len
**Return the number of items in obj**
simple-py-docs/
โโโ src/
โ โโโ extension.ts # Main extension logic with universal Python support
โโโ media/
โ โโโ icon.png # Extension logo (128x128)
โโโ screenshots/ # Extension screenshots and demos
โโโ package.json # Extension metadata & publishing config
โโโ tsconfig.json # TypeScript configuration
โโโ .vscode/ # VS Code configuration
โ โโโ launch.json # Debug configuration
โ โโโ tasks.json # Build tasks
โโโ README.md # This file
# Install dependencies
npm install
# Build the extension
npm run compile
# Watch for changes
npm run watch
# Package for publishing
npm run package
# Publish to marketplace
npm run publish
# Run tests
npm test
# Run extension in development mode
# Press F5 in VS Code
- Language: TypeScript (VS Code standard)
- APIs: Official VS Code Extension API (
vscode.languages.registerHoverProvider
) - Documentation Source: Python built-in
__doc__
strings + dynamic module discovery - Rendering: VS Code Markdown rendering for rich tooltips
- Coverage: 500+ Python symbols including built-ins, modules, and popular libraries
- PythonHoverProvider: Main hover provider class implementing
vscode.HoverProvider
- Universal Documentation: Dynamically discovers and documents Python symbols
- Module Discovery: Searches built-ins, common modules, and popular libraries
- Security Features: Input validation, process timeouts, and rate limiting
- Configuration: VS Code workspace configuration integration
- Fallback System: Comprehensive fallback documentation system
- Lazy Loading: Documentation fetched only when hovering
- Smart Caching: Built-in documentation cached in memory
- Efficient Discovery: Dynamic module search with timeout protection
- Non-blocking: Async Python process calls with rate limiting
- Universal Coverage: Works with 500+ Python symbols
{
"simplePyDocs.customDocs": {
"myCustomFunction": "This function does something amazing",
"anotherFunction": "Another custom description"
}
}
- โ Python keywords and built-in functions
- โ Beginner and developer modes
- โ Custom documentation overrides
- โ Universal Python symbol discovery
- โ Popular library support (pandas, numpy, requests)
- โ Security features and rate limiting
- ๐ Advanced library detection (auto-import analysis)
- ๐ Snippet integration with documentation
- ๐ Documentation caching and persistence
- ๐ Custom library documentation
- ๐ฎ AI-powered documentation generation
- ๐ฎ Community documentation sharing
- ๐ฎ Integration with documentation sites
- ๐ฎ Advanced code analysis and suggestions
- ๐ฎ Performance profiling and optimization
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Run tests:
npm test
- Commit:
git commit -m 'Add amazing feature'
- Push:
git push origin feature/amazing-feature
- Open a Pull Request
- Code Style: Follow TypeScript best practices
- Comments: Add clear inline comments for complex logic
- Testing: Add tests for new features
- Documentation: Update README for new features
- ๐ Bug fixes and improvements
- โจ New Python keywords/functions
- ๐จ UI/UX improvements
- ๐ Documentation enhancements
- ๐งช Test coverage
- ๐ Localization support
- Launch Extension: Press
F5
in VS Code - Open Python File: Create a test Python file for testing
- Hover Over Symbols: Test keywords, functions, and classes
The extension works with 500+ Python symbols:
Category | Count | Examples | Status |
---|---|---|---|
Keywords | 35+ | def , class , if , for , self |
โ 100% |
Built-ins | 143+ | len , print , max , min , sorted |
โ 100% |
Common Modules | 50+ | os , sys , typing , json , re |
โ 100% |
Popular Libraries | 100+ | pandas , numpy , requests , matplotlib |
โ 100% |
Standard Library | 200+ | collections , itertools , functools |
โ 100% |
- Show All Built-ins:
Ctrl+Shift+P
โ "SimplePyDocs: Show All Python Built-ins" - Toggle Modes: Switch between beginner and developer modes in settings
This project is licensed under the MIT License - see the LICENSE file for details.
- VS Code Team - For the excellent extension API
- Python Community - For comprehensive built-in documentation
- Open Source Contributors - For making this project possible
- Issues: GitHub Issues
- Discussions: GitHub Discussions
If you find this extension helpful, please consider giving it a star on GitHub!
Made with โค๏ธ for the Python and VS Code communities