Excel file generation tool with pivot tables, charts, and dashboards
Project description
Dumont
Excel file generation tool with data sheets, pivot tables, and charts.
Try it Online
Use Dumont directly in your browser - no installation required:
https://dumont-1npt.onrender.com
Installation
pip install dumont
Features
- Pivot Tables: Configurable aggregations (sum, mean, count, min, max)
- Charts: Bar, line, pie, doughnut, scatter, area
- Dashboard: KPI cards with global filters and configurable aggregations
- Professional Formatting: Green headers, borders, autofilter, freeze panes
- Multiple Interfaces: CLI, Python API, and Web UI
CLI Usage
Create a Chart
# Bar chart from sample data
dumont chart -o sales.png -t bar -x Category -y Revenue
# Pie chart from CSV
dumont chart -i data.csv -t pie -x Category -y Revenue -o chart.png
# Line chart with grouping
dumont chart -t line -x Category -y Revenue --group-by Region -o trend.png
Export Excel with Charts
# Excel with data, pivot table, and bar chart
dumont export -o report.xlsx
# Excel with pie chart
dumont export -o report.xlsx --chart pie
# Excel without chart
dumont export -o report.xlsx --chart none
# From CSV input
dumont export -i data.csv -o report.xlsx --chart line
Generate Excel (pivot only)
# With sample data
dumont generate -o sales_report.xlsx
# From CSV/Excel input
dumont generate -i data.csv -o report.xlsx
# Custom pivot configuration
dumont generate -o report.xlsx \
--pivot-values Revenue \
--pivot-index Category \
--pivot-columns Region \
--aggfunc sum
Other Commands
# Preview sample data
dumont sample --rows 20
# Preview Excel file
dumont preview report.xlsx --sheet Data --rows 10
# Get file info
dumont info report.xlsx
# Start local web server
dumont serve
Web UI
Dumont includes a browser-based spreadsheet interface.
Online Version
Use it directly at: https://dumont-1npt.onrender.com
Local Server
dumont serve
# Open http://127.0.0.1:8000
Web UI Features
- Spreadsheet Interface: Excel-like grid with cell editing and keyboard navigation
- Data Loading: Load sample data or upload CSV/Excel files
- Pivot Tables: Create and preview pivot tables with configurable options
- Charts: Create interactive charts (bar, line, pie, doughnut, scatter, area)
- Dashboard: View KPIs with global filters (Region, Category, Product, etc.)
- Export: Download formatted Excel files with data, pivot tables, and charts
Python API
from dumont import create_excel_with_charts, create_chart, generate_sample_data
# Create chart image
df = generate_sample_data(rows=100)
create_chart(
df=df,
output_path="sales_chart.png",
chart_type="bar",
x_axis="Category",
y_axis="Revenue",
aggfunc="sum",
)
# Create Excel with pivot and chart
create_excel_with_charts(
output_path="report.xlsx",
use_sample_data=True,
pivot_values="Revenue",
pivot_index="Category",
pivot_columns="Region",
charts=[{
"chart_type": "bar",
"x_axis": "Category",
"y_axis": "Revenue",
"aggfunc": "sum",
}],
)
# Use your own DataFrame
import pandas as pd
df = pd.read_csv("my_data.csv")
create_excel_with_charts(
output_path="report.xlsx",
df=df,
pivot_values="Sales",
pivot_index="Product",
pivot_columns="Quarter",
charts=[{"chart_type": "line", "x_axis": "Product", "y_axis": "Sales"}],
)
Output Structure
Generated Excel files contain:
- Data Sheet: Raw data with formatting and autofilter
- Pivot Sheet: Pivot table with totals row highlighted
- Charts Sheet: Embedded chart images (when charts are included)
Chart Types
| Type | Description |
|---|---|
bar |
Vertical bar chart |
line |
Line chart with markers |
pie |
Pie chart with percentages |
doughnut |
Doughnut chart |
scatter |
Scatter plot |
area |
Area chart |
Requirements
- Python 3.10+
- pandas
- xlsxwriter
- click
- openpyxl
- matplotlib
License
MIT
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 dumont-0.5.2.tar.gz.
File metadata
- Download URL: dumont-0.5.2.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a3efae578ef99990fcafa4f58d535a805e4bb5b147f20ce801dbf5c43f98699
|
|
| MD5 |
d35e39585fc1cd49551b1a6256a73850
|
|
| BLAKE2b-256 |
886edf4a6b71b522c3be850405c481d3ea6c8c7f41b6b9a006a760ecc2ec6000
|
Provenance
The following attestation bundles were made for dumont-0.5.2.tar.gz:
Publisher:
release.yml on tojlon/dumont
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dumont-0.5.2.tar.gz -
Subject digest:
6a3efae578ef99990fcafa4f58d535a805e4bb5b147f20ce801dbf5c43f98699 - Sigstore transparency entry: 928485875
- Sigstore integration time:
-
Permalink:
tojlon/dumont@d8ca1c5d67b27d5dc15abfe93a7bd3773719fa6d -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/tojlon
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d8ca1c5d67b27d5dc15abfe93a7bd3773719fa6d -
Trigger Event:
push
-
Statement type:
File details
Details for the file dumont-0.5.2-py3-none-any.whl.
File metadata
- Download URL: dumont-0.5.2-py3-none-any.whl
- Upload date:
- Size: 11.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1273eb8877089da20c7e931cf7ef1b165bc8d5de9ea684348bf63d65e6b4383e
|
|
| MD5 |
1f66e334e9db2b1be0000ec87a3d92af
|
|
| BLAKE2b-256 |
5d05ac98ab6112f9a42cbbe56673f873d5e5f0825236e05935cebff19a6cc0e7
|
Provenance
The following attestation bundles were made for dumont-0.5.2-py3-none-any.whl:
Publisher:
release.yml on tojlon/dumont
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dumont-0.5.2-py3-none-any.whl -
Subject digest:
1273eb8877089da20c7e931cf7ef1b165bc8d5de9ea684348bf63d65e6b4383e - Sigstore transparency entry: 928485876
- Sigstore integration time:
-
Permalink:
tojlon/dumont@d8ca1c5d67b27d5dc15abfe93a7bd3773719fa6d -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/tojlon
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d8ca1c5d67b27d5dc15abfe93a7bd3773719fa6d -
Trigger Event:
push
-
Statement type: