All Projects → prschmid → Zoomus

prschmid / Zoomus

Licence: other
Python client library for the Zoom.us REST API v1 and v2

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Zoomus

Zoomrecyclerview
A Zoomable RecyclerView for comic
Stars: ✭ 102 (-35.44%)
Mutual labels:  zoom
Xzoom
jQuery Zoom Gallery plugin
Stars: ✭ 120 (-24.05%)
Mutual labels:  zoom
Frescoimageviewer
Customizable Android full screen image viewer for Fresco library supporting "pinch to zoom" and "swipe to dismiss" gestures. Made by Stfalcon
Stars: ✭ 1,807 (+1043.67%)
Mutual labels:  zoom
Tileview
TileView is a subclass of android.view.ViewGroup that asynchronously displays, pans and zooms tile-based images. Plugins are available for features like markers, hotspots, and path drawing.
Stars: ✭ 1,447 (+815.82%)
Mutual labels:  zoom
Imagezoom
An Android library that makes any view to be zoomable.
Stars: ✭ 118 (-25.32%)
Mutual labels:  zoom
Stfalconimageviewer
A simple and customizable Android full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" gestures
Stars: ✭ 1,734 (+997.47%)
Mutual labels:  zoom
Zoom Image
Medium's Image Zoom (no dependencies, IE 10+)
Stars: ✭ 97 (-38.61%)
Mutual labels:  zoom
Magnificent.js
🔍 Zoom responsively, images & more, w/ jQuery.
Stars: ✭ 153 (-3.16%)
Mutual labels:  zoom
Snap.svg.zpd
A zoom/pan/drag/rotate plugin for Snap.svg (useful for view only)
Stars: ✭ 119 (-24.68%)
Mutual labels:  zoom
Imageviewer
A simple and customizable Android full-screen image viewer 一个简单且可自定义的Android全屏图像浏览器
Stars: ✭ 1,889 (+1095.57%)
Mutual labels:  zoom
Panzoom
A library for panning and zooming elements using CSS transforms 🔍
Stars: ✭ 1,593 (+908.23%)
Mutual labels:  zoom
React Magnifier
🔍 React image zoom component
Stars: ✭ 116 (-26.58%)
Mutual labels:  zoom
Zoom
Javascript library to do pinch zoom that preserves scale and rotation correctly.
Stars: ✭ 130 (-17.72%)
Mutual labels:  zoom
Virtual Office
Virtual Office gives you transparency on what Zoom.us rooms are currently occupied and who is present
Stars: ✭ 103 (-34.81%)
Mutual labels:  zoom
Pinchimageview
体验非常好的Android图片手势控件。
Stars: ✭ 1,871 (+1084.18%)
Mutual labels:  zoom
React Image Zoom
React component for desktop browsers for image zoom on mouse hover
Stars: ✭ 97 (-38.61%)
Mutual labels:  zoom
Easypz
Easy Pan and Zoom JS Library
Stars: ✭ 125 (-20.89%)
Mutual labels:  zoom
Panandzoom
Pan and zoom control for Avalonia.
Stars: ✭ 159 (+0.63%)
Mutual labels:  zoom
React Native Zoomable View
A view component for react-native with pinch to zoom, tap to move and double tap to zoom capability.
Stars: ✭ 152 (-3.8%)
Mutual labels:  zoom
Zoomy
Adds seamless scrollView and instagram like zooming to UIImageViews in any view hierarchy.
Stars: ✭ 130 (-17.72%)
Mutual labels:  zoom

zoomus

Build Status PyPI Downloads Python Versions PyPI Version PyPI License Code Style: black

https://github.com/prschmid/zoomus

Python wrapper around the Zoom.us REST API v1 and v2.

This work is heavily inspired by the Ruby GEM of the same name, Zoomus

Installation

The easy way

pip install zoomus

Compatibility

zoomus has been tested for Python 3.6, 3.7, and 3.8 using Travis CI

Note, as this library heavily depends on the requests library, official compatibility is limited to the official compatibility of requests.

Example Usage

Create the client v2 (default)

As Zoom's default is now the V2 API, the client will default to the V2 version of the API.

import json
from zoomus import ZoomClient

client = ZoomClient('API_KEY', 'API_SECRET')

user_list_response = client.user.list()
user_list = json.loads(user_list_response.content)

for user in user_list['users']:
    user_id = user['id']
    print(json.loads(client.meeting.list(user_id=user_id).content))

What one will note is that the returned object from a call using the client is a requests Response object. This is done so that if there is any error working with the API that one has complete control of handling all errors. As such, to actually get the list of users in the example above, one will have to load the JSON from the content of the Response object that is returned.

Create the client v1

Zoom has yet to officially remove support for the V1 API, and so to use the V1 API one can instantiate a client as follows.

import json
from zoomus import ZoomClient

client = ZoomClient('API_KEY', 'API_SECRET', version=1)

user_list_response = client.user.list()
user_list = json.loads(user_list_response.content)

for user in user_list['users']:
    user_id = user['id']
    print(json.loads(client.meeting.list(host_id=user_id).content))

Using with a manage context

with ZoomClient('API_KEY', 'API_SECRET') as client:
    user_list_response = client.users.list()
    ...

Available methods

  • client.user.create(...)

  • client.user.cust_create(...)

  • client.user.update(...)*

  • client.user.check_email(...)

  • client.user.update_email(...)

  • client.user.list(...)

  • client.user.pending(...)

  • client.user.get(...)

  • client.user.get_by_email(...)

  • client.meeting.get(...)

  • client.meeting.end(...)

  • client.meeting.create(...)

  • client.meeting.delete(...)

  • client.meeting.list(...)

  • client.meeting.update(...)

  • client.meeting.add_registrant(...)

  • client.meeting.list_registrants(...)

  • client.meeting.update_registrant_status(...)

  • client.report.get_account_report(...)

  • client.report.get_user_report(...)

  • client.webinar.create(...)

  • client.webinar.update(...)

  • client.webinar.delete(...)

  • client.webinar.list(...)

  • client.webinar.get(...)

  • client.webinar.end(...)

  • client.webinar.register(...)

  • client.webinar.add_panelists(...)

  • client.webinar.list_panelists(...)

  • client.webinar.remove_panelists(...)

  • client.phone.call_logs(...)

  • client.phone.calling_plans(...)

  • client.phone.numbers_get(...)

  • client.phone.numbers_list(...)

  • client.phone.users(...)

  • client.group.list(...)

  • client.group.create(...)

  • client.group.get(...)

  • client.group.delete(...)

  • client.group.list_members(...)

  • client.group.add_members(...)

  • client.group.delete_member(...)

Running the Tests

Simple

First, make sure to install the testing requirements

pip install -r requirements-tests.txt

Then run the tests via nose

nosetests

Contributing

Please see the CONTRIBUTING.md for the contribution guidelines for this project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].