# Authentication and setup #

There are some other supported authentication and setup modes than those described in the quickstart.

## API key handling

The API key must be provided via one of the following methods - the code uses the first one that is found:

1. as an argument to RootSignals constructor (see below),
2. environment variable `ROOTSIGNALS_API_KEY` (see quickstart), or
3. .env file containing `ROOTSIGNALS_API_KEY=` (see below)

### Provide it in the code (highest priority)

In addition to the `ROOTSIGNALS_API_KEY` environment variable, you can also supply the API key directly from your code using either:

```
from root import RootSignals
client = RootSignals("my secret api key")
...
```

or

```
from root import RootSignals
client = RootSignals(api_key="my secret api key")
...
```

### .env file (lowest priority)

Current directory where the Python interpreter is being executed can be also used to find the `.env` file with `variable=value` definitions. In this case, if there is `ROOTSIGNALS_API_KEY=mysecretapikey` entry there, it is used.

## Local installation

In addition to the default `pip install` described in the quickstart, it is also possible to use the package from source. If you want to develop the SDK, it can be useful to make the package
locally installed:

```bash
pip install -e .
```

