Skip to main content

Incremental Processing Architecture for Artificial Conversational Agents, implemented in Rust

Project description

ipaacar - Incremental Processing Architecture for Artificial Conversational Agents, implemented in Rust

pipeline PyPI - Version PyPI - License PyPI - Python Version

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

ipaacar_python-0.1.7.tar.gz (75.6 kB view details)

Uploaded Source

Built Distributions

ipaacar_python-0.1.7-cp311-cp311-manylinux_2_34_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.34+ x86-64

ipaacar_python-0.1.7-cp310-cp310-manylinux_2_34_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.34+ x86-64

ipaacar_python-0.1.7-cp39-cp39-manylinux_2_34_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.34+ x86-64

ipaacar_python-0.1.7-cp38-cp38-manylinux_2_34_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.34+ x86-64

File details

Details for the file ipaacar_python-0.1.7.tar.gz.

File metadata

  • Download URL: ipaacar_python-0.1.7.tar.gz
  • Upload date:
  • Size: 75.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.7.4

File hashes

Hashes for ipaacar_python-0.1.7.tar.gz
Algorithm Hash digest
SHA256 54bd7f90f542718fda72cfa09e55d53a5a028e69237fb4a075376d06d4befccc
MD5 5a1914fffc976d9c63cfb6a3ce58c92c
BLAKE2b-256 c095c8eb551918ec97d7b38c9f2b32ffde03252dc8e1b7bc3b711bcad9916bd4

See more details on using hashes here.

File details

Details for the file ipaacar_python-0.1.7-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ipaacar_python-0.1.7-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e9ced39180583cf33ee6f4b2bd1fabed7a0cacf0b00342c3e9797b7525201492
MD5 3db77317e5a73e818c80ec93d87563d7
BLAKE2b-256 30a3132bf97acca009a2475e2079fd93caa1ef43daa87aa598f3dfc3f9399d50

See more details on using hashes here.

File details

Details for the file ipaacar_python-0.1.7-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ipaacar_python-0.1.7-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3cf52e7ab5f5178c810e388d80ce7d62a23107f21d6fb1e7ad00f7d4699ac42c
MD5 b479da050a71a69d3a30c0807ae6b2c2
BLAKE2b-256 d8917d654fbf2a9db4fb7e65c7a912cc4e1b4fb2f1710bba77b0fe7a24239426

See more details on using hashes here.

File details

Details for the file ipaacar_python-0.1.7-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ipaacar_python-0.1.7-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e0199f5d710da9a498e083611d5b11527aaf8afc67a66c7e292cf87e38ad98c6
MD5 bd571144cd7208f7e21ed5dda503e84f
BLAKE2b-256 00c6f7976d6995f9e29f18f2504e79b1f6fc0d4c208351b71ee88ea7a8c90a7b

See more details on using hashes here.

File details

Details for the file ipaacar_python-0.1.7-cp38-cp38-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ipaacar_python-0.1.7-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3d1c51b6016497e1cc17a32183543d055e6fd2d49a8195c0e90b695cb48dbaed
MD5 63a7f059457b80c7880031c98d617b7c
BLAKE2b-256 661387d8754f954a1583553072b57abc3ca01c4eaf93318ba53a74f90642ee13

See more details on using hashes here.

Supported by

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