Project files (.kaxe)
A .kaxe file is a JSON project that stores everything needed to reopen and edit a figure: titles, styles, point data, heatmap grids, and curves sampled from functions. You can fix a typo or tweak fontSize and export again without the original script or data pipeline.
PNG, SVG, and PDF are outputs. A .kaxe file is the editable source.
Saving a project
Use kaxe.save_project() or pass project= when saving an image:
import kaxe
plt = kaxe.Plot([-5, 5, -5, 5])
plt.add(kaxe.Function2D(lambda x: x**2 - 4))
plt.title("$x^2 - 4$")
plt.theme(kaxe.Themes.A4Medium)
plt.save("figure.pdf", project="figure.kaxe")
Loading and editing
plt = kaxe.load_project("figure.kaxe")
plt.title("$x^2 - 4$ corrected")
plt.style(fontSize=55)
plt.save("figure_v2.pdf", project="figure_v2.kaxe")
kaxe.load_project() returns a fresh, unbaked plot window.
What is stored
Plot type (
Plot,LogPlot,BoxedPlot,PolarPlot, …)Axis limits, titles, padding, style overrides
Numeric series (
Points2D,HeatMap, …)Functions as sampled
x/yarrays (the curve shape is preserved; the original lambda is not)
Limitations (v1)
No pickle — plain JSON only
Grid, charts, DoubleAxisPlot, and 3D plots cannot be saved as projects yet
Callable-only objects (
Equation,Contour,Inequality,Fill) are not exported in v1Large heatmaps produce large JSON files; a ZIP-based format may be added in a future
kaxe_version
API reference
- kaxe.save_project(window, path: str | Path) None
Save a plot window to a
.kaxeJSON project file.The file stores styles, titles, numeric data, and sampled curves so the figure can be reopened and edited without the original script.
- kaxe.load_project(path: str | Path)
Load a plot window from a
.kaxeproject file.Returns a fresh, unbaked window ready for
style(),title(), andsave().