Skip to main content

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

  • line
  • bar
  • scatter
  • candlestick
  • gdp
  • revenue
  • multiple_lines
  • mixed_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chartinglib-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chartinglib-0.1.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

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

Hashes for chartinglib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fa22022fd2dcbf5463a4729bdb8f7840cf18d3ce79bc18dd11044dbd74698863
MD5 b3b3b129c09bb6e76e6ea7b8b5840582
BLAKE2b-256 55c812c889cdae8b005fe6c15326a9ae0cd7b9c00e21ea1275bd072ec5f91e6a

See more details on using hashes here.

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

Hashes for chartinglib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0fbf352752a9e580a5af2740ee50750a6a156d33df359af6900e3385110b0f74
MD5 204d7053736b95b764dc5a3f288d5361
BLAKE2b-256 2ad7db6ead757e54e2f974e756c685c2ef9d40a9b9c8be4d62257d2de95ad362

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page