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.8.tar.gz (75.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

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

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

File details

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

File metadata

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

File hashes

Hashes for ipaacar_python-0.1.8.tar.gz
Algorithm Hash digest
SHA256 f636ccaf35cc3bf1e62a3d272948425cdcc6cbf4c7cf24f6e0083c5c25ad6789
MD5 56ed83001f3f2409f1700b97cbb9dbc0
BLAKE2b-256 33ba2e8bdbdc19ca6739455393276bbad8d1b6b37d6b88d8dbec9ede430cc81d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.8-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 03bc87eeab32a5226c53a7768a463fc55143f390e1b073a65b45ee97a22bf8d0
MD5 6f88d8aec1ee5acff7139217bbe1cec1
BLAKE2b-256 6f085e44bf72c2a9b9ad1e029f8cc2a460187936dab8d38d7b713bc07f0609b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.8-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c127b0eb1ad41cdf1588e10e23648d6896f6dd1d00111f1a701409b34e413a0b
MD5 18dac69058f99521fe6b2b7dd7610342
BLAKE2b-256 04c5d669d0c77e6dfdf89d5fa4195e03bec165d43698b6f67e2b713a4114321e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.8-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 329b80f89d7229dadb93025f5c91d0a3388d2077469781cfb9b3f2636709d492
MD5 076b6cb66dcce4dd742d4e9a5782d2bb
BLAKE2b-256 9c72b97d297fd300a6b557bbc408695c8f49758ee9d96d1f12e70b280ff1c36d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.8-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f69e456264d7c39d64af2bdf48894326ab0375295f423d0325a52b8e0491258b
MD5 691a44993b8097f733dd3abe153fcc17
BLAKE2b-256 7887043a22e00eca63a84445300e50472edfe589de20df77eb6ffc7131cf966a

See more details on using hashes here.

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