FastrPI Client#

fastrpi: FastrPI client#

The package fastrpi is the client to interact with the FastrPI, the Fastr Package Index, where Fastr Networks, Tools and Datatypes are gathered to use with Fastr. In the FastrPI repository the Fastr Network, Tool and Datatype definitions are stored, as well as Dockerized versions of the Fastr Tools. By using the FastrPI client the networks can easily be retrieved and run using either Docker or Singularity.

The code can be found on Gitlab and the documentation is available through ReadTheDocs.

The FastrPI repository itself is currently not open to the public.

Install#

To use fastrpi it is necessary to have Git (>=1.7.0) installed and either Docker or Singularity. Before installing the the fastrpi Python package some additional setup is needed. See the documentation for instructions on how to do this.

Usage#

The fastrpi package can be used to install, run, create, edit and publish Fastr Tools and Networks. Here is a quick introduction to installing and running a network.

Before you can run a Network it needs to be installed. You can do so by using:

fastrpi install network network_name -v version

During the installation of this network the necessary Tools will also be installed. With this installation the Docker containers associated with these Tools will also be pulled using either Docker or Singularity. The available Networks and Tools in the FastrPI repository can be viewed using fastrpi list networks and fastrpi list tools.

After installing a Network it can be run using:

fastrpi run network_name -v version --source_sink ./source_sink.py

The file ./source_sink.py must contain the functions get_source_data() and get_sink_data(). These functions must return dictionaries containing the Sources and Sinks, as described here.

Further information about the functionality of FastrPI can be found in the documentation.

Known issues#

  • The package is not yet tested on Windows.

FastrPI Client Documentation#

Indices and tables#