Skip to main content

typehaus

Infrastructure-as-code for residential houses. Author a house plan as typed, declarative Python; resolve topology, stacking, and framing; emit an IFC4 model, model.json, drawings, and assembly section cards; and run integrity, code, structural, and building-science checks against it.

Quantities are the product. The engine ships no price, wage, or productivity data — a house owns its own numbers.

Install

pip install typehaus                # engine + CLI
pip install 'typehaus[server]'      # adds `haus serve` (FastAPI + the bundled editor)

Python 3.11 or newer.

Scaffold a house

haus new my-house --name "My House"
haus build my-house                 # -> my-house/out/model.json (+ IFC)
haus check my-house                 # integrity / code / structural / advisory findings
haus serve my-house                 # the browser editor and 3D viewer, no node required

haus new writes a complete, buildable starter house: plan/ (the declarative source), brief.md, and preferences.toml. Plans import shared assemblies, materials, and door, window, fixture and furniture types from the reviewed catalog that ships with the engine:

from library import HOUSE_WALL_2X6_WITH_ZIPR, STARTER_MATERIALS

The rest of the CLI

haus doctor                                 # environment sanity
haus ls my-house --summary                  # compact plan digest
haus fmt my-house                           # mint uids, canonicalize plan source
haus explain HOUSE_WALL_2X6_WITH_ZIPR my-house --card
haus render my-house --view plan            # -> out/render/plan_*.png
haus print my-house                         # -> out/sheets/*.dxf + .pdf (AIA layers)
haus takeoff my-house --csv out/estimate.csv
haus tasks my-house --csv out/tasks.csv
haus millwork my-house                      # hardwood cut list
haus engineering my-house                   # what needs a professional seal, and what governs
haus calcs my-house                         # the calculation package a PE marks up
haus diff architect.ifc my-house            # semantic diff -> out/diff.json + table

IFC emission (and haus diff's external-IFC read) requires ifcopenshell, pinned to 0.8.x and installed by default; when it is absent, haus build still writes model.json and reports the skipped step.

model.json and write safety

haus serve exposes the resolved model.json (revision hash, per-element provenance, live findings). Every PATCH /plan carries the project revision as a precondition (stale → 409), applies element-level ops through a libcst writeback that preserves comments and formatting, stages and validates the whole project, then writes each file atomically. Undo/redo is server-owned — the file is the state — and an external editor edit seals the journal.

Status

Beta. The schema and the emitted artifacts are stable enough to build against; check the changelog before upgrading. Permit sets print at draft authority; a sealed set requires a licensed professional, which the engine gates on and never fakes.

Links

License

MIT © Colin Catlin.

Release files for typehaus 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for typehaus 0.1.1
File Size Uploaded
typehaus-0.1.1.tar.gz 13.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for typehaus 0.1.1
File Interpreter ABI Platform
typehaus-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.2 MB

Release files / typehaus-0.1.1.tar.gz

Download URL typehaus-0.1.1.tar.gz
Size 13.1 MB
Tags Source
SHA-256 checksum
How to use checksums
79baf4d4b279e839911f55ee77d0453c68f759086588c8fdc769616768eeb2bf
BLAKE2b-256 checksum
How to use checksums
ff4303ffd19d770a9f7158232987a1fa650198c556324bf656a3704627a88d16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release files / typehaus-0.1.1-py3-none-any.whl

Download URL typehaus-0.1.1-py3-none-any.whl
Size 6.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
6229c03c112066854bd7b36473bfc092e163be2ca7e4fd02dba07d31a58442ea
BLAKE2b-256 checksum
How to use checksums
0dd42b1d7caf0f25eb701118190195ef90855d8fb3c1d1e4fa6fda276344eb92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page