Integrate Plotly charts into Textual TUI applications with a customizable ChartWidget.
Project description
ChartingLib 📈
ChartingLib is a modern TUI (Textual User Interface) Python library built with Textual and Plotly, designed for interactive data visualization directly in your terminal.
It provides a rich, responsive interface to display a variety of charts such as Line, Bar, Scatter, Candlestick, GDP trends, and more.
✨ Features
- 📊 Interactive Plotly charts inside your terminal
- 🧠 Automatic data generation or loading using
DataProcessing - 🧩 Modular chart widget (
ChartWidget) for easy embedding - 🎨 Sidebar for selecting different chart types
- 💻 Clean TUI with keyboard navigation (powered by Textual)
📦 Installation
pip install chartinglib
🚀 Usage
Here’s a simple example using ChartWidget in a Textual app:
from textual.app import App, ComposeResult
from textual.containers import Container
from chartinglib import ChartWidget, DataProcessing
class DemoChartApp(App):
def compose(self) -> ComposeResult:
raw_data = DataProcessing("line").process()
chart = ChartWidget(chart_type="line", data=raw_data)
yield Container(chart)
if __name__ == "__main__":
app = DemoChartApp()
app.run()
📈 Supported Chart Types
linebarscattercandlestickgdprevenuemultiple_linesmixed_bar_line
🛠 Development
git clone https://github.com/yourusername/chartinglib
cd chartinglib
pip install -e .[dev]
To run the example app:
python -m chartinglib.app
📄 License
This project is licensed under the MIT License. See LICENSE for details.
👤 Author
Your Name
GitHub
🙏 Acknowledgments
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chartinglib-0.1.0.tar.gz.
File metadata
- Download URL: chartinglib-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.24.1 CPython/3.11.3 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa22022fd2dcbf5463a4729bdb8f7840cf18d3ce79bc18dd11044dbd74698863
|
|
| MD5 |
b3b3b129c09bb6e76e6ea7b8b5840582
|
|
| BLAKE2b-256 |
55c812c889cdae8b005fe6c15326a9ae0cd7b9c00e21ea1275bd072ec5f91e6a
|
File details
Details for the file chartinglib-0.1.0-py3-none-any.whl.
File metadata
- Download URL: chartinglib-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.24.1 CPython/3.11.3 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fbf352752a9e580a5af2740ee50750a6a156d33df359af6900e3385110b0f74
|
|
| MD5 |
204d7053736b95b764dc5a3f288d5361
|
|
| BLAKE2b-256 |
2ad7db6ead757e54e2f974e756c685c2ef9d40a9b9c8be4d62257d2de95ad362
|