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:
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
Fork the project
Create a feature branch (git checkout -b feature/AmazingFeature)
Commit your changes (git commit -m 'Add some AmazingFeature')
Push to the branch (git push origin feature/AmazingFeature)
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:
Email: mango@baobabsoluciones.es
Create an issue on the repository
—
Made with ❤️ by baobab soluciones
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 mango_dashboard-1.0.2.tar.gz.
File metadata
- Download URL: mango_dashboard-1.0.2.tar.gz
- Upload date:
- Size: 267.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
671025f6a9bfbecb5b0d3f6ecfa48b779bbc8e299f5710e2996846f60d43223c
|
|
| MD5 |
336f399b407c9ddb15877360bb5babe3
|
|
| BLAKE2b-256 |
e47ea3f0896ea5fb95841cd4b59f5f79d188ce87d402ea626feb9a96d268162a
|
File details
Details for the file mango_dashboard-1.0.2-py3-none-any.whl.
File metadata
- Download URL: mango_dashboard-1.0.2-py3-none-any.whl
- Upload date:
- Size: 174.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c10f8a05036c5b7d0f57d8ecbe5a3f006f44ce2507991f17d998522763915926
|
|
| MD5 |
81319fe2dccb4c39d754763aeae67104
|
|
| BLAKE2b-256 |
59a57d163d956e78be5e4aa134440bbbb228f2f88501a365ec4c32e1623a3df3
|