Metadata-Version: 2.4
Name: compas_timber
Version: 3.0.0
Summary: COMPAS package for modeling, designing and fabricating timber assemblies.
Author: Aleksandra Anna Apolinarska, Chen Kasirer, Gonzalo Casas, Jonas Haldemann, Oliver Appling Bucklin, Aurèle L. Gheyselinck, Panayiotis Papacharalambous, Anastasiia Stryzhevska, Jelle Feringa, Joseph Kenny, Beverly Lytle, Eric Gozzi, Rodrigo Arca Zimmermann, Nicolas Benjamin Boscoboinik, Paul Jaeggi, Matthias Helmreich, Daniel Nunes Locatelli
License-Expression: MIT
Project-URL: Homepage, https://gramaziokohler.github.io/compas_timber/latest/
Project-URL: Repository, https://github.com/gramaziokohler/compas_timber
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Scientific/Engineering
Classifier: Programming Language :: Python
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 :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rtree
Requires-Dist: compas<3.0,>=2.15.1
Requires-Dist: compas_model==0.9.2
Requires-Dist: scipy>=1.1
Requires-Dist: compas_brep>=0.3.1
Requires-Dist: compas_pb<2.0,>=1.2.0
Provides-Extra: dev
Requires-Dist: bump-my-version; extra == "dev"
Requires-Dist: compas_invocations2[mkdocs]>=1.0.2; extra == "dev"
Requires-Dist: mkdocs-panzoom-plugin; extra == "dev"
Requires-Dist: invoke>=0.14; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Requires-Dist: pytest-mock; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: tomlkit; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-randomly; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pyyaml; extra == "dev"
Requires-Dist: compas_brep[occ]; extra == "dev"
Provides-Extra: gh
Requires-Dist: compas_invocations2; extra == "gh"
Requires-Dist: tomlkit; extra == "gh"
Requires-Dist: pythonnet; extra == "gh"
Provides-Extra: viz
Requires-Dist: compas_brep[occ]; extra == "viz"
Requires-Dist: compas_viewer; extra == "viz"
Dynamic: license-file

<h1>
  <img src="docs/_logo/PNG_tranparent-background.png" alt="COMPAS Timber logo" width="70" height="70" align="absmiddle"> COMPAS Timber
</h1>


[![Github Actions Build Status](https://github.com/gramaziokohler/compas_timber/workflows/build/badge.svg)](https://github.com/gramaziokohler/compas_timber/actions)
[![codecov](https://codecov.io/gh/gramaziokohler/compas_timber/graph/badge.svg?token=EFI7G1T18Z)](https://codecov.io/gh/gramaziokohler/compas_timber)
[![License](https://img.shields.io/github/license/gramaziokohler/compas_timber.svg)](https://pypi.python.org/pypi/compas_timber)
[![pip downloads](https://img.shields.io/pypi/dm/compas_timber)](https://pypi.python.org/project/compas_timber)
[![PyPI Package latest release](https://img.shields.io/pypi/v/compas_timber.svg)](https://pypi.python.org/pypi/compas_timber)
[![Supported implementations](https://img.shields.io/pypi/implementation/compas_timber.svg)](https://pypi.python.org/pypi/compas_timber)
[![DOI](https://img.shields.io/badge/DOI-10.5281%2Fzenodo.7934266-blue)](https://doi.org/10.5281/zenodo.7934266)
[![Twitter Follow](https://img.shields.io/twitter/follow/compas_dev?style=social)](https://twitter.com/compas_dev)
[![Made with COMPAS](https://compas.dev/badge.svg)](https://compas.dev/#/)
![COMPAS Timber](https://raw.githubusercontent.com/gramaziokohler/compas_timber/main/docs/_images/compas_timber.jpg)

`compas_timber` is a user-friendly open-source software toolkit that streamlines the design-to-fabrication workflow of timber frame structures. A project is designed and refined in a single digital model that also produces the manufacturing data, so it can go from first concept to fabrication without re-modeling or back-and-forth rework along the way. By lowering the threshold for creating versatile and resource-aware timber designs, we aim to increase the use of timber in architecture.

## Installation

We recommend managing environments and dependencies with [uv](https://docs.astral.sh/uv/), but a plain `pip install compas_timber` works just as well.

Add `compas_timber` to your project:

```bash
uv add compas_timber
```

To visualize models outside of Rhino, install with the `viz` extra, which adds [compas_viewer](https://github.com/compas-dev/compas_viewer) and `compas_brep[occ]`:

```bash
uv add "compas_timber[viz]"
```

For a development setup, clone the repository and sync the environment:

```bash
git clone https://github.com/gramaziokohler/compas_timber.git
cd compas_timber
uv sync --extra dev
uv run pytest
```

## First Steps

* [Documentation](https://gramaziokohler.github.io/compas_timber/)
* [COMPAS TIMBER Grasshopper Plugin (timber_design)](https://github.com/gramaziokohler/timber_design)
* [COMPAS TIMBER Grasshopper Tutorial](https://gramaziokohler.github.io/timber_design/)
* [COMPAS TIMBER API Reference](https://gramaziokohler.github.io/compas_timber/latest/api/compas_timber.model/)

## Questions and feedback

We encourage the use of the [COMPAS framework forum](https://forum.compas-framework.org/)
for questions and discussions.

## Issue tracker

If you found an issue or have a suggestion for a dandy new feature, please file a new issue in our [issue tracker](https://github.com/gramaziokohler/compas_timber/issues).

## Contributing

We love contributions!

Check the [Contributor's Guide](CONTRIBUTING.md)
for more details.

## Credits

`compas_timber` is currently developed by Gramazio Kohler Research. See [`CITATION.cff`](CITATION.cff) for a complete list of authors.
