Skip to main content

The Brayns renderer 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-1.1.0.tar.gz (36.2 kB view details)

Uploaded Source

File details

Details for the file brayns-1.1.0.tar.gz.

File metadata

  • Download URL: brayns-1.1.0.tar.gz
  • Upload date:
  • Size: 36.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.6.7

File hashes

Hashes for brayns-1.1.0.tar.gz
Algorithm Hash digest
SHA256 81297699119053d7aee9d0c313bcf0787d12c7a74bfdc807baa80b7e497bf3b2
MD5 f0c6ebf79009c8169b206283b10e540d
BLAKE2b-256 50ddd3354f4359512021cc36bff763a59ec413b47d36225c1e7ccdfe1e0d62fc

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 Pingdom Monitoring Sentry Error logging StatusPage Status page