How bradbase/flyingkoala works
FlyingKoala exposes Python calculations to Excel through xlwings, with a central path for loading workbook formulas, caching selected models, and evaluating them against scenario inputs. Domain UDFs provide horticulture degree-day calculations, while separate utilities handle time-series transformations and Bureau of Meteorology observation files. The README also describes formula testing and broader integration UDFs; these are represented as capabilities, but the sampled source does not establish their implementation or wiring. The graph follows sampled calls and data flow; unsampled features are linked only where documentation supports them.
Main entry points: flyingkoala.py Model controls · horticulture.py Degree-day UDFs · timeseries.py Time-series UDFs · unit_test_formulas Formula testing
Components 17
Excel model runtime
- Model controls
flyingkoala/flyingkoala.py - Workbook loader
flyingkoala/flyingkoala.py - Model cache
flyingkoala/flyingkoala.py - Model extraction
flyingkoala/flyingkoala.py - Scenario evaluation
flyingkoala/flyingkoala.py
Excel UDFs
- Degree-day UDFs
flyingkoala/horticulture/horticulture.py - Time-series UDFs
flyingkoala/timeseries/timeseries.py - Formula testing
examples/unit_test_formulas - Integration UDFs
flyingkoala
Data utilities
- BOM observation loader
flyingkoala/bom/bom.py
Calculation dependencies
- xlwings
- Formula compiler
- Formula evaluator
- Pandas operations
Other components
- Excel user
- Excel workbook
- AXF observation file
Connections 22
- Excel user → Excel workbook: edits formulas
- Excel user → Model controls: controls models
- Excel workbook → xlwings: opens workbook
- Model controls → xlwings: accesses workbook
- Model controls → Workbook loader: reloads formulas
- Workbook loader → Formula compiler: parses workbook
- Workbook loader → Excel workbook: reads sheets
- Model controls → Model extraction: requests model
- Model extraction → Formula compiler: extracts formulas
- Model extraction → Model cache: stores model
- Model controls → Model cache: manages cache
- Model controls → Scenario evaluation: evaluates scenarios
- Scenario evaluation → Model cache: gets model
- Scenario evaluation → Formula evaluator: evaluates formula
- Degree-day UDFs → Model controls: loads and evaluates
- Degree-day UDFs → Pandas operations: prepares inputs
- Time-series UDFs → Pandas operations: transforms series
- BOM observation loader → AXF observation file: reads records
- Excel user → Time-series UDFs: invokes UDFs
- Excel user → Degree-day UDFs: invokes UDFs
- Formula testing → Excel workbook: tests formulas
- Excel user → Integration UDFs: requests integrations