Studwright
Studwright turns 3D models into strong, buildable brick designs. Give it a mesh, with or without color, and it produces a model that stands up, uses as few parts as it can, matches the original's shape and colors, and comes with step-by-step instructions and a build animation.
It is built around the techniques master builders use: staggered bonds and plate ties for strength, Technic frames, sideways-facing studs, hinged and angled panels, and minifigure-scale detailing. Builders can teach it new techniques visually in Technique Studio.
Status: pre-alpha. Nothing converts yet. The pipeline design is in
docs/ARCHITECTURE.md.
Planned features
- Import STL, OBJ, glTF/GLB, PLY and 3MF; desk-sized models from 10 to 40 cm, or minifigure scale
- Optimizes for stability first, then shape, piece count and color
- Real parts in colors they are actually produced in; BrickLink wanted list and LDraw / BrickLink Studio export
- Grouped instruction steps (4 to 10 parts each, all visible in one view), PDF instructions and build videos
- Technique Studio for codifying and sharing builder techniques
- Desktop app with one-step installers for Linux, Windows and macOS
Development
Requires Python 3.11+ and uv.
uv sync --extra dev
uv run pytest
uv run studwright --help
Optional extras: mesh, optimize, color, geometry, app, or all.
Third-party data
Part geometry comes from the LDraw parts library (CC BY 2.0 / CC BY 4.0), and part-color availability optionally from Rebrickable. Neither is bundled; both are downloaded on first use.
License
Apache-2.0. Technique files in techniques/ are CC0.
Studwright is an independent project. It is not affiliated with, sponsored by, or endorsed by the LEGO Group. LEGO is a trademark of the LEGO Group.
Metadata
Release files for studwright 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| studwright-0.0.2.tar.gz | 131.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| studwright-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 146.2 kB
Release files / studwright-0.0.2.tar.gz
| Download URL | studwright-0.0.2.tar.gz |
|---|---|
| Size | 131.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2cca91026d31d50138bdf3d7dff1bb7f6ba855ed4fc1863ef0e6e2c14f8e49ac
|
|
BLAKE2b-256 checksum How to use checksums |
391858d470cb002b7ad0b71becea1c9363bb4851ad226044b362e43830c26928
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / studwright-0.0.2-py3-none-any.whl
| Download URL | studwright-0.0.2-py3-none-any.whl |
|---|---|
| Size | 15.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb331383116c5ca4bf6dd2ec33b57f90c7f9b0bcb8cf66ff0eae874aa7ecffec
|
|
BLAKE2b-256 checksum How to use checksums |
de130b5f57837d97d60744c11e68b69f7da1c66d989c900d9fa60ef531977c92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for studwright 0.0.2
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.