Authentication

The Crux Python Client interacts with the Crux API, which requires an API key. Your API key can be retrieved from your Profile within the Crux web application.

TODO: Are there organizational API keys?

Function arguments

For basic scripts you can set the API key with the api_key argument when instantiating the Crux client.

from crux import Crux

conn = Crux(api_key="YOUR_API_KEY")
print(conn.whoami())

The optional argument api_host can be used to set a different API host, the default is https://api.cruxinformatics.com.

from crux import Crux

conn = Crux(api_key="YOUR_API_KEY", api_host="https://api.cruxinformatics.com")
print(conn.whoami())

Environment variables

In production environments, or on your workstation, you can an environment variable to set the API key.

Shell:

export CRUX_API_KEY="YOUR_API_KEY"

Python:

from crux import Crux

conn = Crux()
print(conn.whoami())

The API host can optionally be set, it defaults to https://api.cruxinformatics.com.

Shell:

export CRUX_API_KEY="YOUR_API_KEY"
export CRUX_API_HOST="https://api.cruxinformatics.com"

Python:

from crux import Crux

conn = Crux()
print(conn.whoami())

Proxies

The Crux Python Client supports using HTTP(S) and SOCKS proxies.

The environment variables HTTP_PROXY and/or HTTPS_PROXY can be used to set HTTP/HTTPS proxies.

export HTTP_PROXY="http://10.10.1.10:3128"
export HTTPS_PROXY="http://10.10.1.10:1080"

The proxies argument can be used for more complex proxy scenarios or for SOCKS proxies.

proxies = {'http': 'http://user:pass@10.10.1.10:3128/'}
conn = Crux(proxies=proxies)
print(conn.whoami())

See the requests proxy documentation for full usage.