📄️ Python packages
Monolith is a primarily Python codebase and uses uv as its Python package manager. The Mono CLI provides a convenient wrapper around uv.
📄️ Dagster patterns
I highly recommend doing the official Dagster tutorial in addition to reading this page. We will quickly go over Dagster concepts, but the main focus will be on the specific development patterns used in our codebase.
📄️ SharePoint (v1)
The SharePointClient class provides a convenient Python interface for interacting with SharePoint sites:
📄️ SharePoint (v2)
Context
📄️ Streamlit tips & tricks
Main function
📄️ Incremental assets
Incremental assets are a custom setup to allow our assets to run only for updated data, whether it is new files on SharePoint, or new rows in the database.
📄️ Excel automation
ExcelReader
📄️ Secrets & environments
Defining secrets
📄️ Work with the database
WIP
📄️ Cloud infrastructure overview
Microsoft automation
📄️ Git tips & tricks
Git worktrees (working w/ multiple branches at once)
📄️ Dagster Tools
The dagster_tools library provides utilities for working with Dagster assets programmatically, including materializing assets and comparing dev vs prod data.
📄️ PostgresIOManager
The PostgresIOManager is a Dagster IO manager for reading and writing Pandas DataFrames to PostgreSQL. It provides automatic schema/table creation, type mapping, partitioning, incremental updates, and PostGIS geometry support.