Install¶
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
The simplest way to install Juturna is to fetch it from the official Python Package Index (PyPi ). Assuming you are working within a virtual environment, simply run:
(venv) $ pip install juturna
You can also fetch the Juturna source code from the GitHub repository and install it manually:
(venv) $ git clone https://github.com/meetecho.juturna
(venv) $ pip install ./juturna
Extras¶
When installing Juturna, you can specify extra groups to include in the installation. Groups that provide extra features are:
httpwrapper: CLI serving capabilitiespipebuilder: interactive CLI pipeline builderwarp: remotisation tools
Additionally, a number of extra groups are available to manage all the development dependencies:
doc: Sphinx stuff, in case you want to compile the documentationdev: everything you need to properly contribute to Juturnalint: dependency to make sure your code is properly formattedtest: Juturna testing packages
Warp tools are still experimental! (1.0.1-beta)
There might be bits and pieces slightly out of place with the remotisation
architecture, so please use the warp group only if you are
experimenting!
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]'
To simplify things, three meta-groups are also included:
fullinstallshttpwrapper,pipebuilderandwarpdev_fullinstallsdoc,dev,lint, andtestallinstallsfullanddev_full
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