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 generatoractfw_core.capture.V4LCameraCapture: Generate UVC camera capture image
actfw_core.task.Pipe: Task to Task converteractfw_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.
- Make changes for next version in
masterbranch (via pull-requests). - Make a PR that updates version in
pyproject.tomland merge it tomasterbranch. - Create GitHub release from
masterbranch's HEAD.- Draft a new release.
- Create new tag named
release-<New version>(e.g.release-1.4.0) fromChoose a tagpull down menu. - Write title and description.
- Publish release.
- Then CI will build/upload package to PyPI & API doc to GitHub Pages.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file actfw_core-2.14.0.tar.gz.
File metadata
- Download URL: actfw_core-2.14.0.tar.gz
- Upload date:
- Size: 71.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.13 Linux/6.8.0-1031-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2adb74ee01f10c84e282b26a72fca9abc0771ce4cef406ebd149a792b5d3d059
|
|
| MD5 |
ba37b902b57901c00c5b4c7627e87ad6
|
|
| BLAKE2b-256 |
7eca6b9298e424e781a396deaab951915e564920de4cc67e7ad2a978010ea32b
|
File details
Details for the file actfw_core-2.14.0-py3-none-any.whl.
File metadata
- Download URL: actfw_core-2.14.0-py3-none-any.whl
- Upload date:
- Size: 81.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.13 Linux/6.8.0-1031-aws
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbc64e4890b29a69212ba5c80b01ec57e2300caf69dcfff9f490d08df4a77a25
|
|
| MD5 |
b96c1794ef892853b314ea54550bfd56
|
|
| BLAKE2b-256 |
7da32934e9824794ff0f0731f759c5291420646779c2db2300bda36ad6794479
|