Gantt chart export with kaleido v1.0.0 shows 1970 epoch
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 498
- Forks
- 62
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 2
Description
Problem Description
I'm reporting a bug with the new kaleido v1.0.0 engine, when I make a Gantt chart with plotly.express.timeline. The issue is how it handles my datetime objects (and with sting date) when I try to save a static image.
I found the problem in a couple of ways:
- When I run
fig.show()in my Jupyter Notebook, the chart looks perfect with the right 2025 dates. But when I save that same figure withfig.write_image(), I get a broken image. Its x-axis starts at 1970. - I get the exact same broken image with 1970 dates when I run my code as a normal Python script.
It really makes me think this is a regression bug in the kaleido v1.0.0 renderer.
Minimal Reproducible Example
This script will always create the error. The /// script part is there for anyone using a tool like Astral's uv.
# /// script
# requires-python = "==3.13.1"
# dependencies = [
# "pandas==2.3.1",
# "plotly==6.3.0",
# "kaleido==1.0.0",
# ]
# ///
import pandas as pd
import plotly.express as px
data: list[dict] = [
dict(Start="2025-08-16", Finish="2025-08-30", Task="Data Collection"),
dict(Start="2025-08-25", Finish="2025-09-15", Task="Identifying Problem"),
dict(Start="2025-09-13", Finish="2025-09-30", Task="Review & Submission"),
]
df: pd.DataFrame = pd.DataFrame(data)
df.Start = pd.to_datetime(df.Start)
df.Finish = pd.to_datetime(df.Finish)
fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Task")
fig.update_layout(template="presentation")
fig.update_layout(autosize=False, width=1000, height=300, margin=dict(l=270, r=10))
fig.update_layout(
showlegend=False,
title="Gantt Chart",
bargap=0.45,
)
# This makes the wrong image
fig.write_image("Gantt_Chart.png")
Expected Behavior
I expected my saved file Gantt_Chart.png to show a chart with an x-axis properly showing dates in August and September 2025.
Actual Behavior
What I actually got in Gantt_Chart.png was a chart where the x-axis starts near January 5, 1970.
Working Environment Confirmation
I ran a control test to be sure. I tested my same code in an environment with older libraries:
plotly==6.0.0kaleido==0.2.1
In that setup, the bug is gone. My list of confirmations show that the static image Gantt_Chart.png saves perfect with the right 2025 dates.
This points me to think the problem is a regression in the newer code.
Failing Environment
- Python:
3.13.1 - pandas:
2.3.1 - plotly:
6.3.0 - kaleido:
1.0.0
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the minimal Python example with pandas 2.3.1, plotly 6.3.0, and kaleido 1.0.0, then compare the exported image with the older kaleido 0.2.1 environment. Trace the static export path for timeline date values; done means Gantt_Chart.png preserves the August and September 2025 x-axis dates.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- pandas, python
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100