Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Tölvera

⭐️ Tölvera has been selected for Mozilla's first Builders Accelerator! Read the announcement and join our Discord!

type:video

Tölvera is a Python library designed for composing together and interacting with basal agencies, inspired by fields such as artificial life (ALife) and self-organising systems. It provides creative coding-style APIs that allow users to combine and compose various built-in behaviours, such as flocking, slime mold growth, and swarming, and also author their own.

With built-in support for Open Sound Control (OSC) via iipyper and interactive machine learning (IML) via anguilla, Tölvera interfaces with and rapidly maps onto existing creative computing software and hardware, striving to be both an accessible and powerful tool for exploring diverse intelligence in artistic contexts.

Inspired by our lab's location in Iceland, the word Tölvera is an Icelandic kenning based on tölva meaning computer, from tala (number) and völva (prophetess), and vera (being), composed together as number being.

We have employed Tölvera in various collaborative artistic works, including musical performances, compositions, and multimedia installations (see references.bib for peer-reviewed publications). Tölvera's role in these pieces has mainly been "mappable behaviour engine", where interface inputs can control Tölvera programs, and Tölvera runtime data can control interface outputs, in practically any combination. In this way, and to controllable degrees, Tölvera can contribute to the underlying dynamics of a given interactive scenario. It can also add a visual component, and equally has been used without projection in other works.

Tölvera makes use of Taichi, a domain-specific language embedded in Python that enables parallelisation, and is experimental software subject to change.

We would be happy to have you join us on our Discord server!

Showcase & Examples

Examples can be found at iil-examples/tolvera. See also the guide, reference and experiments pages.

Visit the YouTube Playlist (if you'd like to add a video, please get in touch).

type:video

Install

Taichi supports numerous operating systems and backends. If you plan on using Vulkan for graphics (recommended for macOS), you may need to install the Vulkan SDK first and restart your machine.

Tölvera is registered on PyPI and can be installed via a Python package manager such as pip:

pip install tolvera

Develop

For development, we use poetry. Fork/clone this repository and install the package with `poetry:

git clone https://github.com/Intelligent-Instruments-Lab/tolvera # (or clone your own fork)
cd tolvera
poetry install

Known Issues & Limitations

  • Tölvera does not support Intel-based Apple devices (due to anguilla's FAISS dependency, and Mediapipe not supporting Intel Macs).
  • On macOS, an OpenMP issue may prevent Tölvera programs from running, which can be addressed by adding the following environment variable:
export KMP_DUPLICATE_LIB_OK=TRUE
  • Sonification via SignalFlow does not work on Windows.
  • Mediapipe versions may need to be downgraded in order to work on macOS and Windows.
  • OSError: Could not find any hidapi library: this is due to the DualSense (PS5 controller) class. On macOS you can brew install hidapi and it should work.

Contribute

We welcome Pull Requests across all areas of the project:

Community

To discuss Tölvera with developers and other users:

  • Use GitHub Issues to report bugs and make specific feature requests.
  • Use GitHub Discussions to share ideas and ask questions.
  • Use Discord for further support, sharing your work, and general chat.

Across the project, we follow the Berlin Code of Conduct. Please get in touch if you experience or witness any conduct issues.

Roadmap

See Discussion.

Citation

Tölvera is being written about and used in a number of contexts (see references.bib). The current canonical citation is our NIME 2024 paper:

@inproceedings{armitageTolveraComposingBasal2024,
  title = {T{\"o}lvera: {{Composing With Basal Agencies}}},
  booktitle = {Proc. {{New Interfaces}} for {{Musical Expression}}},
  author = {Armitage, Jack and Shepardson, Victor and Magnusson, Thor},
  year = {2024},
  address = {Utrecht, NL},
}

Inspiration

Contact

Tölvera is developed by Jack Armitage.

Acknowledgements

We thank the Taichi community for their project that makes Tölvera possible.

Tölvera was originally created at the Intelligent Instruments Lab.

Metadata

Release files for tolvera 0.1.0rc15.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tolvera 0.1.0rc15.post1
File Size Uploaded Provenance Actions
tolvera-0.1.0rc15.post1.tar.gz 98.0 kB Without provenance Details for tolvera-0.1.0rc15.post1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tolvera 0.1.0rc15.post1
File Interpreter ABI Platform Actions
tolvera-0.1.0rc15.post1-py3-none-any.whl Python 3 none any Details for tolvera-0.1.0rc15.post1-py3-none-any.whl

Total release size: 207.4 kB

Release files / tolvera-0.1.0rc15.post1.tar.gz

Download URL tolvera-0.1.0rc15.post1.tar.gz
Size 98.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e45db31b122d661842a4fc9f36cbb658de14394086a58fd12d54c39de39e7694
BLAKE2b-256 checksum
How to use checksums
3e496efc8554afa17402ec4327f765400abbc6901142751d2914835bd1003b9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.12.7 Linux/6.12.10-arch1-1

Release files / tolvera-0.1.0rc15.post1-py3-none-any.whl

Download URL tolvera-0.1.0rc15.post1-py3-none-any.whl
Size 109.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
99096ee0e91dcca839d76fd2f222fd0ef9ac6e3d02752375ac8a6144075ceae5
BLAKE2b-256 checksum
How to use checksums
aca283f4c423b6c2250df06e9bb6db8456dc51dac6306fb37bc520b46f5b0990
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.12.7 Linux/6.12.10-arch1-1

Security for tolvera 0.1.0rc15.post1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page