Skip to main content

A Python SDK for Spotinst

Project description

[![Build Status](](
[![Coverage Status](](
[![Python 2.7](](
[![Python 3.6](](

# spotinst-sdk-python
Spotinst SDK for the Python programming language

# **V2 Is Coming!**
Version 2 for the Spotinst Python SDK will be moving from the `v2` branch to the `master` branch very soon. The current `master` will move to it's own `v1` branch and eventually be deprecated. Version 2 introduces some breaking changes from v1 and will require updates when switching over. Luckily this process should be easy and is completely explained on the [v2 branch in this repository]( Both `v1` and `v2` will be released as `spotinst-sdk` and `spotinst-sdk2` respectively, to prevent any auto version upgrades.

## Table of contents
* [Installation](#installation)
* [Configuring Credentials](#configuring-credentials)
* [SDK Docs](./docs/pydocmd/)
* [Endpoints](./docs/pydocmd/endpoints/)
* [Elastigroup](./docs/pydocmd/endpoints/elastigroup/)
* [Functions](./docs/pydocmd/endpoints/functions/)
* [Administration](./docs/pydocmd/endpoints/administration/)
* [Multai Load Balancer](./docs/pydocmd/endpoints/mlb)
* [Ocean](./docs/pydocmd/endpoints/ocean)
* [Examples](./docs/pydocmd/examples/)
* [Classes](./docs/pydocmd/classes/)
* [ASG](./docs/pydocmd/classes/
* [Deployment](./docs/pydocmd/classes/
* [Deployment Action](./docs/pydocmd/classes/
* [Elastigroup](./docs/pydocmd/classes/
* [EMR](./docs/pydocmd/classes/
* [Functions](./docs/pydocmd/classes/
* [MLB](./docs/pydocmd/classes/
* [Stateful](./docs/pydocmd/classes/
* [User Mapping](./docs/pydocmd/classes/
* [Ocean](./docs/pydocmd/classes/
* [Event Subscription](./docs/pydocmd/classes/

## Installation
pip install --upgrade spotinst-sdk

## Configuring Credentials
The mechanism in which the sdk looks for credentials is to search through a list of possible locations and stop as soon as it finds credentials.
The order in which the sdk searches for credentials is:
1. Passing credentials as parameters to the `SpotinstClient()` constructor
- example
client = SpotinstClient(auth_token='token', account_id='act-123')

2. Fetching the account and token from environment variables under `SPOTINST_ACCOUNT` & `SPOTINST_TOKEN`

If you choose to not pass your credentials directly you configure a credentials file, this file should be a valid `.yml` file.
The default shared credential file location is `~/.spotinst/credentials` and the default profile is `default`
- example
default: #profile
token: $defaul_spotinst_token
account: $default_spotinst-account-id
token: $my_spotinst_token
account: $my_spotinst-account-id

3. You can overwrite the credentials file location and the profile used as parameters in the `SpotinstClient()` constructor
- example
client = SpotinstClient(credentials_file='/path/to/file', profile='my_profile')

4. You can overwrite the credentials file location and the profile used as environment variables `SPOTINST_PROFILE` and/or `SPOTINST_SHARED_CREDENTIALS_FILE`
5. Fetching from the default location with the default profile

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spotinst-sdk-beta-1.0.47.tar.gz (26.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page