Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

TVB REST client

The tvb-rest-client is a helper package built with the intention to simplify the client interaction with TVB REST API.

All the logic necessary to prepare and send requests towards the REST server, is embeded under a client API.

GET requests are sent from this python client using the requests library.

For the POST requests, a client has to attach a file with some input configuration. Such a file is usually an H5 in TVB specific format. Thus, tvb-rest-client has all the logic for preparing those H5 files and sending requests. Also, the REST server uses a Keycloak client at log in time, so this client will open a browser that allows the user to log in, before attempting to make the requests.

Usage

You should provide the URL towards the TVB REST server. For the following example, we will suppose TVB REST server runs on http://localhost:9090

Accessing the client API entrypoint:

If the TVB REST server you want to access runs at another address, change the parameter in the bellow TVBClient instantiation.

from tvb.interfaces.rest.client.tvb_client import TVBClient
tvb_client = TVBClient("http://localhost:9090")

Attempt to login and start using the client API to send requests, by calling different types of methods:

  • methods that return a list of DTOs

tvb_client.browser_login()
list_of_user_projects = tvb_client.get_project_list()
list_of_datatypes_in_project = tvb_client.get_data_in_project(list_of_user_projects[0].gid)
list_of_operations_for_datatype = tvb_client.get_operations_for_datatype(list_of_datatypes_in_project[0].gid)
  • method that download data files locally, under a folder chosen by the client

datatype_path = tvb_client.retrieve_datatype(list_of_datatypes_in_project[0].gid, download_folder)
  • method that loads in memory the datatype downloaded previously

datatype = tvb_client.load_datatype_from_file(datatype_path)
  • methods that launch operations in the TVB server

    Such an operation requires the client to prepare the operation configuration and send it in an H5 file together with the requests.

    By using the client API, the user only needs to instantiate the proper Model class and send it as argument to the following method. It wraps the serialization of the Model inside the H5 and the attaching to the POST request.

    The example above launches a Fourier analyzer, we suppose the Fourier AlgorithmDTO is list_of_operations_for_datatype[0].

from tvb.adapters.analyzers.fourier_adapter import FFTAdapterModel, FourierAdapter

project_gid = list_of_user_projects[0].gid
model = FFTAdapterModel()
# logic to fill the model with required attributes
operation_gid = tvb_client.launch_operation(project_gid, FourierAdapter, model)
  • method to monitor the status of an operation

monitor_operation(tvb_client, operation_gid)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tvb-rest-client-2.0.3a1.tar.gz (378.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tvb_rest_client-2.0.3a1-py3-none-any.whl (747.7 kB view details)

Uploaded Python 3

File details

Details for the file tvb-rest-client-2.0.3a1.tar.gz.

File metadata

  • Download URL: tvb-rest-client-2.0.3a1.tar.gz
  • Upload date:
  • Size: 378.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.3

File hashes

Hashes for tvb-rest-client-2.0.3a1.tar.gz
Algorithm Hash digest
SHA256 6b3e07089128b2afb6598fd0e222e93cf920dda7329d31cf994879008b943dc8
MD5 948c8b355ca4669bb87039982acd04ca
BLAKE2b-256 d58d74a2959d435188ee67cbd23f3492b27b3ae68944e475fd5d76d957ae1616

See more details on using hashes here.

File details

Details for the file tvb_rest_client-2.0.3a1-py3-none-any.whl.

File metadata

  • Download URL: tvb_rest_client-2.0.3a1-py3-none-any.whl
  • Upload date:
  • Size: 747.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.3

File hashes

Hashes for tvb_rest_client-2.0.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 0aa4e05ef0afed2ca0a22900318146423aaba9ae5541b1f6b9d743cb4661fad3
MD5 d4d3ffa289de4947a24ebd49d8d0b95c
BLAKE2b-256 409074faf049d5ad97c2325e6f3d83303a10c77729ab7e9a385448472cc182fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page