尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A working model of a defense hardware manufacturer, from purchase order to fielded unit. SQLMesh, Iceberg, Flyte, DuckDB.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗A working model of a defense hardware manufacturer, from purchase order to fielded unit, and four questions it answers:
The write-up, with interactive figures, is at zainhameedo.com/materiel.
The company and its data are synthetic. The generator (generate.py) simulates realistic mechanics: late parts stall builds, bad lots fail inspection, fielded units fail and wait on spares. It also plants one causal effect, a 35% cut in defect rates for suppliers enrolled in a development program, so the analysis can be checked against a known answer.
source extracts ──► Iceberg ──► SQLMesh ───────────────────────────► export ──► web page
(10 tables) snapshots staging ─► entities ─► analysis JSON
views product exposure
part part risk
supplier readiness
order line quality panel ──► Poisson DiD
build (statsmodels)
fielded unit
repair
└───────────────────────────── one Flyte workflow ─────────────────────────────┘
| Layer | What it does |
|---|---|
lake.py | Lands each source table as an Apache Iceberg table (local SQLite catalog standing in for Glue/S3) and points a DuckDB view at its current snapshot. |
transform/models/staging | Typed, renamed views over the sources, with key and validity audits. |
transform/models/core | One definition of each thing the business talks about, with relationships and derived facts: is this order late, is this unit down, how many sources does this part have. |
transform/models/analysis | Supplier exposure, part risk, build performance, fleet readiness, and the supplier quality panel. |
causal.py | Naive comparisons vs. difference-in-differences (Poisson, supplier and month fixed effects, clustered SEs), an event study and a placebo. |
pipeline.py | The Flyte workflow: land, test, plan and audit, export. |
22 models, 33 audits run on every build, SQLMesh unit tests for the logic that is easiest to get wrong (lateness of open orders, repair intervals clipped to months), and pytest checks that the estimator recovers the planted effect and finds none in the placebo.
Requires uv.
uv sync
uv run pyflyte run src/materiel/pipeline.py pipeline # land, transform, export (~30s)
uv run pytest -q # estimator tests
cd transform && uv run sqlmesh test # model unit tests
Explore the models with cd transform && uv run sqlmesh ui, or query the warehouse directly:
cd transform && uv run sqlmesh fetchdf "select * from analysis.part_risk order by risk_score desc limit 10"
Locally everything runs on DuckDB over a directory. With real systems behind it, the catalog becomes Glue, the warehouse S3, and SQLMesh runs on Athena; only lake.py's catalog and transform/config.py's gateway change. Sources would land incrementally, and the larger fact models (order lines, work orders) would become incremental by time.