Skip to content

Commit

Permalink
Add presentation
Browse files Browse the repository at this point in the history
  • Loading branch information
kordejong committed Nov 14, 2024
1 parent 70e5177 commit 2eae962
Show file tree
Hide file tree
Showing 4 changed files with 204 additions and 0 deletions.
17 changes: 17 additions & 0 deletions presentation/2024/11/12/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
configure_file(presentation.qmd presentation.qmd COPYONLY)

add_custom_target(presentation.2024.11.12
COMMAND
${Quarto_EXECUTABLE}
render ${CMAKE_CURRENT_BINARY_DIR}/presentation.qmd --to html
BYPRODUCTS
presentation.html
)

set_property(
DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}
PROPERTY
ADDITIONAL_CLEAN_FILES
presentation_files
)
186 changes: 186 additions & 0 deletions presentation/2024/11/12/presentation.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
---
title: "Adaptation pathways"
subtitle: "Technicalities"
date: "20241112"
format:
revealjs:
theme: moon
fontsize: 2em
code-line-numbers: false
highlight-style: nord
standalone: true
embed-resources: true
---

# Topics

::: {.incremental}
- GUI
- Plotting
:::


# Assumptions

::: {.incremental}
- Pathway logic in Python package
- More freedom WRT UI-specific code
- UI is one of the possible interfaces
- Generator useful in workshop setting → interactivity
:::


# GUI

## Aspects

::: {.incremental}
- Web vs desktop
- Installer vs URL
- "Round trip latency"
:::


## Options

::: {.incremental}
- Qt
- Flet
- "Web"
- Dash
:::


## Qt

::: {.incremental}
- Desktop application
- Installer
- Python bindings
:::


## Flet

::: {.incremental}
- Web, desktop and mobile application
- Server process required:
- Yes (default)
- No (icw Pyodide)
- Access to local file system → standard open/save dialogs
- Python bindings (Flutter)
- Pyodide
:::


## Web

::: {.incremental}
- Web application
- Server process required
- Yes (default)
- No (icw Pyodide)
- Styling using CSS (also in case of Flet and Dash)
:::


## Dash

::: {.incremental}
- Dashboard, but also useful for general UI dev
- Integration with plotly
- Web application and desktop application (Qt web widget)
- Commercial (beware of enshittification?)
- More popular than Flet
:::


# Plotting

## Aspects

::: {.incremental}
- Support for visualization styles
- Vector vs raster formats
- Python
- Interactivity
- Hovering
- Save as {pdf,png,...} from Python script
:::


## Options

::: {.incremental}
- matplotlib
- plotly
:::


## matplotlib

::: {.incremental}
- Python
- Vector + raster formats
- Primitives for custom plots
- Support for interactivity
- We already use it
- Installed by default
:::


## plotly

::: {.incremental}
- Python bindings
- Vector + raster formats
- Support for interactivity
- Customization through JavaScript?
- Commercial (enshittification?)
:::


# Solutions

## Flet app

::: {.incremental}
- GUI: Flet
- Plotting: matplotlib
- Pyodide
- ✓:
- No installation
- Works everywhere
- Everything in Python
- ~:
- Will Flet fly?
:::


## Qt desktop app

::: {.incremental}
- GUI: Qt
- Plotting: matplotlib
- ✓:
- Works on all desktop platforms
- Everything in Python
- No server process
- Access to local file system
- ~:
- Requires installation
- Package is platform specific
:::


## Dash app

::: {.incremental}
- GUI: Dash
- Plotting: plotly
- ✓:
- Everything in Python
- ~:
- Server process
- Dependence on a single company
:::
Empty file.
1 change: 1 addition & 0 deletions presentation/2024/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
add_subdirectory(01)
add_subdirectory(03)
add_subdirectory(10)
add_subdirectory(11)

0 comments on commit 2eae962

Please sign in to comment.