Report Configuration

basic-report allows you to customize your overall report style using a custom config.yml file. The default configuration loaded for each report is given below. You can change as many elements as you like, as long as you follow the schema shown below. You can also include custom colors in this config file, as detailed in Color Palettes.

In order to load your custom color profiles and configuration simply add a link to your config file during the report initialization:

r = Report(
        report_dir,
        report_name,
        report_date,
        color_mode='dark',
        config_file='path/to/your/config/file.yml
)

Default Report Configuration

The default configuration used for every report is as follows:

timezone: 'Europe/Berlin'

css:
  site:
    dark:
      site_face_color: '#fefefa'
      site_background_color: '#1f1f1f'
    light:
      site_face_color: '#1f1f1f'
      site_background_color: '#fefefa'

  tabs:
    dark:
      tab_border_bottom_color: '#414951'
      tab_border_bottom_size: '2px'
      tab_inactive_font_color: '#7a848c'
      tab_inactive_font_weight: 'lighter'
      tab_hover_font_color: '#dae2ef'
      tab_active_font_color: '#dae2ef'
      tab_active_font_weight: 'bolder'
      tab_active_background_color: 'none'
      tab_active_border_bottom_color: '#dae2ef'
      tab_active_border_bottom_size: '2px'
    light:
      tab_border_bottom_color: '#abb1bc'
      tab_border_bottom_size: '2px'
      tab_inactive_font_color: '#abb1bc'
      tab_inactive_font_weight: 'lighter'
      tab_hover_font_color: '#414951'
      tab_active_font_color: '#414951'
      tab_active_font_weight: 'bolder'
      tab_active_background_color: 'none'
      tab_active_border_bottom_color: '#414951'
      tab_active_border_bottom_size: '2px'

  accordion:
    dark:
      accordion_border_color: '#414951'
      accordion_border_size: '1px'
      accordion_link_color: '#dae2ef'
      accordion_header_background_color: '#2a2d2e'
      accordion_body_top_border_color: '#dae2ef'
      accordion_body_top_border_size: '1px'
      accordion_body_background_color: '#313131'
      accordion_body_font_color: '#dae2ef'
    light:
      accordion_border_color: '#cbcbc7'
      accordion_border_size: '1px'
      accordion_link_color: '#91989d'
      accordion_header_background_color: '#f1f1ed'
      accordion_body_top_border_color: '#bebeba'
      accordion_body_top_border_size: '1px'
      accordion_body_background_color: '#fefffa'
      accordion_body_font_color: '#828995'

  table:
    dark:
      table_controls_background_color: '#2a2d2e'
      table_controls_border_color: '#555'
      table_controls_font_color: '#dae2ef'
      table_pagination_border_color: '#313131'
      table_pagination_hover_border_color: '#66b2ff'
      table_pagination_hover_font_color: '#66b2ff'
      table_pagination_active_background_color: '#66b2ff'
      table_pagination_active_border_color: '#66b2ff'
      table_pagination_active_font_color: '#000'
    light:
      table_controls_background_color: '#f1f1ed'
      table_controls_border_color: '#dee2e6'
      table_controls_font_color: '#414951'
      table_pagination_border_color: '#313131'
      table_pagination_hover_border_color: '#66b2ff'
      table_pagination_hover_font_color: '#66b2ff'
      table_pagination_active_background_color: '#66b2ff'
      table_pagination_active_border_color: '#66b2ff'
      table_pagination_active_font_color: '#000'

default_color_profiles:
  dark:
    report_header: steel 
    header: slate
    sub-header: slate
    table: slate
    report_ball: slate
    text: slate
    navbar: slate
    section_title: 
      text: slate
      bars: slate
    card:
      text: steel
      background: dark-gray
      border: steel
      header_text: medium-gray
      header_background: ultra-dark-gray
      header_border: steel
      footer_text: medium-gray
      footer_background: ultra-dark-gray
      footer_border: steel

  light:
    report_header: steel
    header: slate
    sub-header: slate
    table: slate
    report_ball: slate
    text: slate
    navbar: slate
    section_title: 
      text: slate
      bars: slate
    card:
      text: slate
      background: white
      border: slate
      header_text: slate
      header_background: ultra-light-gray
      header_border: slate
      footer_text: slate
      footer_background: ultra-light-gray
      footer_border: slate

custom_colors:
  black:
    border_dark: '#000'
    border_light: '#000'
    font_and_background: '#000'
    face_color: '#fff0f3'
    link: '#449adc'
    hover: '#b7dbff'

  white:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#fff'
    face_color: '#52595d'
    link: '#449adc'
    hover: '#b7dbff'

  ultra-light-gray:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#d3d3d3'
    face_color: '#52595d'
    link: '#449adc'
    hover: '#b7dbff'

  light-gray:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#a9a9a9'
    face_color: '#52595d'
    link: '#449adc'
    hover: '#b7dbff'

  medium-gray:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#686a6c'
    face_color: '#fff0f3'
    link: '#449adc'
    hover: '#b7dbff'

  dark-gray:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#3a3b3c'
    face_color: '#fff0f3'
    link: '#449adc'
    hover: '#b7dbff'

  ultra-dark-gray:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#1c1c1c'
    face_color: '#fff0f3'
    link: '#449adc'
    hover: '#b7dbff'

  steel:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#495057'
    face_color: '#fff0f3'
    link: '#ced4da'
    hover: '#212529'

  slate:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#708090'
    face_color: '#fff0f3'
    link: '#abc4dc'
    hover: '#374550'

  broccoli:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#026c3d'
    face_color: '#fff0f3'
    link: '#a1c5a1'
    hover: '#001f11'

  forest:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#5d805d'
    face_color: '#fff0f3'
    link: '#c2c5aa'
    hover: '#253325'

  basil:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#829f82'
    face_color: '#fff0f3'
    link: '#516351'
    hover: '#191f19'

  alpine:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#1b5448'
    face_color: '#fff0f3'
    link: '#8cc8c8'
    hover: '#14364a'

  teal:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#045d5d'
    face_color: '#fff0f3'
    link: '#a9d6e5'
    hover: '#14364a'

  lagoon:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#8cc8c8'
    face_color: '#fff0f3'
    link: '#045d5d'
    hover: '#0a201c'

  navy:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#003366'
    face_color: '#fff0f3'
    link: '#a9d6e5'
    hover: '#14364a'

  ocean:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#2a6f97'
    face_color: '#fff0f3'
    link: '#a9d6e5'
    hover: '#14364a'

  sky:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#87afc7'
    face_color: '#fff0f3'
    link: '#4c6270'
    hover: '#14364a'

  burgundy:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#800020'
    face_color: '#fff0f3'
    link: '#ff8fa3'
    hover: '#ac605e'

  cherry:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#c9184a'
    face_color: '#fff0f3'
    link: '#ff8fa3'
    hover: '#800f2f'

  peach:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f98b88'
    face_color: '#fff0f3'
    link: '#800020'
    hover: '#c9184a'

  cocoa:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#35281e'
    face_color: '#fff0f3'
    link: '#e6b8a2'
    hover: '#50362a'

  earth:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#9d6b53'
    face_color: '#fff0f3'
    link: '#e6b8a2'
    hover: '#50362a'

  cappuccino:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#c09881'
    face_color: '#fff0f3'
    link: '#ffc394'
    hover: '#1e1611'

  papaya:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#ff5f1f'
    face_color: '#fff0f3'
    link: '#ffc16a'
    hover: '#582820'

  sunset:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f25c54'
    face_color: '#fff0f3'
    link: '#ffc16a'
    hover: '#582820'

  coral:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f9966b'
    face_color: '#fff0f3'
    link: '#ffd9c2'
    hover: '#582820'

  saffron:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#fbb917'
    face_color: '#fff'
    link: '#ffe2bd'
    hover: '#eb6758'

  sunrise:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f3b360'
    face_color: '#fff'
    link: '#ffe2bd'
    hover: '#eb6758'

  vanilla:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f3e5ab'
    face_color: '#52595d'
    link: '#9d6b53'
    hover: '#eb6758'

  ice:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f0f8ff'
    face_color: '#4a7b9d'
    link: '#449adc'
    hover: '#b7dbff'

  parchment:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#fefbe3'
    face_color: '#8b6a4d'
    link: '#cca67a'
    hover: '#e1cdad'

  mpg-green:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#006c66'
    face_color: '#fff0f3'
    link: '#00b8ae'
    hover: '#00201e'

  mpg-secondary-green:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#005555'
    face_color: '#fff0f3'
    link: '#00a1a1'
    hover: '#00201e'

  mpg-blue:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#29485d'
    face_color: '#fff0f3'
    link: '#5aa0cf'
    hover: '#000d13'

  mpg-secondary-blue:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#006699'
    face_color: '#fff0f3'
    link: '#57b0ff'
    hover: '#000d13'

  mpg-lime:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#cadb2a'
    face_color: '#52595d'
    link: '#6a7416'
    hover: '#000d13'

  mpg-secondary-lime:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#d9e371'
    face_color: '#52595d'
    link: '#5e6330'
    hover: '#000d13'

  mpg-orange:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f58220'
    face_color: '#fff0f3'
    link: '#ffd15e'
    hover: '#000d13'

  mpg-secondary-orange:
    border_dark: '#000'
    border_light: '#1e1e1e'
    font_and_background: '#f8a35c'
    face_color: '#fff0f3'
    link: '#774e2c'
    hover: '#000d13'

heatmap:
  misc:
    range: 5
    animation_duration: 200
    vertical_orientation: False
    tooltip_enabled: True
    tooltip_function: 'predefined:date+value'
    tooltip_precision: 2
    legend_width: 300
    legend_label: 'Test Legend'
    legend_font_size: 14
    legend_font_weight: 450

  domain:
    type: 'month' # hour, day, week, month, year
    gutter: 4
    padding: [0,0,0,0]
    dynamic_dimensions: False
    sort: 'asc'

  label:
    text: 'MMM' # YY, YYYY, M, MM, MMM, MMMM, D, DD, d, dd, ddd, dddd, H, HH, h, hh, null
    position: 'bottom' # top, right, bottom, left
    align: 'middle' # start, middle, end
    offset: [0, 0]
    rotate: null
    width: 100
    height: 100
    font_size: 16
    font_weight: 450

  subdomain:
    type: 'day' # minute, hour, day, week, month, xDay, ghDay
    gutter: 2
    width: 30
    height: 30
    radius: 0
    sort: 'asc' # asc, desc
    label: 'D' #M, MM, MMM, MMMM, D, DD, d, dd, ddd, dddd, H, HH, h, hh, m, mm, null
    font_size: 14
    font_weight: 450
    background_color: '#ededed'

  date:
    start: '2026-03-01'
    min: null
    max: null
    highlight: ['today']
    weekstart: 1
    timezone: 'Europe/Berlin'

  color:
    domain: [0, 10]   # Plot range, for linear interpolation use min max. For thresholds use more
    scheme: 'YlOrRd'  # https://d3js.org/d3-scale-chromatic, set to null if range is used
    range: null       # Hex codes to use as colormap, set to null if scheme is used
    interpolate: null # rgb, hsl, lab, hcl, null
    type: 'linear'    # https://cal-heatmap.com/docs/options/scale#type