Metadata-Version: 2.4
Name: breakform-cli
Version: 1.0.6
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Manufacturing
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Rust
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
Requires-Dist: meshio ; extra == 'all'
Requires-Dist: gmsh ; extra == 'all'
Requires-Dist: gmsh ; extra == 'gmsh'
Requires-Dist: meshio ; extra == 'meshio'
Provides-Extra: all
Provides-Extra: gmsh
Provides-Extra: meshio
Summary: Python bindings for Breakform — open engineering-data interop with honest fidelity reports
Keywords: gmsh,mesh,cad,freecad,fem,engineering,brep,step,conversion,interoperability
Home-Page: https://github.com/KryptosAI/breakform
License: Apache-2.0
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: homepage, https://github.com/KryptosAI/breakform
Project-URL: repository, https://github.com/KryptosAI/breakform

# breakform (Python bindings)

Python bindings for Breakform — open engineering-data interop with honest fidelity reports.

## Build

```bash
pipx run maturin develop --release --manifest-path crates/exl-py/Cargo.toml
```

Or build a wheel:

```bash
pipx run maturin build --release --manifest-path crates/exl-py/Cargo.toml
pip install <wheel>
```

## Usage

```python
import exl

exl.convert("input.stl", "output.exl")
print(exl.load_json("output.exl"))
print(exl.validate("output.exl", "mech"))
print(exl.content_hash("output.exl"))
```

## Extras

Breakform's optional Python dependencies are gated behind extras so the core install stays lean:

| extra    | `pip install breakform[<extra>]` | brings                                                  |
|----------|----------------------------------|---------------------------------------------------------|
| (none)   | `pip install breakform`          | core: convert, validate, diff                           |
| `meshio` | `pip install breakform[meshio]`  | 27 import + 28 export mesh/solver formats via meshio   |
| `gmsh`   | `pip install breakform[gmsh]`    | Gmsh Python API                                         |
| `all`    | `pip install breakform[all]`     | everything: meshio + Gmsh plugin                        |

