envision.client module

class envision.client.Client(endpoint: Optional[str] = None, wait_between_retries: float = 0.5, output_dir: Optional[str] = None, sim_name: Optional[str] = None, headless: bool = False)[source]

Used to push state from SMARTS to Envision server while the simulation is running.

class QueueDone[source]
static read_and_send(path: str, endpoint: str = 'ws://localhost:8081', timestep_sec: float = 0.1, wait_between_retries: float = 0.5)[source]
send(state: envision.types.State)[source]
class envision.client.JSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]

This custom encoder is to support serializing more complex data from SMARTS including numpy arrays, NaNs, and Infinity which don’t have standarized handling according to the JSON spec.


Implement this method in a subclass such that it returns a serializable object for o, or calls the base implementation (to raise a TypeError).

For example, to support arbitrary iterators, you could implement default like this:

def default(self, o):
        iterable = iter(o)
    except TypeError:
        return list(iterable)
    # Let the base class default method raise the TypeError
    return JSONEncoder.default(self, o)