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

File metadata

  • Download URL: ipaacar_python-0.1.10.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.10.tar.gz
Algorithm Hash digest
SHA256 7272002abd3f21f4dc8dd3d964ee45c214861bbf686114c4f41d5db411209a15
MD5 456ac4f92a1adf82f47f1ae26c5f4930
BLAKE2b-256 ce4752e5c23f419a7b68d711c6940b826604255c211e2cb336d1da9c1bb2c973

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.10-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9f536b08f83ad473a890e8979149b2404b3d423da9638b5042440434f870b355
MD5 821e4d71b074ef74d30f97fdce1a0409
BLAKE2b-256 87f96935a06a3e17791f300e529ee9d2a3f85c7e06e6b6a91371844a938b87a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.10-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7bc341eb92810c41e7337f0444983f90eff308c714b75f3a27269cf2b2ec9c9a
MD5 1062547978a7e042c25a9a9b341e7120
BLAKE2b-256 29ce69e7f28b27cabdfa7f311402e10942290e47613e123c0a66c1ca38911ea8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.10-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 666ffc5a93a21fd18bc76767b0fd90ca9478478d6236136d44b3898ed2479f21
MD5 65684fd5d49226c414aadf8aaf810763
BLAKE2b-256 6b58744a607ae70c6b418f2715648d5f8e800a6c18921284587ad0d35e961d25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.10-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 b3289f83783a347a1190a2414a8922d5f6906fd9a18ed4a5ee4aad6964f04a4d
MD5 7e0ec56f63f136b999db67d9d9dcaaf3
BLAKE2b-256 4e50eae17a6fd3a9aa5af15a778c54b9bfd8e173ec11718f79999563a99d4c34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ipaacar_python-0.1.10-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7e9a2cd91872cfa044fe60226af6b6ad0b23d76fea98712aca95817dbc03d131
MD5 14347624841e7fac255ab90dba7fa464
BLAKE2b-256 62279503b3026d3fc609e9fb676b34f842589a0ca8630cb18dd059693711973c

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