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


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ibm-cloud-sdk-core-1.0.0rc7.tar.gz (20.0 kB view details)

Uploaded Source

File details

Details for the file ibm-cloud-sdk-core-1.0.0rc7.tar.gz.

File metadata

File hashes

Hashes for ibm-cloud-sdk-core-1.0.0rc7.tar.gz
Algorithm Hash digest
SHA256 7aa36932ab05d79cfc46bdda0d9ed94a3b487be6eedf4f9933aa818dcf83279c
MD5 4ddadda6364e44e7d6c982df834a5420
BLAKE2b-256 57fa42c5665661042113358ec062e41c0ab4dc91748ac0bcf4362d7f63cc3cc4

See more details on using hashes here.

Provenance

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