Basic Remote IO Application
Basic Remote Input/Output - Python application
These instructions will get you a copy of the project on your local machine for development and testing purposes. See Deployment for notes on how to deploy the project on a live system.
The build process requires some basic development tools:
make- GNU Make program, either for *nix or Windows system, used to execute build and test targets
git- used not only to clone the repository, but also in auto-versioning (see Versioning)
Two standard Python packages are used for build and installation steps:
The application depends on the following libraries:
These dependencies are defined in the
setup.py installation script and therefore should be
automatically satisfied by
Building and releasing
make all (default target) prepares archives for distribution. It is done in two steps:
- query Git repository for tags (
git describecommand) to determine current version and generate
- invoke Python interpreter passing
setup.pyscript to prepare source and wheel distributions.
The Python interpreter invoked by the
Makefile defaults to
python - it is possible to override it
PYTHON variable to the command, e.g.
make all PYTHON=python3.
The release process is automated and based on GitLab CI/CD environment - each commit triggers a build job which attempts to make and install built packages. If the commit is tagged, the built wheel distribution is passed to the deployment stage and the runner attempts to upload the package to the repository specified in project settings.
pip install trimarlib-brio) is the recommended method of deployment.
After the package has been installed it is recommended to perform additional steps:
sysfsgpiolibproject for more information;
The second step is performed using the entry points exposed by the package:
brio-install-service- copies the predefined service file to
systemddaemons and enables the service. Run
brio-install-service -hfor more information;
brio-install-configuration- copies the default configuration file to the default location. Run
brio-install-configuration -hfor more information.
brio-install- performs the above steps in one go. Run
brio-install -hfor more information.
The application is started using another entry point -
brio-app -h for more information.
See docstrings for API documentation.
Example of using the server in a custom application:
from brio import Server import time server = Server() server.configure() server.start() time.sleep(10) server.stop()
The application is run using the
brio-app entry point, see Deployment for more information.
This software is licensed under the MIT License - see LICENSE.
This software conforms to the JSON RPC protocol, see website for more information.