Name | perisso JSON |
Version |
0.5.0
JSON |
| download |
home_page | None |
Summary | Experimental Tapir utility for supercharging Archicad automation. |
upload_time | 2025-07-29 22:29:02 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
archicad
automation
bim
tapir
|
VCS |
 |
bugtrack_url |
|
requirements |
archicad
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Perisso
> Short for "perissodactyla" /pəˌrɪsoʊˈdæktɪlə/ – the zoological order Tapiridae reside in.
> It's an experimental [Tapir](https://github.com/ENZYME-APD/tapir-archicad-automation) utility.
## Overview
_Tapir_ provides a collection of tooling to assist the usage of the JSON API of Archicad.
_Perisso_ is a Python package based on this fantastic work and 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.
## Installation
1. Make sure you have the Tapir plugin for Archicad installed.
2. Install `perisso`.
My recommendation: Always use [uv](https://docs.astral.sh/uv/). Use it for everything.
```bash
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:
```python
sel_elem = perisso(selection=True)
```
Here is a basic example of how to use `perisso`:
```python
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](https://pypi.org/project/archicad/).
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](https://github.com/runxel/perisso/tree/main/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.
## License
Perisso is licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": null,
"name": "perisso",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "archicad, automation, bim, tapir",
"author": null,
"author_email": "Lucas Becker <lucas@akroter.io>",
"download_url": "https://files.pythonhosted.org/packages/74/f7/4d45191e6353dfb06bb2ba3483c2ef38028484507bb6ecdc4e9d0a06f6d2/perisso-0.5.0.tar.gz",
"platform": null,
"description": "# Perisso\n> Short for \"perissodactyla\" /p\u0259\u02ccr\u026aso\u028a\u02c8d\u00e6kt\u026al\u0259/ \u2013 the zoological order Tapiridae reside in.\n> It's an experimental [Tapir](https://github.com/ENZYME-APD/tapir-archicad-automation) utility. \n\n\n## Overview\n_Tapir_ provides a collection of tooling to assist the usage of the JSON API of Archicad. \n_Perisso_ is a Python package based on this fantastic work and 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.\n\n\n## Installation\n\n1. Make sure you have the Tapir plugin for Archicad installed.\n2. Install `perisso`. \nMy recommendation: Always use [uv](https://docs.astral.sh/uv/). Use it for everything.\n\n```bash\nuv venv\nuv pip install perisso\n```\n\nAlternatively, you just download the source files. Oldschool.\n\n\n> [!WARNING] \n> Perisso is under development. Please expect breaking changes between versions.\n\n\n## Usage\n\nThe 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:\n```python\nsel_elem = perisso(selection=True)\n```\n\nHere is a basic example of how to use `perisso`:\n\n```python\nfrom perisso import perisso, Filter, ElType\n\nelements = perisso()\nfiltered_elements = elements.filterBy(Filter.ELEMENT_TYPE).equals(ElType.COLUMN).get()\nprint(filtered_elements)\n```\n\n> [!CAUTION]\n> The resulting element list is compatible with Tapir, but _not_ with the native [Archicad-Python connection](https://pypi.org/project/archicad/). \nFor 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.\n\n\nSee the [examples](https://github.com/runxel/perisso/tree/main/examples) for more.\n\n\n> [!NOTE] \n> 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.\n\n\n## Contributing\n\nPlease 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.\n\n\n## License\n\nPerisso is licensed under the MIT License.\n",
"bugtrack_url": null,
"license": null,
"summary": "Experimental Tapir utility for supercharging Archicad automation.",
"version": "0.5.0",
"project_urls": {
"Bug Tracker": "https://github.com/runxel/perisso/issues",
"Homepage": "https://github.com/runxel/perisso"
},
"split_keywords": [
"archicad",
" automation",
" bim",
" tapir"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a5454dff28c238ad1d98fa7140a4ce17e7b29b1d6c3aec0a479280a0e576be0d",
"md5": "568199aba610fe1694b241d470bcae0d",
"sha256": "7b6723d4464b6bbf9887d6c199bc324e26034b295a9236164d4f88781f559888"
},
"downloads": -1,
"filename": "perisso-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "568199aba610fe1694b241d470bcae0d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 10544,
"upload_time": "2025-07-29T22:29:00",
"upload_time_iso_8601": "2025-07-29T22:29:00.906228Z",
"url": "https://files.pythonhosted.org/packages/a5/45/4dff28c238ad1d98fa7140a4ce17e7b29b1d6c3aec0a479280a0e576be0d/perisso-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "74f74d45191e6353dfb06bb2ba3483c2ef38028484507bb6ecdc4e9d0a06f6d2",
"md5": "4df35cda955bb817e4189e65b5ddd0ec",
"sha256": "2696761c2000fcb9a69f9e7c824560cdf268db5a8aff692539ddcb42193b0182"
},
"downloads": -1,
"filename": "perisso-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "4df35cda955bb817e4189e65b5ddd0ec",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 12277,
"upload_time": "2025-07-29T22:29:02",
"upload_time_iso_8601": "2025-07-29T22:29:02.187678Z",
"url": "https://files.pythonhosted.org/packages/74/f7/4d45191e6353dfb06bb2ba3483c2ef38028484507bb6ecdc4e9d0a06f6d2/perisso-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-29 22:29:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "runxel",
"github_project": "perisso",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "archicad",
"specs": [
[
">=",
"28.3000"
]
]
}
],
"lcname": "perisso"
}