aiko_services


Nameaiko_services JSON
Version 0.6 PyPI version JSON
download
home_pageNone
SummaryDistributed embedded service framework for A.I and robotics
upload_time2024-10-14 00:13:51
maintainerNone
docs_urlNone
authorNone
requires_python<=3.13.0,>=3.9.0
licenseNone
keywords ai distributed embedded framework internet of things machine learning media robotics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Aiko Services

Distributed system framework supporting
[AIoT](https://en.wikipedia.org/wiki/Artificial_intelligence_of_things), [Machine Learning](https://en.wikipedia.org/wiki/Machine_learning), [Media streaming](https://en.wikipedia.org/wiki/Streaming_media) and [Robotics](https://en.wikipedia.org/wiki/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](https://wiki.c2.com/?BestOfBreed) technology choices
    - Supports the [Actor Model](https://en.wikipedia.org/wiki/Actor_model)
    - Supports [Flow based programming](https://en.wikipedia.org/wiki/Flow-based_programming) via distributed pipeline graphs
    - [Low-latency performance](https://en.wikipedia.org/wiki/Event-driven_programming) with fully asynchronous [message passing](https://en.wikipedia.org/wiki/Message_passing#Distributed_objects)

- Ease of visualization and diagnosis for systems with many interconnected components

- Light-weight core design, i.e a [micro-controller reference implementation](https://github.com/geekscape/aiko_engine_mp), e.g [ESP32](https://en.wikipedia.org/wiki/ESP32) running [microPython](https://micropython.org)

- 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](https://pypi.org/project/aiko_services)
```
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](https://pypi.org/project/aiko_services)  
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 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.

## Running your own mosquitto (MQTT) server

- Install the mosquitto (MQTT) server on [Linux](https://docs.vultr.com/install-mosquitto-mqtt-broker-on-ubuntu-20-04-server), [Mac OS X](https://subscription.packtpub.com/book/iot-and-hardware/9781787287815/1/ch01lvl1sec12/installing-a-mosquitto-broker-on-macos) or [Windows](https://cedalo.com/blog/how-to-install-mosquitto-mqtt-broker-on-windows)

On Linux or Mac OS X: Start mosquitto, aiko_registrar and aiko_dashboard
```
./scripts/system_start.sh  # default AIKO_MQTT_HOST=localhost
```

# Examples

- [Aloha Honua examples](src/aiko_services/examples/aloha_honua/ReadMe.md)
  (hello world)

# To Do

See [GitHub Issues](https://github.com/geekscape/aiko_services/issues)

# Presentations

- [Building an open framework combining AIoT, Media, Robotics & Machine Learning (YouTube)](https://www.youtube.com/watch?v=htbzn_xwEnU)
    - [Slide deck (Google slides)](https://docs.google.com/presentation/d/1dR8jw6sEKkgPBMDsKkZd87Y79LMk7jhVxxAmRMbjmbE/edit#)
    - Everything Open conference March 2023: Melbourne

- [Using Python to stream media using GStreamer for RTSP and WebRTC applications (YouTube)](https://www.youtube.com/watch?v=VwnWHC04Qp8)
    - [Slide deck (Google slides)](https://docs.google.com/presentation/d/1yc8jMcq8967L3fzIBmiy7MMYaBhSKD1L3XJ979_VanE/edit#)
    - PyCon AU conference August 2023: Adelaide

- [microPython distributed, embedded services (YouTube)](https://www.youtube.com/watch?v=25Ij-EUjqS4)
    - [Slide deck (Google slides)](https://docs.google.com/presentation/d/1V0_Hr3AKxRysg6AvgI1w2viBhFNmvcF1RwdIBMJJVCI/edit#)
    - microPython meet-up November 2023: Melbourne

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aiko_services",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<=3.13.0,>=3.9.0",
    "maintainer_email": null,
    "keywords": "ai, distributed, embedded, framework, internet of things, machine learning, media, robotics",
    "author": null,
    "author_email": "Andy Gelme <geekscape@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/19/1a/917b5341d8cfc14bcd630c738b5824c78aef38191628dd5f82d2c1037bc6/aiko_services-0.6.tar.gz",
    "platform": null,
    "description": "# Aiko Services\n\nDistributed system framework supporting\n[AIoT](https://en.wikipedia.org/wiki/Artificial_intelligence_of_things), [Machine Learning](https://en.wikipedia.org/wiki/Machine_learning), [Media streaming](https://en.wikipedia.org/wiki/Streaming_media) and [Robotics](https://en.wikipedia.org/wiki/Robotics)\n\n## Features\n\n- 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\n\n- Consistent distributed system approach integrating [best-of-breed](https://wiki.c2.com/?BestOfBreed) technology choices\n    - Supports the [Actor Model](https://en.wikipedia.org/wiki/Actor_model)\n    - Supports [Flow based programming](https://en.wikipedia.org/wiki/Flow-based_programming) via distributed pipeline graphs\n    - [Low-latency performance](https://en.wikipedia.org/wiki/Event-driven_programming) with fully asynchronous [message passing](https://en.wikipedia.org/wiki/Message_passing#Distributed_objects)\n\n- Ease of visualization and diagnosis for systems with many interconnected components\n\n- Light-weight core design, i.e a [micro-controller reference implementation](https://github.com/geekscape/aiko_engine_mp), e.g [ESP32](https://en.wikipedia.org/wiki/ESP32) running [microPython](https://micropython.org)\n\n- Flexible deployment choices when deciding which components should run in the same process (for performance) or across different processes and/or hosts (for flexibility)\n\n- Aiming to make the difficult parts ... much easier !\n\n# Installation\n\n## Installing from PyPI (Python Package Index)\n\nRecommended when simply trying Aiko Services by using existing examples and tools.  \nInstalls the [Aiko Services package from PyPI](https://pypi.org/project/aiko_services)\n```\npip install aiko_services\n```\n\n## Installing from GitHub\n\nRecommended when using Aiko Services as a framework for development\n```\ngit clone https://github.com/geekscape/aiko_services.git\ncd aiko_services\npython3 -m venv venv      # Once only\nsource venv/bin/activate  # Each terminal session\npip install -U pip        # Install latest pip\npip install -e .          # Install Aiko Services for development\n```\n\n## Installing for package maintainers\n\nRecommended when making an [Aiko Services release to PyPI](https://pypi.org/project/aiko_services)  \nAfter **installing from GitHub** *(above)*, perform these additional commands\n```\npip install -U hatch  # Install latest Hatch build and package manager\nhatch shell           # Run shell using Hatch to manage dependencies\n# hatch test          # Run local tests (to be completed)\nhatch build           # Publish Aiko Services package to PyPI\n```\n\n# Quick start\n\nAfter **installing from GitHub** *(above)*, choose whether to use a public MQTT server ... or to install and run your own MQTT server\n\nIt is easier to start by using a public remotely hosted MQTT server to tryout a few examples.  \nFor the longer term, it is better and more secure to install and run your own MQTT server.\n\n## Running your own mosquitto (MQTT) server\n\n- Install the mosquitto (MQTT) server on [Linux](https://docs.vultr.com/install-mosquitto-mqtt-broker-on-ubuntu-20-04-server), [Mac OS X](https://subscription.packtpub.com/book/iot-and-hardware/9781787287815/1/ch01lvl1sec12/installing-a-mosquitto-broker-on-macos) or [Windows](https://cedalo.com/blog/how-to-install-mosquitto-mqtt-broker-on-windows)\n\nOn Linux or Mac OS X: Start mosquitto, aiko_registrar and aiko_dashboard\n```\n./scripts/system_start.sh  # default AIKO_MQTT_HOST=localhost\n```\n\n# Examples\n\n- [Aloha Honua examples](src/aiko_services/examples/aloha_honua/ReadMe.md)\n  (hello world)\n\n# To Do\n\nSee [GitHub Issues](https://github.com/geekscape/aiko_services/issues)\n\n# Presentations\n\n- [Building an open framework combining AIoT, Media, Robotics & Machine Learning (YouTube)](https://www.youtube.com/watch?v=htbzn_xwEnU)\n    - [Slide deck (Google slides)](https://docs.google.com/presentation/d/1dR8jw6sEKkgPBMDsKkZd87Y79LMk7jhVxxAmRMbjmbE/edit#)\n    - Everything Open conference March 2023: Melbourne\n\n- [Using Python to stream media using GStreamer for RTSP and WebRTC applications (YouTube)](https://www.youtube.com/watch?v=VwnWHC04Qp8)\n    - [Slide deck (Google slides)](https://docs.google.com/presentation/d/1yc8jMcq8967L3fzIBmiy7MMYaBhSKD1L3XJ979_VanE/edit#)\n    - PyCon AU conference August 2023: Adelaide\n\n- [microPython distributed, embedded services (YouTube)](https://www.youtube.com/watch?v=25Ij-EUjqS4)\n    - [Slide deck (Google slides)](https://docs.google.com/presentation/d/1V0_Hr3AKxRysg6AvgI1w2viBhFNmvcF1RwdIBMJJVCI/edit#)\n    - microPython meet-up November 2023: Melbourne\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Distributed embedded service framework for A.I and robotics",
    "version": "0.6",
    "project_urls": null,
    "split_keywords": [
        "ai",
        " distributed",
        " embedded",
        " framework",
        " internet of things",
        " machine learning",
        " media",
        " robotics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6f3fee7b0d80fe69bc2f09e6d54908c91a35a5c4e42c67c17dc0235e09216942",
                "md5": "2728d2a0dfcc99d2f45f66da9ef7dbc7",
                "sha256": "3929fcd89b64decfb4ff5c691959ef42ef9ad8f5854f65e8bed4f47d3304795a"
            },
            "downloads": -1,
            "filename": "aiko_services-0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2728d2a0dfcc99d2f45f66da9ef7dbc7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<=3.13.0,>=3.9.0",
            "size": 481227,
            "upload_time": "2024-10-14T00:13:58",
            "upload_time_iso_8601": "2024-10-14T00:13:58.648583Z",
            "url": "https://files.pythonhosted.org/packages/6f/3f/ee7b0d80fe69bc2f09e6d54908c91a35a5c4e42c67c17dc0235e09216942/aiko_services-0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "191a917b5341d8cfc14bcd630c738b5824c78aef38191628dd5f82d2c1037bc6",
                "md5": "9b0314d2294ddf5265c246026bae1f59",
                "sha256": "4f51b4939b7995cc8c4b9911fbd5ef1ede7c780cd9aab8c5919e3fd87117851c"
            },
            "downloads": -1,
            "filename": "aiko_services-0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "9b0314d2294ddf5265c246026bae1f59",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<=3.13.0,>=3.9.0",
            "size": 378290,
            "upload_time": "2024-10-14T00:13:51",
            "upload_time_iso_8601": "2024-10-14T00:13:51.866665Z",
            "url": "https://files.pythonhosted.org/packages/19/1a/917b5341d8cfc14bcd630c738b5824c78aef38191628dd5f82d2c1037bc6/aiko_services-0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-14 00:13:51",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "aiko_services"
}
        
Elapsed time: 0.56024s