Skip to content

Distributed service framework using asynchronous messages supporting IoT, Machine Learning and Video

License

Notifications You must be signed in to change notification settings

geekscape/aiko_services

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aiko Services

Distributed system framework supporting AIoT, Machine Learning, Media streaming and Robotics

Features

  • 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

  • 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 !

Installation

Installing from PyPI (Python Package Index)

Recommended when simply trying Aiko Services by using existing examples and tools.
Installs the Aiko Services package from PyPI

pip install aiko_services

Installing from GitHub

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

Installing for package maintainers

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

Quick start

After installing from GitHub (above), choose whether to use a public MQTT server ... or to install and run your own MQTT server

It is usually easier to briefly use a public remotely hosted MQTT server to get going quickly.
For the longer term, it is better and more secure to install and run your own MQTT server.

Running your own mosquitto (MQTT) server

On Linux or Mac OS X: Start mosquitto, aiko_registrar and aiko_dashboard

./scripts/system_start.sh  # default AIKO_MQTT_HOST=localhost

Examples

To Do

See GitHub Issues

Presentations

About

Distributed service framework using asynchronous messages supporting IoT, Machine Learning and Video

Resources

License

Stars

Watchers

Forks

Packages

No packages published