Incremental Processing Architecture for Artificial Conversational Agents, implemented in Rust
Project description
ipaacar - Incremental Processing Architecture for Artificial Conversational Agents, implemented in Rust
Implementation of IPAACA in Rust. For a theoretical background, see ipaaca wiki entry. IPAACA is developed by the Social Cognitive Systems Group at Bielefeld University. Many thanks to David Schwab for his contribution to the initial rust implementation.
IPAACA is a framework for incremental processing via "incremental units" (IUs) processed by buffers (in and out). It uses a MQTT broker for message passing. Therefore, a MQTT broker must be installed and running to use ipaaca(r) (mosquitto, nanomq). Simple messaging is possible via "messages". IUs can be updated, linked, committed, and retracted, allowing incremental processing, e.g. for conversational agents.
Installation
Python
Installing from PyPI
You can grab a precompiled versions from PyPI and install it via pip:
pip install ipaacar-python
Currtently, the precompiled versions support manylinux_x_y (e.g., Ubuntu >= 21.04, etc.) and Python 3.8 to 3.11.
Building from source
If the precompiled versions do not suit your needs, build ipaacar-python from source.
-
Install Rust and Cargo using rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Install Python (3.11 recommended), create and use a virtual environment
-
Install Maturin:
pip install maturin
-
Build the wheel package inside the
ipaacar-python
folder:maturin build --release
-
Install the wheel:
pip install ../target/wheels/FILENAME.whl
Rust
Usage over ssh (recommended)
You can use the library by linking it over git ssh. You will always use the newest version like this.
[dependencies]
ipaacar-core = { git = "ssh://git@gitlab.ub.uni-bielefeld.de:scs/ipaacar.git"}
If the project is still hosted on the uni gitlab, setup ssh authentication and create .cargo/config.toml
with this content:
[net]
git-fetch-with-cli = true
Downloading source files
Download the ipaaca-core folder and place it into your project directory. You can use the library by linking it in your Cargo.toml
like this:
[dependencies]
ipaacar-core = { path = "/ipaacar-core" }
Depending on your folder structure you might need to adjust the path.
Documentation
Documentation is available for:
Python
Documentation of the Python API. Build with pdoc.
Rust
Documentation of the Rust library. Build with standard rust docs.
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
Built Distributions
File details
Details for the file ipaacar_python-0.1.6.tar.gz
.
File metadata
- Download URL: ipaacar_python-0.1.6.tar.gz
- Upload date:
- Size: 75.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f90c2186ef9108be903f78a8f458729a55df143757c3054681e65e9067152f9b |
|
MD5 | b05ac956b2de7d219179a1faa9b33905 |
|
BLAKE2b-256 | e1d40fd21052aa287040e0fe53c98b44aaa4842eb2b73018f0233ea1d1888f9d |
File details
Details for the file ipaacar_python-0.1.6-cp311-cp311-manylinux_2_34_x86_64.whl
.
File metadata
- Download URL: ipaacar_python-0.1.6-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1797d3741b75489d5180508b8fa87b79169a86dc5d57723aa03e0f4717fe2eb |
|
MD5 | 1e8482e07c76f56c6f3c9bf0ac7cdd22 |
|
BLAKE2b-256 | 69da6caab2c78f9106ac138f5df0e65d6c67df9a20e7f4a37a8f115d35596b5d |
File details
Details for the file ipaacar_python-0.1.6-cp310-cp310-manylinux_2_34_x86_64.whl
.
File metadata
- Download URL: ipaacar_python-0.1.6-cp310-cp310-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62b32e15ce7f9c43eda9c8a4fbcd9cb1e57c17f441a3559223a72783b75d6c7b |
|
MD5 | c634c2836bdef88e0db17323d53cdc2d |
|
BLAKE2b-256 | 45bbc67044f259962a5bfaa99f505928cf51fd5c7105d44bb0d7e9b64896914b |
File details
Details for the file ipaacar_python-0.1.6-cp39-cp39-manylinux_2_34_x86_64.whl
.
File metadata
- Download URL: ipaacar_python-0.1.6-cp39-cp39-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.9, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f929574de1333b3c5e77ab1968ce39d30c0dc66bfe6cf3db3f72dbc7a6c3a9e8 |
|
MD5 | 3eaaa2296c50e19f46bd4ac10728f0b6 |
|
BLAKE2b-256 | 424455008fe2eb252491c86eb2e4b675b0f320ad130807d610375b59fd84e918 |
File details
Details for the file ipaacar_python-0.1.6-cp38-cp38-manylinux_2_34_x86_64.whl
.
File metadata
- Download URL: ipaacar_python-0.1.6-cp38-cp38-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.8, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6918e0e5b3dd2722a1baa6d91b666ced52348c219119c3f1ea6e5750f3c2b957 |
|
MD5 | 79a164daff3b84bd1f896770879ca23a |
|
BLAKE2b-256 | 90f7b32e3a4df3334f2b314637f0471547d31981dc9a3a8538fc79a018af4ff7 |