Skip to main content

Library with a collection of useful classes and methods to DRY

Project description

Mango Dashboard is an interactive web application built with Streamlit that provides tools for exploring and visualizing data files. It includes two main modules: File Explorer and Time Series Dashboard.

Features

File Explorer

  • Interactive file explorer: Navigate through folders and files visually

  • Multiple format visualization: Supports CSV, Excel, JSON, HTML, images (PNG, JPG, JPEG) and Markdown

  • Data editing: Edit and save CSV, Excel and JSON files directly from the interface

  • Flexible configuration: Customize layout with multiple rows and columns

  • GCP support: Integration with Google Cloud Storage for remote files

  • Directory tree: Hierarchical visualization of folder structure

Time Series Dashboard

  • Time series analysis: Specialized tools for temporal data

  • Data loading: Interface for uploading and processing time series files

  • Visualizations: Interactive charts for temporal analysis

  • Forecast templates: Predefined templates for forecasting models

Installation

Using uv:

uv add mango-dashboard

Using pip:

pip install mango-dashboard

Usage

File Explorer

Launch the File Explorer dashboard using the CLI:

Using uv (development)

uv run mango-dashboard-fe dashboard file_explorer --path "path/to/your/folder"

After installation

mango-dashboard-fe dashboard file_explorer --path "path/to/your/folder"

Available parameters:

  • --path or -p: Path of the folder to explore (default: current directory)

  • --editable or -e: Enable dashboard editing (0=no, 1=yes, -1=default)

  • --config_path or -c: Path to the JSON configuration file

  • --gcp_credentials_path: Path to Google Cloud credentials (GCP only)

Usage examples:

Local folder

mango-dashboard-fe dashboard file_explorer --path "./data"

Existing configuration

mango-dashboard-fe dashboard file_explorer --path "./data" --config_path "./config.json" --editable 0

Google Cloud Storage

mango-dashboard-fe dashboard file_explorer --path "gs://my-bucket/data" --gcp_credentials_path "./credentials.json"

Time Series Dashboard

Launch the time series dashboard:

Using uv (development)

uv run mango-dashboard-ts dashboard time_series

After installation

mango-dashboard-ts dashboard time_series

Optional parameters:

  • --project_name: Dashboard project name (or env TS_DASHBOARD_PROJECT_NAME)

  • --logo_url: Logo URL (https:// or file:///)

  • --experimental_features: Enable experimental features (0 or 1)

Configuration

JSON Configuration File

The File Explorer uses a JSON configuration file to customize the interface:

{
    "title": "My Custom Dashboard",
    "header": "Data Explorer",
    "icon": ":chart_with_upwards_trend:",
    "layout": "wide",
    "dir_path": "/path/to/my/data",
    "n_rows": 2,
    "n_cols_1": 1,
    "n_cols_2": 2,
    "editable": true,
    "dict_layout": {
        "file_1_1": "/path/to/file1.csv",
        "file_2_1": "/path/to/file2.html",
        "file_2_2": "/path/to/file3.xlsx"
    }
}

Configuration Parameters:

  • title: Application title

  • header: Main header

  • icon: Page icon (emoji or icon code)

  • layout: Page layout (“wide” or “centered”)

  • dir_path: Default directory path

  • n_rows: Number of rows in the layout

  • n_cols_X: Number of columns in row X

  • editable: Whether the dashboard is editable

  • dict_layout: Mapping of files to specific positions

Supported File Formats

Visualization

  • CSV: Editable tables with pandas

  • Excel (.xlsx): Multiple sheets with tabs

  • JSON: Table visualization or raw JSON

  • HTML: Embedded Plotly charts

  • Images: PNG, JPG, JPEG with size controls

  • Markdown: Rendered as HTML

Editing

  • CSV: Data editor with pandas

  • Excel: Sheet editor

  • JSON: Table editor or raw JSON

Advanced Features

Google Cloud Storage Integration

  • Support for gs:// paths

  • Authentication with JSON credential files

  • Remote bucket and object exploration

Visualization Customization

  • Width and height control for images and HTML charts

  • Flexible layout with multiple rows and columns

  • Persistent configuration in JSON files

Editing Features

  • Inline editing of tabular data

  • Automatic change saving

  • Support for multiple output formats

Project Structure

mango_dashboard/
├── mango_dashboard/
│   ├── file_explorer/
│   │   ├── cli/
│   │   │   └── dashboard.py          # CLI for File Explorer
│   │   └── dashboards/
│   │       ├── file_explorer_app.py  # Main application
│   │       └── file_explorer_handlers.py  # File handlers
│   └── time_series/
│       ├── cli/
│       │   └── dashboard.py          # CLI for Time Series
│       └── dashboards/
│           └── time_series_app.py    # Time series application
├── README.rst
└── pyproject.toml

Contributing

  1. Fork the project

  2. Create a feature branch (git checkout -b feature/AmazingFeature)

  3. Commit your changes (git commit -m 'Add some AmazingFeature')

  4. Push to the branch (git push origin feature/AmazingFeature)

  5. Open a Pull Request

License

This project is under the MIT License. See the LICENSE file for more details.

Support

For questions, issues, or contributions, please contact:

Made with ❤️ by baobab soluciones

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

mango_dashboard-1.0.3a1.tar.gz (266.9 kB view details)

Uploaded Source

Built Distribution

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

mango_dashboard-1.0.3a1-py3-none-any.whl (174.2 kB view details)

Uploaded Python 3

File details

Details for the file mango_dashboard-1.0.3a1.tar.gz.

File metadata

  • Download URL: mango_dashboard-1.0.3a1.tar.gz
  • Upload date:
  • Size: 266.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mango_dashboard-1.0.3a1.tar.gz
Algorithm Hash digest
SHA256 bac69dd843d3f330c5ca65883b7297c9466ef607cde6b994b76eb35a36ced90f
MD5 04113fcbd9d43096aa7515797bd69637
BLAKE2b-256 f008d2a9962f28a568f7d1efe4fc7ae27a667a12331bb6e602d8af02509752e6

See more details on using hashes here.

File details

Details for the file mango_dashboard-1.0.3a1-py3-none-any.whl.

File metadata

  • Download URL: mango_dashboard-1.0.3a1-py3-none-any.whl
  • Upload date:
  • Size: 174.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mango_dashboard-1.0.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 be9a013077d7e3d3015cc56aa17c9bdcb91ebec3c481e6c6d91077667205d8ab
MD5 4d79cfa2346e15db4849decb71418d6b
BLAKE2b-256 a9ef6bd2bf518b75b56d0e483e15da08a845793d2479651da2306335d8a88b58

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