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.9.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.9-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.9-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.9-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.9-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.9-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.9.tar.gz.

File metadata

  • Download URL: ipaacar_python-0.1.9.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.9.tar.gz
Algorithm Hash digest
SHA256 c89ccf6cccc43f14b658d9d245bee42a9c92dc3fdc1a99cb92682b1e497b0584
MD5 4f67d7d43a397cd90b27e734f953a1e2
BLAKE2b-256 5b2e71b0ee7f8a62758d79d142dba452f070cc459e066d1e15f637f1b831a353

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.9-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0a5a27b7343f8769f28ecc906f16839dc3f063b5ea326e135113657c2896c13a
MD5 91ed7dcc91edaa8f0defc5e12f22ea17
BLAKE2b-256 7fdc97d0c0e6c185b67ef97d6298a08d8f11b966adf45c3af9a0710483a29b51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.9-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 bd13ac3e94ee55b55eb4df102f5994ab5d89640619989c0dd2a0ef4b7f629e62
MD5 6df5192e1b87c27604630825f1169636
BLAKE2b-256 677598ee1e3ec767a81cb42c8f68e5f3672129197cad03c0281966515398fa5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.9-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 fd6936ee5dbb51a99761fb5cc45c4e59fcb66a2a302fad5385aaa76672080e3a
MD5 d08c7265a87fe672ae9f79a36d6e95cf
BLAKE2b-256 11517e825c8e9edcdc3d5e32371461049136a70c61cd76b32a40da7d5fdd4119

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.9-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 636382a87a478fc5f0d83bfe9044524e50ef6e83405d8c2e998d39d5a501776b
MD5 902ad2128593098a5b478df0d641d598
BLAKE2b-256 6b9a95005b083efeb9545fbe732117ce0882287db0d564b4759fc8cb9f4cf902

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.9-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 2de65616d43f000f58865d48e27f45460ee23262ec2018f67135088c47999859
MD5 35b02e38955f596da63f8d5fe776f5b0
BLAKE2b-256 d220f26c9000c9335db7f32d616dea73b34ac9d98c64fb7488ec104740ddfed7

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