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
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync --python python3.11
Running tests
make test
Running lint
make lint
make fix
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.
Metadata
Release files for actfw-core 2.21.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| actfw_core-2.21.0.tar.gz | 128.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| actfw_core-2.21.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 213.4 kB
Release files / actfw_core-2.21.0.tar.gz
| Download URL | actfw_core-2.21.0.tar.gz |
|---|---|
| Size | 128.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8221a6dc23bbb285f2ece76ceb14c675061d76d3e771494f89fd63a545e45747
|
|
BLAKE2b-256 checksum How to use checksums |
b657df7f0bc0d1685c374b7b3312d551879bfb6d2939bd13894df693a1d78fc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / actfw_core-2.21.0-py3-none-any.whl
| Download URL | actfw_core-2.21.0-py3-none-any.whl |
|---|---|
| Size | 84.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
872d938d2e694ecbcf1ed82e5d8bd4a839edcbcad276ef039638675b6e33fcd5
|
|
BLAKE2b-256 checksum How to use checksums |
676bd148433a5f2f5ed999b5a2100865e6c128b515f0dd67b740fcb34f1d7613
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|