=============
webexteamssdk
Work with the Webex APIs in native Python!
.. image:: https://img.shields.io/badge/license-MIT-blue.svg
:target: https://github.com/WebexCommunity/WebexPythonSDK/blob/master/LICENSE
.. image:: https://img.shields.io/pypi/v/webexteamssdk.svg
:target: https://pypi.org/project/webexteamssdk/
.. image:: https://img.shields.io/pypi/dw/webexteamssdk.svg
:target: https://pypi.org/project/webexteamssdk/
.. image:: https://readthedocs.org/projects/webexteamssdk/badge/?version=latest
:target: http://webexteamssdk.readthedocs.io/en/latest/?badge=latest
webexteamssdk v1.7 will be the last 🤞 release of the webexteamssdk
package. This will be the last release
supporting Python v2 and v3 compatibility; it is compatible Python v3 releases up to Python v3.10.
Going forward, the webexteamssdk
package will be replaced by the WebexPythonSDK
package, which will support Python
v3.10+.
webexteamssdk is a community developed Python library for working with the Webex APIs. Our goal is to make
working with Webex in Python a native and natural experience!
.. code-block:: Python
from webexteamssdk import WebexTeamsAPI
api = WebexTeamsAPI()
# Find all rooms that have 'webexteamssdk Demo' in their title
all_rooms = api.rooms.list()
demo_rooms = [room for room in all_rooms if 'webexteamssdk Demo' in room.title]
# Delete all of the demo rooms
for room in demo_rooms:
api.rooms.delete(room.id)
# Create a new demo room
demo_room = api.rooms.create('webexteamssdk Demo')
# Add people to the new demo room
email_addresses = ["test01@cmlccie.com", "test02@cmlccie.com"]
for email in email_addresses:
api.memberships.create(demo_room.id, personEmail=email)
# Post a message to the new room, and upload a file
api.messages.create(demo_room.id, text="Welcome to the room!",
files=["https://www.webex.com/content/dam/wbx/us/images/dg-integ/teams_icon.png"])
That's more than 6 Webex API calls in less than 23 lines of code (with comments and whitespace), and likely more
than that, since webexteamssdk handles pagination_ for you automatically!
webexteamssdk makes your life better... Learn how!
__
__ Introduction_
Features
webexteamssdk does all of this for you:
-
Transparently sources your Webex access token from your local environment
-
Provides and uses default arguments and settings everywhere possible, so you don't have to think about things like API
endpoint URLs, HTTP headers and JSON formats
-
Represents all Webex API interactions using native Python tools
-
Authentication and Connection to the Webex Cloud ==> WebexTeamsAPI "connection object"
-
API Calls ==> Hierarchically organized methods underneath the WebexTeamsAPI 'Connection Object'
-
Returned Data Objects ==> Native Python objects
-
Automatic and transparent pagination!
-
Automatic rate-limit handling! (wait|retry)
-
Multipart encoding and uploading of local files
-
Auto-completion in your favorite IDE, descriptive exceptions, and so much more...
Installation
Installing and upgrading webexteamssdk is easy:
Install via PIP
.. code-block:: bash
$ pip install webexteamssdk
Upgrade to the latest version
.. code-block:: bash
$ pip install webexteamssdk --upgrade
Documentation
Excellent documentation is now available at:
http://webexteamssdk.readthedocs.io
Check out the Quickstart_ to dive in and begin using webexteamssdk.
Examples
Are you looking for some sample scripts? Check out the examples_ folder!
Have a good example script you would like to share? Please feel free to contribute
__!
__ Contribution_
Release Notes
Please see the releases_ page for release notes on the incremental functionality and bug fixes incorporated into the
published releases.
Questions, Support & Discussion
webexteamssdk is a community developed and community-supported project. If you experience any issues using this
package, please report them using the issues_ page.
Please join the Python Webex Teams Devs
__ Webex space to ask questions, join the discussion, and share your
projects and creations.
__ Community_
Contribution
webexteamssdk is a community development project. Feedback, thoughts, ideas, and code contributions are welcome!
Please see the Contributing
_ guide for more information.
History
The Webex Python SDK (webexteamssdk) library started as Cisco Spark API (ciscosparkapi). We updated the library's name in
alignment with Cisco's re-brand of Cisco Spark to Webex. The Cisco Spark API library has been deprecated and is no
longer supported; however, its open-source codebase is still available in the ciscosparkapi
_ branch of this
repository.
The development team may make additional name changes as the library evolves with the Webex APIs published on
developer.webex.com.
Copyright (c) 2016-2024 Cisco and/or its affiliates.
.. _Release Plan: https://github.com/CiscoDevNet/webexteamssdk/wiki/Release-Plans
.. _Introduction: http://webexteamssdk.readthedocs.io/en/latest/user/intro.html
.. _pagination: https://developer.webex.com/docs/basics#pagination
.. _webexteamssdk.readthedocs.io: https://webexteamssdk.readthedocs.io
.. _Quickstart: http://webexteamssdk.readthedocs.io/en/latest/user/quickstart.html
.. _examples: https://github.com/CiscoDevNet/webexteamssdk/tree/master/examples
.. _webexteamssdk: https://github.com/CiscoDevNet/webexteamssdk
.. _issues: https://github.com/CiscoDevNet/webexteamssdk/issues
.. _Community: https://eurl.io/#HkMxO-_9-
.. _projects: https://github.com/CiscoDevNet/webexteamssdk/projects
.. _pull requests: https://github.com/CiscoDevNet/webexteamssdk/pulls
.. _releases: https://github.com/CiscoDevNet/webexteamssdk/releases
.. the repository: webexteamssdk
.. pull request: pull requests
.. _Contributing: https://github.com/CiscoDevNet/webexteamssdk/blob/master/docs/contributing.rst
.. _ciscosparkapi: https://github.com/CiscoDevNet/ciscosparkapi/tree/ciscosparkapi