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

Uploaded Source

Built Distributions

ipaacar_python-0.1.6-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.6-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.6-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.6-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.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

Hashes for ipaacar_python-0.1.6.tar.gz
Algorithm Hash digest
SHA256 f90c2186ef9108be903f78a8f458729a55df143757c3054681e65e9067152f9b
MD5 b05ac956b2de7d219179a1faa9b33905
BLAKE2b-256 e1d40fd21052aa287040e0fe53c98b44aaa4842eb2b73018f0233ea1d1888f9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.6-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a1797d3741b75489d5180508b8fa87b79169a86dc5d57723aa03e0f4717fe2eb
MD5 1e8482e07c76f56c6f3c9bf0ac7cdd22
BLAKE2b-256 69da6caab2c78f9106ac138f5df0e65d6c67df9a20e7f4a37a8f115d35596b5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.6-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 62b32e15ce7f9c43eda9c8a4fbcd9cb1e57c17f441a3559223a72783b75d6c7b
MD5 c634c2836bdef88e0db17323d53cdc2d
BLAKE2b-256 45bbc67044f259962a5bfaa99f505928cf51fd5c7105d44bb0d7e9b64896914b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.6-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f929574de1333b3c5e77ab1968ce39d30c0dc66bfe6cf3db3f72dbc7a6c3a9e8
MD5 3eaaa2296c50e19f46bd4ac10728f0b6
BLAKE2b-256 424455008fe2eb252491c86eb2e4b675b0f320ad130807d610375b59fd84e918

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.6-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6918e0e5b3dd2722a1baa6d91b666ced52348c219119c3f1ea6e5750f3c2b957
MD5 79a164daff3b84bd1f896770879ca23a
BLAKE2b-256 90f7b32e3a4df3334f2b314637f0471547d31981dc9a3a8538fc79a018af4ff7

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