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.
Support for Python versions 2.x and versions <= 3.4 is deprecated and will be officially dropped in the next major release, which is expected to be end of September, 2019.
To install, use pip or easy_install:
pip install --upgrade ibm-cloud-sdk-coreor
easy_install --upgrade ibm-cloud-sdk-coreThere are several flavors of authentication supported in this package. To specify the intended authentication pattern to use, simply instantiate the Authenticator of your choice.
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>)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>)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>)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>)This indicates that no authentication is needed when sending requests to the service
from ibm_cloud_sdk_core.authenticators import NoAuthAuthenticator
authenticator = NoAuthAuthenticator()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.
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
To get low level information of the requests/ responses:
from http.client import HTTPConnection
HTTPConnection.debuglevel = 1Find more open source projects on the IBM Github Page
This library is licensed under Apache 2.0. Full license text is available in LICENSE.
See CONTRIBUTING.md.