Metadata-Version: 2.4
Name: partomatic
Version: 0.8.2
Summary: build123d Part extended for CI/CD automation
Project-URL: Homepage, https://github.com/x0pherl/partomatic
Project-URL: Issues, https://github.com/x0pherl/partomatic/issues
Project-URL: Documentation, https://partomatic.readthedocs.org
Author: x0pherl
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Requires-Dist: build123d
Requires-Dist: ocp-vscode
Requires-Dist: pydantic>=2
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-mock; extra == 'test'
Provides-Extra: webui
Requires-Dist: nicegui; extra == 'webui'
Description-Content-Type: text/markdown

# Partomatic

[Partomatic](https://github.com/x0pherl/partomatic) provides a standardized system for building parametric models in build123d. The open nature of build123d is its strength, but it makes it difficult to build standardized tooling to interface with your projects. It makes it easy to:

  - import and export configuration files
  - easily export models for projects that provide large numbers of intersectional options
  - share a web interface allowing end-users to change properties and see the results quickly
  - generate logs for compilation and web interface events that can be consumed by an [OpenTelemetry](https://opentelemetry.io/) platform

## [PartomaticConfig](partomatic_config.md) 

PartomaticConfig enables a standardized interface for parametric 3D modeling. Parametric modeling is a method of creating 3D models where the geometry is defined by parameters, allowing for easy adjustment by simply changing the values of these parameters. This approach enables the creation of flexible and reusable designs that can be quickly adapted to different requirements.

## [Partomatic](partomatic.md)

Partomatic is where the configuration is applied to one or more models. Your descendant of the Partomatic base class defines a `compile` method, which is where you build one or more build123d `Part` objects that can be displayed or saved as stl or step files.

## [AutomatablePart](automatable_part.md)

AutomatablePart adds a few additional properties to a Part object that allow visual placement of previews and directory and file name properties that enable easy build scripts for exporting alternative versions of parts with standardized naming conventions.

## Installation

Install partomatic using pip:

```bash
pip install partomatic
```

This will automatically install partomatic and its dependencies.

If you want browser-based configuration/preview UIs, install the optional web UI extras:

```bash
pip install partomatic[webui]
```

## [Contributing](CONTRIBUTING.md)

We would be thrilled for you to make Partomatic better :) - a detailed [contribution guide](CONTRIBUTING.md) is available.