Install¶
As of now (version 1.0.1-beta), Juturna is not yet published on the Python Package Index, so the installation requires fetching it from the GitHub repository .
A small group of system dependecies are required on your system before you start the installation process. If running Ubuntu or any Debian-based distros:
$ sudo apt install libsm6 libext6 ffmpeg
Once this is done, you can clone the repository and install it using pip.
Assuming you are working within a virtual environment, simply run:
(venv) $ git clone https://github.com/meetecho.juturna
(venv) $ pip install ./juturna
Alternatively, you can manually install the required Python dependencies, then
import the juturna module from within the repository folder:
(venv) $ pip install av ffmpeg-python opencv-python numpy requests websockets
(venv) $ cd ./juturna
(venv) $ python
>>> import juturna as jt
Optional dependencies¶
When installing Juturna, you can specify extra groups to include in the installation. Currently available groups are:
devto get all the tools for testing and documentation,httpwrapperto get CLI serving capabilities.pipebuilderto get the interactive CLI pipeline builder
Extra groups can be selected during the installation proess.
# only include a single optional group
(venv) $ pip install -U './juturna[dev]'
# inclunde multiple optional groups
(venv) $ pip install -U './juturna[dev,httpwrapper]'
Documentation building¶
If you want to build the documentation locally, install Juturna including the
dev group, then within the repository folder run the following:
(venv) $ cd docs && sphinx-build -b html ./source ./build/html
In case you are actively working on the documentation and need automatic
building, you can use sphinx-autobuild (already included in the dev
group):
(venv) $ cd docs
(venv) $ sphinx-autobuild ./source ./build/html
This will automatically trigger the building script whenever a file in the
source folder is edited.
Testing¶
To run the tests, you need to install Juturna with the dev group, which
include pytest, then from the repository root folder:
(venv) $ pytest -vvv
Please consider that all the test cases concerning the Juturna Hub actively interact with GitHub, and this can quickly drain the API quota. It is recommended you disable them:
(venv) $ pytest -vvv --ignore ./tests/test_hub.py