Skip to main content

A library for SoftLayer's API

Project description

https://github.com/softlayer/softlayer-python/workflows/Tests/badge.svg https://github.com/softlayer/softlayer-python/workflows/documentation/badge.svg https://badge.fury.io/py/SoftLayer.svg https://coveralls.io/repos/github/softlayer/softlayer-python/badge.svg?branch=master https://snapcraft.io//slcli/badge.svg https://https://github.com/softlayer/softlayer-python/workflows/Snap%20Builds/badge.svg

This library provides a simple Python client to interact with SoftLayer’s XML-RPC API.

A command-line interface is also included and can be used to manage various SoftLayer products and services.

Documentation

Documentation for the Python client is available at Read the Docs .

Additional API documentation can be found on the SoftLayer Development Network:

Installation

Install via pip:

$ pip install softlayer

Or you can install from source. Download source and run:

$ python setup.py install

Another (safer) method of installation is to use the published snap. Snaps are available for any Linux OS running snapd, the service that runs and manage snaps. Snaps are “auto-updating” packages and will not disrupt the current versions of libraries and software packages on your Linux-based system. To learn more, please visit: https://snapcraft.io/

To install the slcli snap:

$ sudo snap install slcli

(or to get the latest release)

$ sudo snap install slcli --edge

The most up-to-date version of this library can be found on the SoftLayer GitHub public repositories at http://github.com/softlayer. For questions regarding the use of this library please post to Stack Overflow at https://stackoverflow.com/ and your posts with “SoftLayer” so our team can easily find your post. To report a bug with this library please create an Issue on github.

InsecurePlatformWarning Notice

This library relies on the requests library to make HTTP requests. On Python versions below Python 2.7.9, requests has started emitting a security warning (InsecurePlatformWarning) due to insecurities with creating SSL connections. To resolve this, upgrade to Python 2.7.9+ or follow the instructions here: http://stackoverflow.com/a/29099439.

Basic Usage

Advanced Usage

You can automatically set some parameters via environment variables with by using the SLCLI prefix. For example

$ export SLCLI_VERBOSE=3
$ export SLCLI_FORMAT=json
$ slcli vs list

is equivalent to

$ slcli -vvv --format=json vs list

Getting Help

Bugs and feature requests about this library should have a GitHub issue opened about them.

Issues with the Softlayer API itself should be addressed by opening a ticket.

Examples

A curated list of examples on how to use this library can be found at SLDN

Development

To get started working with this project please read the CONTRIBUTING document.

You can quickly test local changes by running the ‘./slcli’ file, which will load the local softlayer-python code instead of the system’s softlayer-python codebase.

Debugging

To get the exact API call that this library makes, you can do the following.

For the CLI, just use the -vvv option. If you are using the REST endpoint, this will print out a curl command that you can use, if using XML, this will print the minimal python code to make the request without the softlayer library.

$ slcli -vvv vs list

If you are using the library directly in python, you can do something like this.

import SoftLayer
import logging

class invoices():

    def __init__(self):
        self.client = SoftLayer.Client()
        debugger = SoftLayer.DebugTransport(self.client.transport)
        self.client.transport = debugger

    def main(self):
        mask = "mask[id]"
        account = self.client.call('Account', 'getObject', mask=mask);
        print("AccountID: %s" % account['id'])

    def debug(self):
        for call in self.client.transport.get_last_calls():
            print(self.client.transport.print_reproduceable(call))

if __name__ == "__main__":
    main = example()
    main.main()
    main.debug()

System Requirements

  • Python 3.8, 3.9, or 3.10.

  • A valid SoftLayer API username and key.

  • A connection to SoftLayer’s private network is required to use our private network API endpoints.

Python 3.6 Support

As of version 6.0.0 SoftLayer-Python will no longer support python3.6, which is End of Life as of 2022. If you cannot install python 3.8+ for some reason, you will need to use a version of softlayer-python <= 6.0.0

Python 2.7 Support

As of version 5.8.0 SoftLayer-Python will no longer support python2.7, which is End Of Life as of 2020 . If you cannot install python 3.6+ for some reason, you will need to use a version of softlayer-python <= 5.7.2

Python Packages

  • prettytable >= 2.5.0

  • click >= 8.0.4

  • requests >= 2.32.2

  • prompt_toolkit >= 2

  • pygments >= 2.0.0

  • urllib3 >= 1.24

  • rich == 12.3.0

NOTE If ptable (not prettytable) is installed, this will cause issues rendering tables.

Release history Release notifications | RSS feed

This version

6.2.6

Download files

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

Source Distribution

softlayer-6.2.6.tar.gz (501.9 kB view details)

Uploaded Source

Built Distribution

SoftLayer-6.2.6-py2.py3-none-any.whl (757.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file softlayer-6.2.6.tar.gz.

File metadata

  • Download URL: softlayer-6.2.6.tar.gz
  • Upload date:
  • Size: 501.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for softlayer-6.2.6.tar.gz
Algorithm Hash digest
SHA256 6e9d874648cbf234d49ee4f5b0829f6bcd4d706adf88318ed1b27a47debc7e5d
MD5 c34d3a9574ea32776212f557609ee418
BLAKE2b-256 fa5a316006203339a08d3871a1494e75e266e39ba0ccc6cf857d20e05d2fcdc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for softlayer-6.2.6.tar.gz:

Publisher: release.yml on softlayer/softlayer-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file SoftLayer-6.2.6-py2.py3-none-any.whl.

File metadata

  • Download URL: SoftLayer-6.2.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 757.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for SoftLayer-6.2.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4906f4774829dec7e9e04a59742e527e51a09109d7de6a6f45162a169e1211fa
MD5 a8c3fd57b315566bd6bf1dd1264afd16
BLAKE2b-256 91a3fce4ec21a42664e7ef4c32993a9f5f5afc8b08bda23bcea3d21c2f94007c

See more details on using hashes here.

Provenance

The following attestation bundles were made for SoftLayer-6.2.6-py2.py3-none-any.whl:

Publisher: release.yml on softlayer/softlayer-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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