Installation¶
Python Version¶
Slivka supports Python 3.7 and above and was developed and tested on that version of Python. However, we recommend using the latest version of Python and reporting any compatibility issues on our GitHub issue tracker.
Dependencies¶
All required dependencies will be installed automatically when installing slivka. Those include, but are not limited to:
Flask is a WSGI web framework used to create REST endpoints for the web services
PyYAML is a Python implementation of the YAML parser and serializer
click provides a command line interface for slivka
pymongo contains tools for working with a Mongo database from Python
attrs provides lightweight class-based data containers
Optional Dependencies¶
Those packages are not installed automatically, but slivka can detect them extending its functionality when present.
Gunicorn is a fairly fast and lightweight WSGI HTTP Server for UNIX which we recommend using as an application server
uWSGI aims for developing a full stack for building hosting services, the project is in maintenance mode since April 2022, a common alternative to Gunicorn
Biopython is a collection of tools for biological computation, it allows slivka to recognise bioinformatic file types
Mongo Database¶
Make sure a Mongo database is installed and running on your system before proceeding as slivka requires it for proper operation. If you do not have MongoDB running on your system you can install is locally using conda or ask your system administrator to install and configure it system-wide.
conda install -c conda-forge mongodb
Installing slivka with conda¶
A recommended way to install slivka is by using the conda package
manager. Slivka package is accessible from the slivka channel on
anaconda.org. Make sure that the command line tools you intend to
expose as web services are executable from where the slivka is
installed (machine or VM). They do not need to be installed in the
same conda environment though. Create a new environment substituting
an environment name for <env>
activate it and install slivka and
its dependencies from slivka and conda-forge channels.
conda create -n <env> python
conda activate <env>
conda install -c slivka -c conda-forge slivka
Installing slivka from sources¶
If you are a developer wanting to develop slivka package or you do not want to depend on conda then you should consider installing slivka from sources.
Either clone out git repository https://github.com/bartongroup/slivka.git
or download and extract the zip archive containing the sources here.
Next, navigate to the package root directory (the one containing
the setup.py script) and run
python setup.py install
You can alternatively use pip to automatically fetch and install the package from the GitHub repository
pip install git+git://github.com/bartongroup/slivka.git
Slivka is now installed. You can verify if it was installed
correctly by executing the slivka
command e.g. displaying the
current software version
slivka --version