Skip to content

🐍 Client library to use the IBM Watson services in Python and available in pip as watson-developer-cloud

License

Notifications You must be signed in to change notification settings

trishahanlon/python-sdk

 
 

Repository files navigation

Watson Developer Cloud Python SDK

Build Status Slack codecov.io Latest Stable Version

Python client library to quickly get started with the various Watson APIs services.

Installation

To install, use pip or easy_install:

pip install --upgrade watson-developer-cloud

or

easy_install --upgrade watson-developer-cloud

Note: If you run into permission issues try:

sudo -H pip install --ignore-installed six watson-developer-cloud

For more details see #225

Examples

The examples folder has basic and advanced examples.

Getting the Service Credentials

Service credentials are required to access the APIs.

If you run your app in IBM Cloud, you don't need to specify the username and password. In that case, the SDK uses the VCAP_SERVICES environment variable to load the credentials.

To run locally or outside of IBM Cloud you need the username and password credentials for each service. (Service credentials are different from your IBM Cloud account email and password.)

To create an instance of the service:

  1. Log in to IBM Cloud.
  2. Create an instance of the service:
    1. In the IBM Cloud Catalog, select the Watson service you want to use. For example, select the Conversation service.
    2. Type a unique name for the service instance in the Service name field. For example, type my-service-name. Leave the default values for the other options.
    3. Click Create.

To get your service credentials:

Copy your credentials from the Service details page. To find the the Service details page for an existing service, navigate to your IBM Cloud dashboard and click the service name.

  1. On the Service Details page, click Service Credentials, and then View credentials.
  2. Copy username, password, and url.

Python Version

Tested on Python 2.7, 3.4, 3.5, and 3.6.

Changes for v1.0

Version 1.0 focuses on the move to programmatically-generated code for many of the services. See the changelog for the details.

Migration

This version includes many breaking changes as a result of standardizing behavior across the new generated services. Full details on migration from previous versions can be found here.

Configuring the http client

To set client configs like timeout use the with_http_config() function and pass it a dictionary of configs.

from watson_developer_cloud import ConversationV1

conversation = ConversationV1(
    username='xxx',
    password='yyy',
    version='2017-04-21')

conversation.set_http_config({'timeout': 100})
response = conversation.message(workspace_id=workspace_id, input={
    'text': 'What\'s the weather like?'})
print(json.dumps(response, indent=2))

Dependencies

  • requests
  • pysolr >=3.3, <4.0
  • argparse >=1.3.0
  • pyOpenSSL >=16.2.0
  • python_dateutil >= 2.5.3
  • responses for testing

Contributing

See CONTRIBUTING.md.

License

This library is licensed under the Apache 2.0 license.

About

🐍 Client library to use the IBM Watson services in Python and available in pip as watson-developer-cloud

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.4%
  • HTML 2.6%