CADbuildr BOM
Bill-of-materials extraction for cadbuildr-foundation
assemblies: traverse a component tree into a typed, stable-id parts list.
Installation
pip install cadbuildr-bom
Quick usage
from cadbuildr.bom import extract_bom, bom_to_csv
from my_project.chair import Chair
bom = extract_bom(Chair())
# {"schema": "cadbuildr-bom@1", "root": "chair", "total_part_count": 7,
# "unique_part_count": 3, "items": [{"id": "leg@beech", "name": "leg",
# "material": "beech", "quantity": 4, "example_path": "chair/leg_1"}, ...]}
print(bom_to_csv(bom))
What it does
- Walks
Part/Assemblytrees (or already-convertedPartRoot/AssemblyRoot) recursively through nested assemblies. - Groups identical leaf parts by (base name, material) — foundation's
auto-dedup suffixes (
table_leg_1,table_leg_2) collapse back into one line item withquantity. - Emits stable item ids (
table_leg,leg@beech). These ids are the enumerator contract for per-part fan-out workflows (supplier sourcing, per-part quoting/CAM/drawings) in the CADbuildr task infrastructure.
Output schema is versioned (cadbuildr-bom@1); breaking changes bump it.
Cloud task
On CADbuildr cloud this library powers the bom@1 task: run it against any
project version and the bom.json + bom.csv land in the project's artifact
repository. See the platform docs for create_task_run(task_type="bom").
Release files for cadbuildr-bom 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cadbuildr_bom-0.1.0.tar.gz | 54.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cadbuildr_bom-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.0 kB
Release files / cadbuildr_bom-0.1.0.tar.gz
| Download URL | cadbuildr_bom-0.1.0.tar.gz |
|---|---|
| Size | 54.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53d2ed1b3a7850f4df2dca7ea2764ef0949cf99c16609f487904205fccd7d0d1
|
|
BLAKE2b-256 checksum How to use checksums |
c9a52a5c4b2cff65c713182def807cb301945ec8bf7ef9488cefb21f7e8d9142
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.19
|
Release files / cadbuildr_bom-0.1.0-py3-none-any.whl
| Download URL | cadbuildr_bom-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c4a3a35f54f21b9b5a17aa626cd3f4bda15f736b7ccde3cbc0da3839dc4222d
|
|
BLAKE2b-256 checksum How to use checksums |
0a7052320d772bef6ed0c845a1164ceaf440e13a9761770811899ca44e8cd8d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.19
|