Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

ScaleIO API client

Project description

Python library that provides convenient way to interact with ScaleIO REST API.

  • Supported ScaleIO versions: 2.0
  • Supported Python versions: 2.6, 2.7, 3.4, 3.5

Library is under development!


Currently supported:

  • Simple API client with base methods according to ScaleIO documentation
  • ORM-like models (StoragePool, Volume, etc.)
  • Scheme validation for API responses


  • HATEOAS links processing


Install via pip:

$ pip install pyscaleio

Install as RPM package using yum or dnf on Fedora/RHEL/CentOS:

$ dnf copr enable miushanov/pyscaleio
$ dnf install python-scaleio


  • Create and register API client:
import pyscaleio

# create API client
client = pyscaleio.ScaleIOClient.from_args("gateway_address", "admin", "password")

# register it for using in models
  • Find and modify resources:
# get all volumes in cluster
volumes = pyscaleio.Volume.all()
assert len(volumes) == 1

# or, get volume by specified id
volume = pyscaleio.Volume.one_by_name("test_volume")

# and access some volume attributes
assert == "test_volume"
assert volume.size == 8 * constants.GIGABYTE

# or, resize it to new size

volume.update()  # updates model data
assert volume.size == 16 * constants.GIGABYTE
  • Create or delete resources:
# create new volume in storage pool
volume = pyscaleio.Volume.create(16, "storage_pool_id", "new_volume")
assert == "new_volume"
assert volume.size == 16 * constants.GIGABYTE

# delete volume
volume = pyscaleio.Volume.one_by_name("test_volume")
  • Tune client and models options:
   # retries count for each request
   # network timeout for requests
   # name of exported volume (according to udev/rules.d)
   # prefix of exported volume

volume = pyscaleio.Volume.one_by_name("test_volume")
assert volume.path == "/dev/disk/by-id/emc-27947a0127a79ce60ca29f20900000008"


Tests for this library divided to unit tests and functional tests. Functional tests requires ScaleIO installation and available REST API Gateway service. For running functional tests use tox environment with name functional with passed variables:

  • scaleio_host - IP address or hostname of ScaleIO REST API Gateway
  • scaleio_user - username
  • scaleio_passwd - password
  • scaleio_is_secure - 1 for using https scheme otherwise 0 (optional)
  • scaleio_trace - level of logging to stderr (optional)


$ scaleio_host=localhost scaleio_user=admin scaleio_passwd=passwd tox -e functional

Project details

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pyscaleio-0.1.5-py2.py3-none-any.whl (15.5 kB) Copy SHA256 hash SHA256 Wheel 2.7 Jun 20, 2017
pyscaleio-0.1.5.tar.gz (58.2 kB) Copy SHA256 hash SHA256 Source None Jun 20, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page