Skip to main content

Excel file generation tool with pivot tables, charts, dashboards, and AI analysis

Project description

Dumont

Excel file generation tool with pivot tables, charts, dashboards, and AI analysis

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
  • AI Analysis: Natural language insights powered by Ollama (local LLM)
  • 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

Dashboard

The Dashboard tab provides a KPI overview of your data with interactive filtering.

Features:

  • 3 Configurable KPI Cards: Display key metrics at a glance
  • Global Filters: Filter by Region, Category, Product, or any column in your data
  • Aggregations: Sum, Average, Count, Min, Max
  • Custom Titles: Rename each KPI card

How to use:

  1. Load data (sample or upload CSV/Excel)
  2. Click the Dashboard button or tab
  3. Use the filter dropdowns to narrow your data
  4. Click KPI Settings to configure each card:
    • Select the column to aggregate
    • Choose the aggregation function
    • Set a custom title

AI Analysis

Get natural language insights about your data using local AI (Ollama).

Setup:

# Install Ollama (https://ollama.ai)
# Then pull a model:
ollama pull llama3.2

# Install dumont with AI support:
pip install dumont[ai]

How to use:

  1. Load data and go to the Dashboard tab
  2. Apply filters if needed
  3. Click Analyze Data to get AI-powered insights
  4. The AI will analyze your data and provide 4-5 sentences of business insights

Note: AI analysis runs locally on your machine using Ollama. No data is sent to external servers.

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:

  1. Data Sheet: Raw data with formatting and autofilter
  2. Pivot Sheet: Pivot table with totals row highlighted
  3. 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


Download files

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

Source Distribution

dumont-0.7.3.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

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

dumont-0.7.3-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file dumont-0.7.3.tar.gz.

File metadata

  • Download URL: dumont-0.7.3.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dumont-0.7.3.tar.gz
Algorithm Hash digest
SHA256 dee5d1b9e7eeaf17cae935197a4823dd2d8b2ea8f0a6fe1370c71a4fb6fdf465
MD5 90905d1fcda3499e0e4d792a0ec40f7a
BLAKE2b-256 d9cfd3d335cc6f2d1eff42d920a24c54cd21b48a5f0109fd2f219b9257696947

See more details on using hashes here.

Provenance

The following attestation bundles were made for dumont-0.7.3.tar.gz:

Publisher: release.yml on tojlon/dumont

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dumont-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: dumont-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dumont-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a1edba410a55da932aa1df280f2761ec5d063a120ad680b2a9869c5fd86bc1f6
MD5 75c83fb8f6f5ab4148a4f58109ad92a7
BLAKE2b-256 5d36b9fe74ad455c4148011ca27da11f6bc505c0989981b01c6988fb99082d1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dumont-0.7.3-py3-none-any.whl:

Publisher: release.yml on tojlon/dumont

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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