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
master
branch (via pull-requests). - Make a PR that updates version in
pyproject.toml
and merge it tomaster
branch. - Create GitHub release from
master
branch's HEAD.- Draft a new release.
- Create new tag named
release-<New version>
(e.g.release-1.4.0
) fromChoose a tag
pull 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
actfw_core-2.13.0.tar.gz
(71.2 kB
view details)
Built Distribution
File details
Details for the file actfw_core-2.13.0.tar.gz
.
File metadata
- Download URL: actfw_core-2.13.0.tar.gz
- Upload date:
- Size: 71.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.17 Linux/6.8.0-1029-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
a3923a3464a1a1070230dc7767a4e7e1c494907274fab3b621c23a41a9c418f6
|
|
MD5 |
98126bad45dc1e2bcc24fdb8ace871c7
|
|
BLAKE2b-256 |
d89085074fe271e0e91d2497fda3ab3989d35f67d0fd7b3488c728f428e73d60
|
File details
Details for the file actfw_core-2.13.0-py3-none-any.whl
.
File metadata
- Download URL: actfw_core-2.13.0-py3-none-any.whl
- Upload date:
- Size: 80.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.10.17 Linux/6.8.0-1029-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
f5366a9960071882cb4fa2bfbf6327deaacc995d302ea2ecd63528906defae59
|
|
MD5 |
2bb63e2e2e54dc839a41af48c0e06be5
|
|
BLAKE2b-256 |
e69333300fae3ad64e07ad11d88007a08763a2594b94d0a03811e2a2a2a7dc91
|