DifferentialLab reads configuration from .env in the project root.
Use .env.example as template.
Or use the in-app Configuration dialog (recommended).
On startup, values are validated against ENV_SCHEMA (src/config/env.py).
Invalid values are automatically replaced with defaults and logged.
How values are interpreted
bool: accepts true/false, 1/0, yes/no
int and float: parsed numerically with range checks where defined
str: non-empty; some keys enforce enumerated options
Key
Default
UI_BACKGROUND
#181818
UI_FOREGROUND
#CCCCCC
UI_BUTTON_BG
#1F1F1F
UI_BUTTON_WIDTH
14
UI_BUTTON_FG
lime green
UI_BUTTON_FG_CANCEL
red2
UI_BUTTON_FG_ACCENT2
yellow
UI_FONT_SIZE
16
UI_FONT_FAMILY
Bahnschrift
UI_PADDING
8
Key
Default
UI_TOOLTIP_DELAY_MS
500
UI_TOOLTIP_WRAPLENGTH
350
UI_TOOLTIP_PADX
8
UI_TOOLTIP_PADY
4
Tooltip font size is derived automatically from UI_FONT_SIZE:
tooltip_size = max(6, round(UI_FONT_SIZE * 0.5))
There is no separate .env key for tooltip font size.
Key
Default
PLOT_FIGSIZE_WIDTH
12
PLOT_FIGSIZE_HEIGHT
6
DPI
100
PLOT_SHOW_TITLE
true
PLOT_SHOW_GRID
true
PLOT_LINE_COLOR
royalblue
PLOT_LINE_WIDTH
1.5
PLOT_LINE_STYLE
-
PLOT_COLOR_SCHEME
Set1
Key
Default
PLOT_MARKER_FORMAT
o
PLOT_MARKER_SIZE
3
PLOT_MARKER_FACE_COLOR
crimson
PLOT_MARKER_EDGE_COLOR
crimson
Phase-space and 3D/contour
Key
Default
PLOT_PHASE_START_COLOR
green
PLOT_PHASE_END_COLOR
red
PLOT_PHASE_MARKER_SIZE
8
PLOT_SURFACE_CMAP
viridis
PLOT_CONTOUR_LEVELS
20
PLOT_GRID_ALPHA
0.3
PLOT_SURFACE_ALPHA
0.9
PLOT_COLORBAR_SHRINK
0.6
Key
Default
PLOT_ANIMATION_LINE_WIDTH
2.0
PLOT_VLINES_LINE_WIDTH
1.5
PLOT_VLINES_ALPHA
0.6
PLOT_ANIMATION_Y_MARGIN
0.1
ANIMATION_MAX_FPS
30
Key
Default
FONT_FAMILY
serif
FONT_TITLE_SIZE
xx-large
FONT_TITLE_WEIGHT
semibold
FONT_AXIS_SIZE
16
FONT_AXIS_STYLE
italic
FONT_TICK_SIZE
12
Key
Default
SOLVER_MAX_STEP
0.0
SOLVER_RTOL
1e-8
SOLVER_ATOL
1e-10
SOLVER_NUM_POINTS
1000
Supported methods in UI:
RK45
RK23
DOP853
Radau
BDF
LSODA
Logging and update checks
Key
Default
LOG_LEVEL
INFO
LOG_FILE
differential_lab.log
LOG_CONSOLE
false
CHECK_UPDATES
true
UPDATE_CHECK_INTERVAL_DAYS
7
CHECK_UPDATES_FORCE
false
UPDATE_CHECK_URL
https://raw.githubusercontent.com/DOKOS-TAYOS/DifferentialLab/main/pyproject.toml
Practical recommendations
Keep solver tolerances strict for stiff/nonlinear systems.
Lower SOLVER_NUM_POINTS for exploratory runs, increase for publication output.
Keep ANIMATION_MAX_FPS moderate (20-30) to avoid UI saturation.
Enable LOG_CONSOLE=true while debugging.
If this page and runtime behavior differ, runtime behavior is authoritative.
The canonical schema lives in src/config/env.py (ENV_SCHEMA).