Distributed system framework supporting AIoT, Machine Learning, Media streaming and Robotics
-
Supports multi-nodal Machine Learning streaming pipelines ... that span from edge (embedded) devices all the way through to the data centre systems and back again
-
Consistent distributed system approach integrating best-of-breed technology choices
- Supports the Actor Model
- Supports Flow based programming via distributed pipeline graphs
- Low-latency performance with fully asynchronous message passing
-
Ease of visualization and diagnosis for systems with many interconnected components
-
Light-weight core design, i.e a micro-controller reference implementation, e.g ESP32 running microPython
-
Flexible deployment choices when deciding which components should run in the same process (for performance) or across different processes and/or hosts (for flexibility)
-
Aiming to make the difficult parts ... much easier !
Recommended when simply trying Aiko Services by using existing examples and tools.
Installs the Aiko Services package from PyPI
pip install aiko_services
Recommended when using Aiko Services as a framework for development
git clone https://github.com/geekscape/aiko_services.git
cd aiko_services
python3 -m venv venv # Once only
source venv/bin/activate # Each terminal session
pip install -U pip # Install latest pip
pip install -e . # Install Aiko Services for development
Recommended when making an Aiko Services release to PyPI
After installing from GitHub (above), perform these additional commands
pip install -U hatch # Install latest Hatch build and package manager
hatch shell # Run shell using Hatch to manage dependencies
# hatch test # Run local tests (to be completed)
hatch build # Publish Aiko Services package to PyPI
After installing from GitHub (above), choose whether to use a public MQTT server ... or to install and run your own MQTT server
It is easier to start by using a public remotely hosted MQTT server to tryout a few examples.
For the longer term, it is better and more secure to install and run your own MQTT server.
On Linux or Mac OS X: Start mosquitto, aiko_registrar and aiko_dashboard
./scripts/system_start.sh # default AIKO_MQTT_HOST=localhost
- Aloha Honua examples (hello world)
See GitHub Issues
-
Building an open framework combining AIoT, Media, Robotics & Machine Learning (YouTube)
- Slide deck (Google slides)
- Everything Open conference March 2023: Melbourne
-
Using Python to stream media using GStreamer for RTSP and WebRTC applications (YouTube)
- Slide deck (Google slides)
- PyCon AU conference August 2023: Adelaide
-
microPython distributed, embedded services (YouTube)
- Slide deck (Google slides)
- microPython meet-up November 2023: Melbourne