Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>🐍 Python Hover - Enhanced DocumentationNew to Visual Studio Code? Get it now.
🐍 Python Hover - Enhanced Documentation

🐍 Python Hover - Enhanced Documentation

KiidxAtlas

|
4,229 installs
| (4) | Free
Instant Python documentation with 300+ constructs, 19+ libraries (NumPy, Pandas, FastAPI, Django, PyTorch, aiohttp, Click), practical examples, and smart context detection. Zero context switching!
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🐍 Python Hover β€” The Missing Manual for Your Code

Never Leave VS Code for Documentation Again

Hover-based, context-aware documentation for 300+ Python constructs, 19+ pre-configured libraries, and literally ANY library with Sphinx docs. Offline. Cached. Blazingly fast.

Stop alt-tabbing to Stack Overflow. Stop searching ReadTheDocs. Stop losing focus. Hover and learnβ€”instantly.

Visual Studio Marketplace Downloads Rating License GitHub

οΏ½ Install Now β€’ ⭐ Rate & Review β€’ 🐛 Report Issue β€’ 🎯 Why Python Hover? β€’ 💬 Discuss


🎯 The Problem

Every Python developer faces this:

import pandas as pd

df = pd.read_csv('data.csv')
result = df.groupby('category').agg(???)  # What parameters does agg() take?

Your choices:

  • ❌ Stop coding, open browser, search "pandas agg", lose focus
  • ❌ Try to remember from memory (hint: you won't)
  • ❌ Spend 30 seconds guessing with autocomplete
  • βœ… Hover over agg() in Python Hover β€” documentation appears instantly

Context matters. You're not hovering over a generic functionβ€”you're hovering over a specific method on a Pandas DataFrame. Python Hover understands that and shows you exactly what you need.


✨ The Solution: Python Hover

A documentation engine that works like your brain. Intelligent, contextual, offline-first.


⚑ Save Hours Every Week

If this extension boosts your productivity, consider supporting its development!

Buy Me A Coffee

Every contribution helps maintain this free tool and add powerful new features! 🚀


💛 Love Python Hover?

⭐ Leave a 5-star review β€” Takes 30 seconds, helps thousands of developers discover this tool!


Python Hover Demo

✨ What Makes Python Hover Special

🎯 Universal Python Support

  • 300+ Built-in Constructs β€” Complete coverage of Python's standard library
  • 19+ Pre-Configured Libraries β€” NumPy, Pandas, FastAPI, Django, PyTorch, Flask, Matplotlib, and more
  • 🚀 Auto-Discovery for ANY Library β€” Works with scikit-learn, TensorFlow, requests, beautifulsoup4, and thousands more!
  • Smart Context Detection β€” Automatically determines if you're working with strings, lists, dicts, DataFrames, or custom objects
  • Dynamic Type Resolution β€” Intelligently identifies which library a class belongs to without hardcoding

💡 Instant Access to Information

  • Practical, Copyable Examples β€” Real code you can use immediately
  • Rich Sphinx Documentation β€” Beautiful formatting with parameters, return types, and examples
  • Offline Support β€” Aggressive caching for blazing-fast offline access
  • Zero Configuration β€” Works instantly after installation

🎨 Beautiful & Customizable

  • Clean, Modern Interface β€” Easy to read, aesthetically pleasing
  • Fully Themeable β€” Customize colors, fonts, and styles to match your setup
  • Version-Aware β€” Shows the exact documentation for your installed library versions

οΏ½ Quick Start

Installation

  1. Install from Marketplace Open VS Code β†’ Extensions (Ctrl+Shift+X) β†’ Search "Python Hover" β†’ Install

    Or click here to install

  2. Open any Python file

  3. Hover over any code β€” That's it! 🎉

No configuration, no setup, no hassle. It just works.


📚 Coverage

Built-in Python

300+ Language Constructs & Standard Library
  • Keywords: def, class, if, for, while, try, with, lambda, yield, async, await, and all others
  • Built-in Functions: print, len, range, zip, map, filter, sorted, enumerate, and 60+ more
  • String Methods: .split(), .join(), .format(), .replace(), .strip(), and 40+ more
  • List Methods: .append(), .extend(), .sort(), .pop(), .remove(), and all others
  • Dict Methods: .get(), .keys(), .values(), .items(), .pop(), and more
  • Set Operations: .add(), .union(), .intersection(), .difference(), and all set methods
  • File Operations: open(), .read(), .write(), .readline(), context managers
  • Type Hints: List, Dict, Optional, Union, Tuple, Callable, TypeVar, and all typing constructs
  • Special Methods: __init__, __str__, __repr__, __len__, __getitem__, and 50+ dunder methods
  • Standard Library Modules: os, sys, datetime, json, re, math, random, and more

Pre-Configured Libraries

19+ Popular Third-Party Libraries

Data Science & ML

  • NumPy β€” Array operations, linear algebra, mathematical functions
  • Pandas β€” DataFrames, Series, data manipulation and analysis
  • Matplotlib β€” Plotting and visualization
  • SciPy β€” Scientific computing and optimization
  • scikit-learn β€” Machine learning algorithms (auto-discovered)
  • PyTorch β€” Deep learning framework
  • TensorFlow β€” Machine learning platform (auto-discovered)
  • Seaborn β€” Statistical data visualization (auto-discovered)

Web Development

  • Django β€” Full-featured web framework
  • Flask β€” Lightweight web framework
  • FastAPI β€” Modern, fast API framework
  • Requests β€” HTTP library for humans
  • aiohttp β€” Async HTTP client/server (auto-discovered)

Utilities

  • Click β€” Command-line interface creation
  • Pytest β€” Testing framework
  • SQLAlchemy β€” SQL toolkit and ORM
  • Beautiful Soup β€” Web scraping library (auto-discovered)
  • Pillow β€” Image processing library
  • Pydantic β€” Data validation using type hints

+ Thousands more through auto-discovery!

🔍 Auto-Discovery Magic

Python Hover automatically discovers documentation for ANY library with Sphinx/ReadTheDocs documentation:

import plotly  # Auto-discovered!
import dask    # Auto-discovered!
import spacy   # Auto-discovered!
import httpx   # Auto-discovered!

# Hover over any of their methods β€” instant documentation!

How it works:

  1. Detects your imports automatically
  2. Checks PyPI for documentation URLs
  3. Fetches Sphinx inventory files
  4. Caches everything for offline use
  5. Shows rich documentation on hover

No configuration needed β€” it's completely automatic! 🪄


🎯 Key Features

🧠 Smart Context Detection

Python Hover understands your code context:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3]})
df.head()  # Shows DataFrame.head() documentation, NOT generic object

result = "hello world"
result.upper()  # Shows str.upper() documentation

my_list = [1, 2, 3]
my_list.append(4)  # Shows list.append() documentation

Before v0.5.1: Might show "object.head()" Now: Correctly shows "DataFrame.head()" with full pandas documentation! ✨

🎨 Rich Documentation Display

  • 📦 Summary boxes with clear descriptions
  • 📝 Parameter details with type annotations
  • ↩️ Return types clearly highlighted
  • ⚠️ Exceptions that might be raised
  • 📊 Examples with expected outputs
  • 🏷️ Version info (added/changed/deprecated)
  • 🔗 Links to full documentation

⚑ Performance

  • < 10ms for cached lookups
  • < 100ms for first-time fetches
  • Offline-first architecture
  • Intelligent caching (24 hours for libraries)
  • Early exit optimization in dynamic resolution

🛠️ Developer Experience

  • Zero configuration β€” works immediately
  • No API keys required
  • No external dependencies β€” everything bundled
  • Works offline after initial cache
  • Lightweight β€” minimal impact on VS Code performance
  • Highly customizable β€” extensive settings for power users

🎨 Customization

Settings

Access settings via: Preferences > Settings > Extensions > Python Hover

{
  // Display settings
  "python-hover.fontSize": 14,
  "python-hover.fontFamily": "Consolas, 'Courier New', monospace",
  "python-hover.maxSnippetLines": 20,

  // Feature toggles
  "python-hover.enableExamples": true,
  "python-hover.enableVersionInfo": true,
  "python-hover.enableLinks": true,

  // Library configuration
  "python-hover.customLibraries": {
    "mylib": {
      "inventoryUrl": "https://mylib.readthedocs.io/en/latest/objects.inv",
      "docBaseUrl": "https://mylib.readthedocs.io/en/latest"
    }
  }
}

Custom Libraries

Add your own libraries with Sphinx documentation:

  1. Find your library's objects.inv URL (usually on ReadTheDocs)
  2. Add to settings:
{
  "python-hover.customLibraries": {
    "your-library": {
      "inventoryUrl": "https://your-library.readthedocs.io/en/stable/objects.inv",
      "docBaseUrl": "https://your-library.readthedocs.io/en/stable"
    }
  }
}
  1. Done! Hover over your library's code to see documentation.

📖 Full custom library guide


💼 Perfect For

🆕 Python Beginners

Learn by example with comprehensive, easy-to-understand documentation right where you code.

👨‍💻 Professional Developers

Save time by eliminating constant tab-switching to documentation websites.

👨‍🏫 Educators & Students

Teach and learn Python with instant access to documentation and examples.

🔬 Data Scientists

Quick reference for NumPy, Pandas, scikit-learn, and other data science libraries.

🌐 Web Developers

Instant docs for Django, Flask, FastAPI, and all web development tools.

🤖 ML Engineers

Rapid access to PyTorch, TensorFlow, and machine learning library documentation.


🔥 What's New in v0.5.1

οΏ½ Dynamic Library Resolution

  • Works with ANY library automatically β€” no more hardcoded mappings!
  • Intelligently determines which library a class belongs to
  • Scales infinitely with your project's dependencies
  • Handles pandas, numpy, sklearn, tensorflow, and custom libraries seamlessly

�️ Robust Error Handling

  • Gracefully handles libraries with missing or invalid documentation
  • No more crashes from malformed inventory files
  • Silently skips problematic libraries and continues working
  • Better logging for troubleshooting

οΏ½ Enhanced Context Detection

  • Fixed "object.method" issue β€” now shows correct qualified names
  • Better type detection from code assignments
  • Improved handling of inline comments
  • More accurate method-to-type resolution

✨ Visual Improvements

  • Enhanced Sphinx documentation parsing
  • Better formatting for parameters and return types
  • Version metadata display (added/changed/deprecated)
  • Cleaner, more readable hover content

See full changelog


🤝 Contributing

Contributions are welcome! Whether it's bug reports, feature requests, or code contributions.

  • Found a bug? Open an issue
  • Have an idea? Start a discussion
  • Want to contribute code? Read the contributing guide

📝 Troubleshooting

Hover not showing?

  1. Ensure Python extension is installed β€” Python Hover requires the official Python extension
  2. Check file is saved β€” Hover works best on saved files
  3. Verify Python environment β€” Make sure a Python interpreter is selected

Library documentation not appearing?

  1. Check library is imported β€” Python Hover detects imported libraries
  2. Try reloading VS Code β€” Ctrl+Shift+P β†’ "Developer: Reload Window"
  3. Check Output panel β€” View β†’ Output β†’ Select "Python Hover" for debug logs
  4. Ensure library has Sphinx docs β€” Most popular libraries do

Custom library not working?

  1. Verify inventory URL β€” Try opening the URL in a browser
  2. Check JSON syntax β€” Ensure settings JSON is valid
  3. See custom library guide β€” Detailed instructions here

Still having issues? Open an issue with:

  • VS Code version
  • Python version
  • Extension version
  • Output panel logs

📊 Stats

  • 🐍 300+ Python constructs covered
  • 📚 19+ pre-configured libraries
  • 🔍 1000s of libraries via auto-discovery
  • ⚑ < 10ms cached lookup time
  • 📦 1.07 MB bundle size
  • ⭐ Loved by thousands of developers

οΏ½ License

MIT License - see LICENSE file for details.


🌟 Show Your Support

If Python Hover saves you time and makes you more productive:

  1. ⭐ Star the repository on GitHub
  2. ⭐ Rate it 5-stars on the marketplace
  3. β˜• Buy me a coffee to support development
  4. οΏ½ Share it with your team and the Python community!

Every bit of support helps keep this extension free and actively maintained! ❀️


Made with ❀️ by KiidxAtlas

Install Python Hover Today 🚀


🧪 Testing

Run fast unit tests (no VS Code needed):

npm run test:unit

Watch mode for rapid iteration:

npm run test:unit:watch

Full integration tests (spins up VS Code test host):

npm test

Notes:

  • Unit tests stub the VS Code API and run in Node for speed.
  • Integration tests validate activation, hover performance, and inventory resolution end-to-end.

Snapshot hover tests (real content)

Want to see the exact Markdown users see in the hover? Run the snapshot suite to generate reviewable artifacts:

npm run test:snapshots

What this does:

  • Spins up the full VS Code test host and forces the real hover pipeline (no test shortcuts)
  • Captures the actual Markdown from dozens of representative hovers
  • Writes files to artifacts/hover-snapshots/*.md for hands-on review

Tips:

  • Open a few files like artifacts/hover-snapshots/builtin-range.md or artifacts/hover-snapshots/keyword-for.md to inspect content
  • Add new cases in src/test/suite/hoverSnapshots.test.ts to expand coverage
  • Snapshot mode skips strict perf checks to keep runs stable and focused on content
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
Β© 2025 Microsoft