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.11.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.11-cp312-cp312-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

ipaacar_python-0.1.11-cp311-cp311-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

ipaacar_python-0.1.11-cp310-cp310-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

ipaacar_python-0.1.11-cp39-cp39-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

ipaacar_python-0.1.11-cp38-cp38-manylinux_2_34_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

File details

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

File metadata

  • Download URL: ipaacar_python-0.1.11.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.11.tar.gz
Algorithm Hash digest
SHA256 5efa8bc493dda033ed39409e7d4ab687ccfc715a1db2dd784d4b74963785f1f7
MD5 576005e98ee544e1ce5cd46f97b71232
BLAKE2b-256 4f16159965fe446a3204b2e928885ec55c568d4e45fd634bc2d7f71f100b13ab

See more details on using hashes here.

File details

Details for the file ipaacar_python-0.1.11-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for ipaacar_python-0.1.11-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0176cb71934bf8337ff260ce85e67281332554bc718e1239b63f5ffea535c022
MD5 8a9dfaa7304d6f5e168f639f6c63399b
BLAKE2b-256 047fbbb0bd32ea68cf7b34636f1c536de7768083a9854f0922a98e985005e9bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.11-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a8dde3b2278af76e0e4329e31cc431fb0a3cbe62c29efabd4c732420a64253a9
MD5 47fb5ebbf987ac4992ad8ce02b4ea17d
BLAKE2b-256 233b9f3b2000eec99620782f54e5151c788e2d9079855200151ce063d1dc6c56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.11-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9de3906b3b667d105e54a04f6aa3d360cc99bf84721765662702d184be6a31a7
MD5 35af692cb9bfa3f219668df5768189ce
BLAKE2b-256 da5c8a27187b6ba6530bafec18327abb21c478ab7c4e9adf379b0619a2a929ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.11-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a330adea05576783aef7a8be907bd6497eac2d03fc7881aba5699b1a8a6b68de
MD5 7f85e94983e26218659da9999cfca336
BLAKE2b-256 16fb48ea7ae0d222816e29b53d9ad8a718366f4008666a608ecd0d0bf44aef6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.11-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e22f08a42682b671b8c1436a6d20be7503dbc7814e0cca94b7837d88389fa98a
MD5 d99f58162d8b4f7f81cfb878fb17c774
BLAKE2b-256 a33df7ad401385fbbfe81df0f4d172ac0484e96f5c88b6d7136d475cc0a99d9a

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