composer package

Submodules

composer.http_client module

composer.http_client.api_url(api_version, url)[source]

Return the versioned path to the API route

Parameters
  • api_version (str) -- The version of the API to talk to. eg. "0"

  • url (str) -- The API route to talk to

Returns

The full url to use for the route and API version

Return type

str

composer.http_client.append_query(url, query)[source]

Add a query argument to a URL

The query should be of the form "param1=what&param2=ever", i.e., no leading '?'. The new query data will be appended to any existing query string.

Parameters
  • url (str) -- The original URL

  • query (str) -- The query to append

Returns

The new URL with the query argument included

Return type

str

composer.http_client.delete_url_json(socket_path, url)[source]

Send a DELETE request to the url and return JSON response

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to send DELETE to

Returns

The json response from the server

Return type

dict

composer.http_client.download_file(socket_path, url, progress=True)[source]

Download a file, saving it to the CWD with the included filename

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to send POST to

composer.http_client.get_filename(headers)[source]

Get the filename from the response header

Parameters

response (Response) -- The urllib3 response object

Raises

RuntimeError if it cannot find a filename in the header

Returns

Filename from content-disposition header

Return type

str

composer.http_client.get_url_json(socket_path, url)[source]

Return the JSON results of a GET request

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to request

Returns

The json response from the server

Return type

dict

composer.http_client.get_url_json_unlimited(socket_path, url, total_fn=None)[source]

Return the JSON results of a GET request

For URLs that use offset/limit arguments, this command will fetch all results for the given request.

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to request

Returns

The json response from the server

Return type

dict

composer.http_client.get_url_raw(socket_path, url)[source]

Return the raw results of a GET request

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to request

Returns

The raw response from the server

Return type

str

composer.http_client.post_url(socket_path, url, body)[source]

POST raw data to the URL

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to send POST to

  • body (str) -- The data for the body of the POST

Returns

The json response from the server

Return type

dict

composer.http_client.post_url_json(socket_path, url, body)[source]

POST some JSON data to the URL

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to send POST to

  • body (str) -- The data for the body of the POST

Returns

The json response from the server

Return type

dict

composer.http_client.post_url_toml(socket_path, url, body)[source]

POST a TOML string to the URL

Parameters
  • socket_path (str) -- Path to the Unix socket to use for API communication

  • url (str) -- URL to send POST to

  • body (str) -- The data for the body of the POST

Returns

The json response from the server

Return type

dict

composer.unix_socket module

class composer.unix_socket.UnixHTTPConnection(socket_path, timeout=300)[source]

Bases: http.client.HTTPConnection, object

connect()[source]

Connect to the host and port specified in __init__.

class composer.unix_socket.UnixHTTPConnectionPool(socket_path, timeout=300)[source]

Bases: urllib3.connectionpool.HTTPConnectionPool

Module contents