Metadata-Version: 2.4
Name: petra-lang
Version: 0.1.0
Summary: Checks physical designs against their stated claims, with an exact-arithmetic certificate for every PASS and FAIL
Requires-Python: >=3.11
License-Expression: Apache-2.0
License-File: LICENSE
Requires-Dist: numpy>=1.23.2
Requires-Dist: scipy>=1.9.2
Project-URL: Source, https://github.com/NooterraLabs/petra
Project-URL: Issues, https://github.com/NooterraLabs/petra/issues
Description-Content-Type: text/markdown

# Petra

Petra checks a physical design against the claims written in it. A design is a short `.petra` file that describes a steel connection, a truss, a wire circuit or a bolted joint. Petra answers pass, fail, marginal or unknown, and backs every pass and fail with a certificate that a small kernel re-checks in exact arithmetic.

Petra checks the loads a design states. It does not choose them, and it does not replace the engineer who signs the design.

## Install

```bash
pip install petra-lang
```

## Use

```bash
petra new shear_tab > tab.petra
petra check tab.petra
```

`petra new` prints an example design to edit. `petra check` prints the verdict, the check that governs it, and every check behind it. `petra kinds` lists what Petra can check, and `petra docs` lists the documents that ship with it.

## Learn more

- [Language reference](https://github.com/NooterraLabs/petra/blob/v0.1.0/docs/reference.md)
- [Using Petra from Python](https://github.com/NooterraLabs/petra/blob/v0.1.0/petra/docs/api.md)
- [How the checker works](https://github.com/NooterraLabs/petra/blob/v0.1.0/docs/design.md)
- [Steel connections](https://github.com/NooterraLabs/petra/blob/v0.1.0/docs/steel_connections.md)
- [Roadmap and test results](https://github.com/NooterraLabs/petra/blob/v0.1.0/docs/plan.md)

## License

Code is under Apache-2.0 and docs are under Creative Commons Attribution 4.0. To send a change, read [contributing](https://github.com/NooterraLabs/petra/blob/v0.1.0/CONTRIBUTING.md).
