Skip to content

burakozdemir32/python-scaleway

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

169 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

🐍 Tools to query the REST APIs of Scaleway.com

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 100.0%