Skip to main content

Type:Haus — infrastructure-as-code for residential houses. Pre-alpha.

Project description

typehaus

The Type:Haus engine — 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, and assembly section cards; and run integrity / code / structural checks.

Pre-alpha. APIs, schema, and outputs change without notice. Not for production use.

This is the Python package behind the haus CLI. See the repository root and docs/plan/ for the full design documentation and monorepo layout.

Install

pip install -e packages/engine        # from the repo root

CLI

haus ls houses/starter --summary                 # compact plan digest
haus build houses/starter                        # -> out/model.json (+ IFC when ifcopenshell present)
haus check houses/starter                         # integrity/code/advisory/structural findings
haus explain HOUSE_WALL_2X6_WITH_ZIPR houses/starter --card
haus explain transitions houses/starter           # derived boundary conditions

# M2 — the loop closes
haus new my-house --name "My House"               # scaffold a self-contained house
haus serve houses/starter                          # FastAPI: model.json, PATCH /plan, undo/redo, live reload
haus render houses/starter --view plan             # -> out/render/plan_*.png  (agent eyes, #52)
haus print houses/starter                          # -> out/sheets/plan_*.dxf + .pdf (AIA layers)
haus fmt houses/starter                            # assign missing uids (merge-friendly canonical)
haus diff architect.ifc houses/starter             # semantic diff -> out/diff.json + table

IFC emission (and haus diff's external-IFC read) requires ifcopenshell (pin 0.8.x); when it is absent, haus build still writes model.json and reports the skipped IFC step. The server is an optional extra: pip install -e 'packages/engine[server]'.

The model.json contract + write safety (M2)

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 the libcst writeback (comments/formatting preserved), stages + validates the whole project, then writes each file atomically. Undo/redo is server-owned (the file is the state); an external VSCode/Claude edit seals the journal.

License

MIT © Colin Catlin.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

typehaus-0.1.0a0.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

typehaus-0.1.0a0-py3-none-any.whl (701.1 kB view details)

Uploaded Python 3

File details

Details for the file typehaus-0.1.0a0.tar.gz.

File metadata

  • Download URL: typehaus-0.1.0a0.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for typehaus-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 eace4743cd46896ec7c6b8a11d2ab4b1a2a170be54bea5107c509087bfee815a
MD5 e847c04fe39c5989860f472fd254e92e
BLAKE2b-256 4c4b3c92d10a4e1456e13786291b06436b956477025a5022bcec170390e0ca7e

See more details on using hashes here.

File details

Details for the file typehaus-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: typehaus-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 701.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for typehaus-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 eae2dc136571d7328ef88713ef1fc994b54e384bdfca45c3b42d37d81c87a4e8
MD5 f9d458f396c941026b7eb042fbfed65a
BLAKE2b-256 81e2fad11cd0cbffd91aa7338d800efc765d857572a958c4188aa66e3e8e5dbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page