Overview
ARUS python package provides a computational and experimental framework to manage and process sensory data or wireless devices, to develop and run activity recognition algorithms on the data, and to create interactive programs using the algorithms and wireless devices.
This package is licensed under GPL version 3.
Prerequists
python >= 3.7.0
Visual Studio C++ SDK (v14.1)
Windows SDK (10.0.16299.0)
Windows SDK (10.0.17763.0)
libbluetooth-dev
libboost-all-dev
bluez
Installation
> pip install arus
> pip install arus[metawear]
> pip install arus[demo]
> pip install arus[dev]
> pip install arus[nn]
Optional components
arus[metawear]
: This optional component installs dependency supports for streaming data from Bluetooth metawear sensors.
arus[demo]
: This optional component installs dependency supports for running the demo app that demonstrates a real-time interactive activity recognition training and testing program.
arus[dev]
: These optional component installs dependency supports for running some package and version management functions in the arus.dev
module.
arus[nn]
: The optional component installs dependency supports for PyTorch and Tensorboard, which are required by arus.models.report
module. Note that for Windows, you should install the torch
package manually using pip
following the pytorch.org
instruction.
Get started for development
> git clone https://github.com/qutang/arus.git
> cd arus
>
>
> curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
>
> (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python
>
> poetry install
>
> poetry install --extras "metawear demo dev nn"
>
> poetry run python -m pytest
Development conventions
- Use Google's python coding guidance: http://google.github.io/styleguide/pyguide.html.
- Use
arus package release VERSION --release
to bump and tag versions. VERSION
can be manual version code following semantic versioning, path
, minor
, or major
. - Changelogs are automatically generated when building the documentation website, do not create it manually.
- Pypi release will be handled by github action
deploy.yml
, which will be triggered whenever a new tag is pushed. Therefore, developers should only tag release versions. - After commits, even not bumping and releasing the package, you may run
arus package docs --release
to update the documentation website, where the developer version changelogs will be updated immediately.