Luxin Documentation
Welcome to the Luxin documentation! Luxin is a Streamlit-first Python package for interactive data exploration with drill-down capabilities.
What is Luxin?
Luxin helps you explore aggregated data interactively through an intuitive, Streamlit-native interface. Click on aggregated rows to instantly see the underlying detail data in a side panel.
Quick Navigation
- Getting Started - Installation and basic usage
- User Guide - Comprehensive usage documentation
- API Reference - Complete API documentation
- Examples - Code examples and tutorials
- Troubleshooting - Common issues
- Migration Guide - Upgrading from older APIs
- Changelog - Release history
- Roadmap - Future features and development plans
- Releasing - Monorepo version alignment and PyPI checklist
Key Features
- ๐ Interactive drill-down - Click on aggregated rows to see source data instantly
- ๐ Streamlit-native UI - Fully integrated with Streamlit's native widgets
- ๐ผ Pandas support - Works seamlessly with pandas DataFrames
- ๐ฏ Automatic tracking โ
TrackedDataFrametracks source rows throughgroupby().agg() - ๐ Zero-config โ sensible defaults for a working drill-down table
- ๐ฆ Polars support โ optional
luxin[polars]converters - ๐งญ Phase 3 (v0.3.0) โ optional multi-level drill,
luxin.compare, data-quality panel, aggregation builder (InspectorConfigflags; see User Guide)
Installation
Optional: pip install luxin[notebook] (Jupyter/HTML via luxin-nb) ยท pip install luxin[polars] ยท pip install luxin[compare] (SciPy for comparison significance tests).
Streamlit: use >= 1.35 so interactive row selection works (see Troubleshooting).
Quick Start
import streamlit as st
from luxin import Inspector, TrackedDataFrame
# Create a TrackedDataFrame
df = TrackedDataFrame({
'category': ['A', 'A', 'B', 'B', 'C'],
'sales': [100, 150, 200, 250, 300]
})
# Aggregate data - tracking is automatic
agg = df.groupby(['category']).agg({'sales': 'sum'})
# Display with drill-down capability
inspector = Inspector(agg)
inspector.render()
Save this as app.py and run streamlit run app.py to see the interactive dashboard.
Resources
- ๐ GitHub Repository: https://github.com/eddiethedean/luxin
- ๐ฆ PyPI Package: https://pypi.org/project/luxin/
- ๐ Issues: https://github.com/eddiethedean/luxin/issues