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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file brayns-0.8.2.tar.gz
.
File metadata
- Download URL: brayns-0.8.2.tar.gz
- Upload date:
- Size: 31.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fa5596c2688c157fbe29f15d28061b7deddb04bdece0ebb151115205d42ae24 |
|
MD5 | b8734a328a96430a09942c11f0453e85 |
|
BLAKE2b-256 | a66e5bf5211f246d80191ce3e42218a14c9eb59e6b4cb7d92701fd914d00ac5c |