Skip to main content

Brayns python API

Project description

Brayns Python Client

A client for Brayns based on the Rockets client to provide remote control of a running Brayns instance.

Travis CI

Table of Contents

Installation


You can install this package from PyPI:

pip install brayns

Usage


Client vs. AsyncClient

Brayns provides two types of clients to support asychronous and synchronous usage.

The AsyncClient exposes all of its functionality as async functions, hence an asyncio event loop is needed to complete pending execution via await or run_until_complete(). The added benefit is to watch progress of pending tasks or cancel their execution. This is provided by according widgets if the Brayns client is used from within a Jupyter notebook.

For simplicity, a synchronous Client is provided which automagically executes in a synchronous, blocking fashion.

Connection

Create a client:

from brayns import Client

client = Client('localhost:8200')
print(brayns)
`Brayns version 0.8.0.c52dd4b running on http://localhost:8200/`

Create an asynchronous client:

from brayns import AsyncClient

client = await AsyncClient('localhost:8200')
print(brayns)
`Brayns version 0.8.0.c52dd4b running on http://localhost:8200/`

Properties

Exposed properties from Brayns are properties on the python side as well:

from brayns import Client

client = Client('myhost:8080')

print(client.camera)

Changes on the properties must be communicated with commit() to Brayns:

from brayns import Client

client = Client('myhost:8080')

client.camera.origin = [1,2,3]
client.camera.commit()

Methods

Calling an RPC on Brayns is as simple as calling a method on the client object:

from brayns import Client

client = Client('myhost:8080')

client.set_camera(current='orthographic')

Above method does only return something on error. There are also requests:

from brayns import Client

client = Client('myhost:8080')

clip_planes = client.get_clip_planes()

Snapshot

Make a snapshot and return a PIL image:

from brayns import Client

client = Client('myhost:8080')

img = client.image(format='png', size=(1920, 1080), samples_per_pixel=64)

Live rendering

If you are using the client in a Jupyter notebook, you can watch the live rendering of Brayns in a widget:

from brayns import Client

client = Client('myhost:8080')

client.show()

Project details


Download files

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

Source Distribution

brayns-0.1.0.tar.gz (31.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page