crandas.base#

class crandas.base.Session(base_path=None, **kwargs)#

Bases: object

This object stores the state specific to the connection to the VDL server. By default, the connect() method is invoked lazily, on the first crandas method that requires a connection to the VDL. Because of this, the user can first configure the variables; for example:

>>> import crandas
>>> from crandas.base import session
>>> session.endpoint = "https://example.com:10000/api/v1"
>>> session.base_path = Path("/cranmera")
>>> crandas.DataFrame({})
Raises:
  • ServerError – Passes through error from VDL and appropriate error code

  • ServerError – Passes through error from VDL in case error code is not known

property base_path: Path | None#

The base ‘cranmera’ folder. When None, the application tries to find a parent of the current directory called ‘cranmera’, or defaults to the current directory.

connect(connection_file=None)#

Establishes a connection with the query server and verifies whether the client and server versions are compatible.

Parameters:

connection_file (str | Path | file-like object) –

A (path to a) VDL connection file.

It may be specified as string not containing slashes (/), backslashes () or dots (.), in which case it is interpreted as a “{name}.vdlconn” file located in the configuration folder. By default, the configuration folder is ~/.config/crandas – this can also be modified by some environment variables, see crandas.config.

If it is a string that contains slashes, backslashes or dots, it is assumed to be a path, either a relative path for the current working directory, or an absolute path.

read_analyst_key()#

Read the analyst’s key, that is used to ensure that only some designated analysts can execute an approved query, for the current session.

reset()#

Disconnects and resets the current session.

Use this command if the MPC servers have been restarted.