Skip to main content

Core components of actfw, independent of specific devices

Project description

actfw-core

Core components of actfw, a framework for Actcast Application written in Python. actfw-core is intended to be independent of any specific device.

Installation

sudo apt-get update
sudo apt-get install -y python3-pip python3-pil 
sudo apt-get install -y libv4l-0 libv4lconvert0  # if using `V4LCameraCapture`
pip3 install actfw-core

Document

Usage

Construct your application with a task parallel model

  • Application
    • actfw_core.Application : Main application
  • Workers
    • actfw_core.task.Producer : Task generator
      • actfw_core.capture.V4LCameraCapture : Generate UVC camera capture image
    • actfw_core.task.Pipe : Task to Task converter
    • actfw_core.task.Consumer : Task terminator

Each worker is executed in parallel.

User should

  • Define subclass of Producer/Pipe/Consumer
class MyPipe(actfw_core.task.Pipe):
    def proc(self, i):
        ...
  • Connect defined worker objects
p  = MyProducer()
f1 = MyPipe()
f2 = MyPipe()
c  = MyConsumer()
p.connect(f1)
f1.connect(f2)
f2.connect(c)
  • Register to Application
app = actfw_core.Application()
app.register_task(p)
app.register_task(f1)
app.register_task(f2)
app.register_task(c)
  • Execute application
app.run()

Development Guide

Installation of dev requirements

pip3 install poetry
poetry install

Running tests

poetry run pytest -v

Releasing package & API doc

CI will automatically do. Follow the following branch/tag rules.

  1. Make changes for next version in master branch (via pull-requests).
  2. Make a PR that updates version in pyproject.toml and merge it to master branch.
  3. Create GitHub release from master branch's HEAD.
    1. Draft a new release.
    2. Create new tag named release-<New version> (e.g. release-1.4.0) from Choose a tag pull down menu.
    3. Write title and description.
    4. Publish release.
  4. Then CI will build/upload package to PyPI & API doc to GitHub Pages.

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

actfw_core-2.8.0.tar.gz (61.2 kB view details)

Uploaded Source

Built Distribution

actfw_core-2.8.0-py3-none-any.whl (69.7 kB view details)

Uploaded Python 3

File details

Details for the file actfw_core-2.8.0.tar.gz.

File metadata

  • Download URL: actfw_core-2.8.0.tar.gz
  • Upload date:
  • Size: 61.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/5.15.0-1057-aws

File hashes

Hashes for actfw_core-2.8.0.tar.gz
Algorithm Hash digest
SHA256 b54e06b27721d2ae0baf52a0bd7bc17cd1b30883ff282c291bcbaa28b8a8793c
MD5 c09d88f881ad7e3bf7e4f7a964467259
BLAKE2b-256 42250dccacaccab6dfe20956a6d17183f632832c554602c480e13c5421f6da4a

See more details on using hashes here.

File details

Details for the file actfw_core-2.8.0-py3-none-any.whl.

File metadata

  • Download URL: actfw_core-2.8.0-py3-none-any.whl
  • Upload date:
  • Size: 69.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.15 Linux/5.15.0-1057-aws

File hashes

Hashes for actfw_core-2.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fde63d012e351f5b86ce94d541ae6ca5d2cfdceb65f14846034a34617922a39e
MD5 6d2d1b88d08df397b95d8a02c31eadae
BLAKE2b-256 4d9d3b56914d1af9a89bf224cee1f1ba96d805eba49f2b3b2036810afb2243c4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page