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.8.0.tar.gz (45.5 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.8.0-py3-none-any.whl (45.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for perisso-0.8.0.tar.gz
Algorithm Hash digest
SHA256 96c79cd27e3336b39f5619dd5348369a17bb649b2893d2277d69ac9c3ad40f02
MD5 5056e677ed22053e02af4558d258248c
BLAKE2b-256 4ef8ac24bad4b3b08fa2fe014672d846fdbcee13dd2522ce63d45126a81c5ba2

See more details on using hashes here.

Provenance

The following attestation bundles were made for perisso-0.8.0.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.8.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for perisso-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 623ec36cf9501d462b08c0ed9c38fcbda8e4c51b0bd3a80213e219d9e717fc5f
MD5 fc150cebc59b64daebe62a9f98b0c776
BLAKE2b-256 65fc279790e3bfe1224c19ebaf662c7f971953194ea709cf8fdd2be3b30f8a3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for perisso-0.8.0-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