Skip to main content

Client library for the IBM Cloud services

Project description

Build Status codecov Latest Stable Version

python-sdk-core

This project contains the core functionality used by Python SDK’s generated by the IBM OpenAPI 3 SDK Generator (openapi-sdkgen). Python code generated by openapi-sdkgen will depend on the function contained in this project.

Installation

To install, use pip or easy_install:

pip install --upgrade ibm-cloud-sdk-core

or

easy_install --upgrade ibm-cloud-sdk-core

Authentication Types

There are several flavors of authentication supported in this package. To specify the intended authentication pattern to use, simply instantiate the Authenticator of your choice.

Basic

This indicates Basic Auth is to be used. Users will pass in a username and password and the SDK will generate a Basic Auth header to send with requests to the service.

from ibm_cloud_sdk_core.authenticators import BasicAuthenticator

authenticator = BasicAuthenticator(<your_username>, <your_password>)

IAM

This indicates that IAM token authentication is to be used. Users can pass in a apikey and the SDK will generate a Bearer Auth header to send with requests to the service.

from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

authenticator = IAMAuthenticator(<your_apikey>)

Cloud Pak for Data

This indicates that the service is an instance of CP4D, which has its own version of token authentication. Users can pass in a username, password and url, and the SDK will generate a Bearer Auth header to send with requests to the service.

from ibm_cloud_sdk_core.authenticators import CloudPakForDataAuthenticator

authenticator = CloudPakForDataAuthenticator(<your_username>, <your_password>, <your_url>)

Bearer Token

This indicates bearer token authentication is to be used. The system would prepend the bearer name to your token and add it to the authorization header.

from ibm_cloud_sdk_core.authenticators import BearerTokenAuthenticator

authenticator = BearerTokenAuthenticator(<your_bearer_token>)

No Authentication

This indicates that no authentication is needed when sending requests to the service

from ibm_cloud_sdk_core.authenticators import NoAuthAuthenticator

authenticator = NoAuthAuthenticator()

Issues

If you encounter an issue with this project, you are welcome to submit a bug report. Before opening a new issue, please search for similar issues. It’s possible that someone has already reported it.

Logging

Enable logging

import logging
logging.basicConfig(level=logging.DEBUG)

This would show output of the form:

DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): iam.cloud.ibm.com:443
DEBUG:urllib3.connectionpool:https://iam.cloud.ibm.com:443 "POST /identity/token HTTP/1.1" 200 1809
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): gateway.watsonplatform.net:443
DEBUG:urllib3.connectionpool:https://gateway.watsonplatform.net:443 "POST /assistant/api/v1/workspaces?version=2018-07-10 HTTP/1.1" 201 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): gateway.watsonplatform.net:443
DEBUG:urllib3.connectionpool:https://gateway.watsonplatform.net:443 "GET /assistant/api/v1/workspaces/883a2a44-eb5f-4b1a-96b0-32a90b475ea8?version=2018-07-10&export=true HTTP/1.1" 200 None
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): gateway.watsonplatform.net:443
DEBUG:urllib3.connectionpool:https://gateway.watsonplatform.net:443 "DELETE /assistant/api/v1/workspaces/883a2a44-eb5f-4b1a-96b0-32a90b475ea8?version=2018-07-10 HTTP/1.1" 200 28

Low level request and response dump

To get low level information of the requests/ responses:

from http.client import HTTPConnection
HTTPConnection.debuglevel = 1

Open source @ IBM

Find more open source projects on the IBM Github Page

License

This library is licensed under Apache 2.0. Full license text is available in LICENSE.

Contributing

See CONTRIBUTING.md.

Project details


Download files

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

Files for ibm-cloud-sdk-core, version 1.0.0rc9
Filename, size File type Python version Upload date Hashes
Filename, size ibm-cloud-sdk-core-1.0.0rc9.tar.gz (20.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page