Module arvados.api

Functions

def api(version=None, cache=True, host=None, token=None, insecure=False, request_id=None, timeout=300, **kwargs)

Return an apiclient Resources object for an Arvados instance.

:version: A string naming the version of the Arvados API to use (for example, 'v1').

:cache: Use a cache (~/.cache/arvados/discovery) for the discovery document.

:host: The Arvados API server host (and optional :port) to connect to.

:token: The authentication token to send with each API call.

:insecure: If True, ignore SSL certificate validation errors.

:timeout: A timeout value for http requests.

:request_id: Default X-Request-Id header value for outgoing requests that don't already provide one. If None or omitted, generate a random ID. When retrying failed requests, the same ID is used on all attempts.

Additional keyword arguments will be passed directly to apiclient_discovery.build if a new Resource object is created. If the discoveryServiceUrl or http keyword arguments are missing, this function will set default values for them, based on the current Arvados configuration settings.

def api_from_config(version=None, apiconfig=None, **kwargs)

Return an apiclient Resources object enabling access to an Arvados server instance.

:version: A string naming the version of the Arvados REST API to use (for example, 'v1').

:apiconfig: If provided, this should be a dict-like object (must support the get() method) with entries for ARVADOS_API_HOST, ARVADOS_API_TOKEN, and optionally ARVADOS_API_HOST_INSECURE. If not provided, use arvados.config (which gets these parameters from the environment by default.)

Other keyword arguments such as cache will be passed along api()

def http_cache(data_type)

Classes

class OrderedJsonModel (data_wrapper=False)

Model class for JSON that preserves the contents' order.

API clients that care about preserving the order of fields in API server responses can use this model to do so, like this::

from arvados.api import OrderedJsonModel
client = arvados.api('v1', ..., model=OrderedJsonModel())

Construct a JsonModel.

Args

data_wrapper
boolean, wrap requests and responses in a data wrapper
Expand source code
class OrderedJsonModel(apiclient.model.JsonModel):
    """Model class for JSON that preserves the contents' order.

    API clients that care about preserving the order of fields in API
    server responses can use this model to do so, like this::

        from arvados.api import OrderedJsonModel
        client = arvados.api('v1', ..., model=OrderedJsonModel())
    """

    def deserialize(self, content):
        # This is a very slightly modified version of the parent class'
        # implementation.  Copyright (c) 2010 Google.
        content = content.decode('utf-8')
        body = json.loads(content, object_pairs_hook=collections.OrderedDict)
        if self._data_wrapper and isinstance(body, dict) and 'data' in body:
            body = body['data']
        return body

Ancestors

  • googleapiclient.model.JsonModel
  • googleapiclient.model.BaseModel
  • googleapiclient.model.Model

Methods

def deserialize(self, content)

Perform the actual deserialization from response string to Python object.

Args

content
string, the body of the HTTP response

Returns

The body de-serialized as a Python object.