A Python SDK for Spotinst

spotinst spot instances aws ec2 cloud infrastructure development elastigroup
pip install spotinst-sdk-beta==2.0.0-rc1


Build Status Coverage Status Python 2.7 Python 3.6


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


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')
  1. 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
  1. 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')
  1. You can overwrite the credentials file location and the profile used as environment variables SPOTINST_PROFILE and/or SPOTINST_SHARED_CREDENTIALS_FILE
  2. Fetching from the default location with the default profile