Skip to main content

Experimental Tapir utility for supercharging Archicad automation.

Project description

Perisso

Short for "perissodactyla" /pəˌrɪsoʊˈdæktɪlə/ – the zoological order Tapiridae reside in. It's an experimental Tapir utility.

GitHub Tag

Overview

Tapir provides a collection of tooling to assist the usage of the JSON API of Archicad.
Perisso is based on this fantastic work and provides a consolidated frontend for using tapir. This Python package aims to make it even easier to interact with and manipulate digital architectural model elements, by employing a fluent interface. This includes offering an efficient way to filter elements based on various criteria, and calling tapir functions those elements.

Installation

  1. Make sure you have the Tapir plugin for Archicad installed.
  2. Install perisso.
    My recommendation: Always use uv. Use it for everything.
uv venv
uv pip install perisso

Alternatively, you just download the source files. Oldschool.

[!WARNING]
Perisso is under development. Please expect breaking changes between versions.

Usage

The simplest way is to just call perisso(). This will select all elements by default. To limit the elements to the current selection in Archicad use the selection parameter:

sel_elem = perisso(selection=True)

Here is a basic example of how to use perisso:

from perisso import perisso, Filter, ElType

elements = perisso()
filtered_elements = elements.filterBy(Filter.ELEMENT_TYPE).equals(ElType.COLUMN).get()
print(filtered_elements)

[!CAUTION] The resulting element list is compatible with Tapir, but not with the native Archicad-Python connection.
For that you need to call the toNative() function on the perisso collection. The result uses the classes of the AC-Py connection and can then be fed into it.

See the examples for more.

[!NOTE]
If a filter does not apply the element concerned is silently removed (not included in the result, that is). Example: A Property is not used on it.

Contributing

Please open an issue or submit a pull request for any enhancements or bug fixes. Contributions are welcome, but might not be accepted until perisso reached a somewhat stable state.
Formatting is done with ruff.

License

Perisso is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

perisso-0.6.1.tar.gz (39.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

perisso-0.6.1-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file perisso-0.6.1.tar.gz.

File metadata

  • Download URL: perisso-0.6.1.tar.gz
  • Upload date:
  • Size: 39.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for perisso-0.6.1.tar.gz
Algorithm Hash digest
SHA256 bce6ea3a080740d2499c836fea1e72fa870e573a322935e26e869323f63bf8e3
MD5 bedabe57e7e362a08ed1183765659606
BLAKE2b-256 131562242ce73667d37b23f6fac8172db956dd63aaf3dcea558c925f01a217b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for perisso-0.6.1.tar.gz:

Publisher: release.yml on runxel/perisso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file perisso-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: perisso-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for perisso-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e78a959e85e41dd85fcc92c959ea0c4c226e17ebe050581998866fd307888aa5
MD5 8eb4efecba18d42d3c913bb926fa468d
BLAKE2b-256 4c249f58028f6fe9311c63e6ad787addf27179f0741a1319a3803a1c6bd529c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for perisso-0.6.1-py3-none-any.whl:

Publisher: release.yml on runxel/perisso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page