Skip to main content

Tools to query the REST APIs of Scaleway

Project description

Scaleway SDK

This package provides tools to query the REST APIs of Scaleway.

Last release Unit-tests status Coverage Status Requirements freshness Software license Popularity

Installation

The package is available on pip. To install it in a virtualenv:

virtualenv my_virtualenv
source my_virtualenv/bin/activate
pip install scaleway-sdk

General principle

If you’re looking to send a GET HTTP request against our APIs, like:

GET <api_url>/foo/bar

you only need to call the following pythonic code:

>>> from scaleway.apis import DummyAPI
>>> DummyAPI().query().foo.bar.get()

The magic here lies in scaleway.apis.*API instances, which all have a query method returning a slumber.API object. The latter handling all the excruciating details of the requests.

Documentation

Even if this SDK is designed to be developer-friendly and aim for self-service discovery, it is still recommended to read the official API documentation.

And because most of the provided helpers takes the form of pre-configured Slumber objects, a good read of Slumber documention is encouraged as well.

Examples

  • List your organizations:

>>> from scaleway.apis import AccountAPI
>>> api = AccountAPI(auth_token='')  # Set your token here!
>>> print api.query().organizations.get()
{u'organizations': [...]}
  • List your servers:

>>> from scaleway.apis import ComputeAPI
>>> api = ComputeAPI(auth_token='')  # Set your token here!
>>> print api.query().servers.get()
{u'servers': [...]}
  • Get details of a server:

>>> from scaleway.apis import ComputeAPI
>>> api = ComputeAPI(auth_token='')  # Set your token here!
>>> server_id = ''  # Set a server ID here!
>>> print api.query().servers(server_id).get()
{u'server': {...}}
  • Check if your token has the permission servers:read for the service compute for the organization 9a096d36-6bf9-470f-91df-2398aa7361f7:

>>> from scaleway.apis import AccountAPI
>>> api = AccountAPI(auth_token='')  # Set your token here!
>>> print api.has_perm(service='compute', name='servers:read',
...     resource='9a096d36-6bf9-470f-91df-2398aa7361f7')
False

Development

Assuming you are in a virtualenv:

pip install -e .
python -c 'from scaleway.apis import AccountAPI'
# it works!

Test

To submit a patch, you’ll need to test your code. To run tests:

pip install nose coverage pep8 pylint
python setup.py nosetests --with-coverage
# (...)
pep8 scaleway
# (...)
pylint scaleway
# (...)
  • coverage score should never be lower than before your patch.

  • PEP8 should never return an error.

  • pylint score should never be lower than before your patch.

Alternative libraries / clients

License

This software is licensed under a BSD 2-Clause License.

ChangeLog

1.0.2 (2015-04-07)

  • Fix Pypi mess.

1.0.0 (2015-04-07)

  • Rename OCS to Scaleway. import ocs becomes import scaleway.

0.4.2 (2015-04-02)

  • Install packages to have TLS SNI support.

0.4.1 (2015-04-02)

  • Update APIs URLs from cloud.online.net to scaleway.com.

0.4.0 (2015-03-11)

  • Add param include_locked to AccountAPI.get_resources(). Useful if you need to list all the permissions of a token, even if the owner’s organization is locked.

  • AccountAPI.has_perm() also accepts the param include_locked.

0.3.2 (2015-01-08)

  • Raise BadToken if account API returns HTTP/400.

0.3.1 (2014-12-19)

  • ocs_sdk.apis.API accepts the constructor param user_agent. Defaults to ocs-sdk Pythons/version Platform.

  • Check code coverage thanks to coveralls.

0.3.0 (2014-11-12)

  • Add missing license files. Closes #1.

  • Create class MetadataAPI to get metadata of a running server.

0.2.1 (2014-10-14)

  • Add documentation.

  • Set production URLs as defaults in AccountAPI and ComputeAPI.

0.2.0 (2014-04-16)

  • Added quota methods (has_quota, get_quotas) & their tests. Refs: AM-1, AM-11.

0.1.3 (2014-03-07)

  • Minor changes in AccountAPI.perm_matches (67f967d26d3).

  • base_url can be given to the constructor of API().

  • verify_ssl can be given to the constructor of API().

0.1.2 (2014-02-28)

  • Raise InvalidToken when get_resources is called with and invalid token.

0.1.1 (2014-02-28)

  • Add missing files in source tarball.

0.1.0 (2014-02-28)

  • Initial release.

0.0.0 (2013-06-24)

  • First commit.

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

scaleway-sdk-1.0.2.tar.gz (13.6 kB view details)

Uploaded Source

Built Distributions

scaleway_sdk-1.0.2-py2.7.egg (46.0 kB view details)

Uploaded Source

scaleway_sdk-1.0.2-py2-none-any.whl (27.7 kB view details)

Uploaded Python 2

File details

Details for the file scaleway-sdk-1.0.2.tar.gz.

File metadata

File hashes

Hashes for scaleway-sdk-1.0.2.tar.gz
Algorithm Hash digest
SHA256 48620bd661d3539fa6c91f30f8a8affc7cce47c1cae83acd1b9a4141947325b2
MD5 80e835aef913ef3de6a75d06373202a8
BLAKE2b-256 f7fe56835075b26c1df644e06cc7b44812da72e6f94cc2067e4775e210bdf82e

See more details on using hashes here.

File details

Details for the file scaleway_sdk-1.0.2-py2.7.egg.

File metadata

File hashes

Hashes for scaleway_sdk-1.0.2-py2.7.egg
Algorithm Hash digest
SHA256 948286fb6ba96db5ce8a56eb87822604e2dce9a2b795e490d2da489c3007c6e4
MD5 27b6801df6e0bc3535f84ce0cb51859b
BLAKE2b-256 415e44fc6381f5237799dcf76b201c3f330de3202c9a0a47e504f63bf080bb5b

See more details on using hashes here.

File details

Details for the file scaleway_sdk-1.0.2-py2-none-any.whl.

File metadata

File hashes

Hashes for scaleway_sdk-1.0.2-py2-none-any.whl
Algorithm Hash digest
SHA256 810e9e9c6b6323cd759e3536802091e4e4b29ee09e050161c9ad5e91c68d3289
MD5 e95d09e2177dbfd02e4f663e3fb79f9c
BLAKE2b-256 716cd0aae60e119026a804484c02e16fcfcb420827d86d4cc536aaadb989cead

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page