zoomcli 0.2.1__tar.gz → 0.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. {zoomcli-0.2.1 → zoomcli-0.2.3}/.github/workflows/ci.yml +15 -0
  2. {zoomcli-0.2.1 → zoomcli-0.2.3}/.github/workflows/release.yml +80 -0
  3. {zoomcli-0.2.1 → zoomcli-0.2.3}/CHANGELOG.md +6 -0
  4. {zoomcli-0.2.1 → zoomcli-0.2.3}/Cargo.lock +1 -1
  5. {zoomcli-0.2.1 → zoomcli-0.2.3}/Cargo.toml +1 -1
  6. {zoomcli-0.2.1 → zoomcli-0.2.3}/Makefile +1 -1
  7. zoomcli-0.2.3/PKG-INFO +204 -0
  8. zoomcli-0.2.3/README.md +182 -0
  9. zoomcli-0.2.3/prek.toml +36 -0
  10. zoomcli-0.2.1/PKG-INFO +0 -64
  11. zoomcli-0.2.1/README.md +0 -42
  12. {zoomcli-0.2.1 → zoomcli-0.2.3}/.gitignore +0 -0
  13. {zoomcli-0.2.1 → zoomcli-0.2.3}/Formula/zoom-cli.rb +0 -0
  14. {zoomcli-0.2.1 → zoomcli-0.2.3}/pyproject.toml +0 -0
  15. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/api/client.rs +0 -0
  16. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/api/mod.rs +0 -0
  17. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/api/types.rs +0 -0
  18. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/config.rs +0 -0
  19. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/init.rs +0 -0
  20. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/meetings.rs +0 -0
  21. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/mod.rs +0 -0
  22. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/recordings.rs +0 -0
  23. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/reports.rs +0 -0
  24. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/users.rs +0 -0
  25. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/commands/webinars.rs +0 -0
  26. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/config.rs +0 -0
  27. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/lib.rs +0 -0
  28. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/main.rs +0 -0
  29. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/output.rs +0 -0
  30. {zoomcli-0.2.1 → zoomcli-0.2.3}/src/test_support.rs +0 -0
  31. {zoomcli-0.2.1 → zoomcli-0.2.3}/zoom_cli/__init__.py +0 -0
  32. {zoomcli-0.2.1 → zoomcli-0.2.3}/zoom_cli/__main__.py +0 -0
@@ -39,6 +39,21 @@ jobs:
39
39
  - name: Run tests
40
40
  run: make test
41
41
 
42
+ coverage:
43
+ name: Coverage
44
+ runs-on: ubuntu-latest
45
+ steps:
46
+ - uses: actions/checkout@v4
47
+ - uses: dtolnay/rust-toolchain@stable
48
+ - uses: taiki-e/install-action@cargo-tarpaulin
49
+ - name: Generate coverage
50
+ run: cargo tarpaulin --out xml
51
+ - name: Upload to Codecov
52
+ uses: codecov/codecov-action@v5
53
+ with:
54
+ files: cobertura.xml
55
+ token: ${{ secrets.CODECOV_TOKEN }}
56
+
42
57
  all-checks-passed:
43
58
  name: All checks passed
44
59
  runs-on: ubuntu-latest
@@ -236,3 +236,83 @@ jobs:
236
236
  echo "Dry run complete. Artifacts built but nothing published."
237
237
  echo "Archives:"
238
238
  find artifacts/release-* -type f | sort
239
+
240
+ update-homebrew:
241
+ needs: release
242
+ if: ${{ !inputs.dry_run }}
243
+ runs-on: ubuntu-latest
244
+ steps:
245
+ - uses: actions/download-artifact@v4
246
+ with:
247
+ path: /tmp/artifacts
248
+
249
+ - name: Compute SHA256 hashes
250
+ id: hashes
251
+ run: |
252
+ for target in x86_64-apple-darwin aarch64-apple-darwin x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu; do
253
+ sha=$(cat /tmp/artifacts/release-${target}/zoom-cli-${{ github.ref_name }}-${target}.tar.gz.sha256 | awk '{print $1}')
254
+ key=$(echo "${target}" | tr '-' '_')
255
+ echo "${key}=${sha}" >> "$GITHUB_OUTPUT"
256
+ done
257
+
258
+ - name: Update Homebrew formula
259
+ env:
260
+ GH_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
261
+ run: |
262
+ VERSION="${{ github.ref_name }}"
263
+ VERSION_NUM="${VERSION#v}"
264
+
265
+ cat > /tmp/zoom-cli.rb << 'FORMULA'
266
+ class ZoomCli < Formula
267
+ desc "CLI for Zoom"
268
+ homepage "https://github.com/rvben/zoom-cli"
269
+ version "VERSION_NUM"
270
+ license "MIT"
271
+
272
+ on_macos do
273
+ if Hardware::CPU.arm?
274
+ url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-aarch64-apple-darwin.tar.gz"
275
+ sha256 "SHA_AARCH64_APPLE_DARWIN"
276
+ else
277
+ url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-x86_64-apple-darwin.tar.gz"
278
+ sha256 "SHA_X86_64_APPLE_DARWIN"
279
+ end
280
+ end
281
+
282
+ on_linux do
283
+ if Hardware::CPU.arm?
284
+ url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-aarch64-unknown-linux-gnu.tar.gz"
285
+ sha256 "SHA_AARCH64_UNKNOWN_LINUX_GNU"
286
+ else
287
+ url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-x86_64-unknown-linux-gnu.tar.gz"
288
+ sha256 "SHA_X86_64_UNKNOWN_LINUX_GNU"
289
+ end
290
+ end
291
+
292
+ def install
293
+ bin.install "zoom"
294
+ end
295
+
296
+ test do
297
+ system "#{bin}/zoom", "--version"
298
+ end
299
+ end
300
+ FORMULA
301
+
302
+ sed -i "s/VERSION_NUM/${VERSION_NUM}/g" /tmp/zoom-cli.rb
303
+ sed -i "s/VERSION/${VERSION}/g" /tmp/zoom-cli.rb
304
+ sed -i "s/SHA_AARCH64_APPLE_DARWIN/${{ steps.hashes.outputs.aarch64_apple_darwin }}/g" /tmp/zoom-cli.rb
305
+ sed -i "s/SHA_X86_64_APPLE_DARWIN/${{ steps.hashes.outputs.x86_64_apple_darwin }}/g" /tmp/zoom-cli.rb
306
+ sed -i "s/SHA_AARCH64_UNKNOWN_LINUX_GNU/${{ steps.hashes.outputs.aarch64_unknown_linux_gnu }}/g" /tmp/zoom-cli.rb
307
+ sed -i "s/SHA_X86_64_UNKNOWN_LINUX_GNU/${{ steps.hashes.outputs.x86_64_unknown_linux_gnu }}/g" /tmp/zoom-cli.rb
308
+
309
+ # Clone tap repo, update formula, push
310
+ git clone https://x-access-token:${GH_TOKEN}@github.com/rvben/homebrew-tap.git /tmp/tap
311
+ mkdir -p /tmp/tap/Formula
312
+ cp /tmp/zoom-cli.rb /tmp/tap/Formula/zoom-cli.rb
313
+ cd /tmp/tap
314
+ git config user.name "github-actions[bot]"
315
+ git config user.email "github-actions[bot]@users.noreply.github.com"
316
+ git add Formula/zoom-cli.rb
317
+ git diff --cached --quiet || git commit -m "Update zoom-cli to ${VERSION}"
318
+ git push
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/).
6
6
 
7
7
 
8
+
9
+
10
+ ## [0.2.3](https://github.com/rvben/zoom-cli/compare/v0.2.2...v0.2.3) - 2026-04-03
11
+
12
+ ## [0.2.2](https://github.com/rvben/zoom-cli/compare/v0.2.1...v0.2.2) - 2026-04-03
13
+
8
14
  ## [0.2.1](https://github.com/rvben/zoom-cli/compare/v0.2.0...v0.2.1) - 2026-04-02
9
15
 
10
16
  ### Added
@@ -2219,7 +2219,7 @@ checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
2219
2219
 
2220
2220
  [[package]]
2221
2221
  name = "zoom-cli"
2222
- version = "0.2.1"
2222
+ version = "0.2.3"
2223
2223
  dependencies = [
2224
2224
  "assert_cmd",
2225
2225
  "base64",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "zoom-cli"
3
- version = "0.2.1"
3
+ version = "0.2.3"
4
4
  edition = "2024"
5
5
  rust-version = "1.90"
6
6
  description = "Agent-friendly Zoom CLI with JSON output, structured exit codes, and schema introspection"
@@ -11,7 +11,7 @@ test:
11
11
 
12
12
  lint:
13
13
  cargo fmt -- --check
14
- cargo clippy --all-targets --all-features -- -D warnings
14
+ cargo clippy -- -D warnings
15
15
 
16
16
  fmt:
17
17
  cargo fmt
zoomcli-0.2.3/PKG-INFO ADDED
@@ -0,0 +1,204 @@
1
+ Metadata-Version: 2.4
2
+ Name: zoomcli
3
+ Version: 0.2.3
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Environment :: Console
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: Intended Audience :: System Administrators
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Rust
12
+ Classifier: Topic :: Communications :: Conferencing
13
+ Summary: Agent-friendly CLI for the Zoom API
14
+ Home-Page: https://github.com/rvben/zoom-cli
15
+ Author-email: "Ruben J. Jongejan" <ruben.jongejan@gmail.com>
16
+ License: MIT
17
+ Requires-Python: >=3.8
18
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
19
+ Project-URL: Homepage, https://github.com/rvben/zoom-cli
20
+ Project-URL: Repository, https://github.com/rvben/zoom-cli.git
21
+
22
+ [![CI](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml)
23
+ [![Crates.io](https://img.shields.io/crates/v/zoom-cli.svg)](https://crates.io/crates/zoom-cli)
24
+ [![PyPI](https://img.shields.io/pypi/v/zoom-cli.svg)](https://pypi.org/project/zoom-cli/)
25
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
26
+ [![codecov](https://codecov.io/gh/rvben/zoom-cli/graph/badge.svg)](https://codecov.io/gh/rvben/zoom-cli)
27
+
28
+ # zoom-cli
29
+
30
+ A command-line interface for the [Zoom API](https://developers.zoom.us/docs/api/) -- manage meetings, recordings, users, webinars, and reports from your terminal.
31
+
32
+ ## Install
33
+
34
+ ```bash
35
+ # From crates.io
36
+ cargo install zoom-cli
37
+
38
+ # From PyPI (pre-built binaries, no Rust toolchain needed)
39
+ pip install zoom-cli
40
+
41
+ # From GitHub Releases (Linux, macOS)
42
+ curl -fsSL https://github.com/rvben/zoom-cli/releases/latest/download/zoom-$(uname -m)-unknown-linux-gnu.tar.gz | tar xz
43
+ ```
44
+
45
+ ## Quick Start
46
+
47
+ ```bash
48
+ # Interactive setup (creates config with your Zoom OAuth credentials)
49
+ zoom init
50
+
51
+ # List your upcoming meetings
52
+ zoom meetings list
53
+
54
+ # Create a meeting
55
+ zoom meetings create --topic "Standup" --duration 30
56
+
57
+ # List cloud recordings from a date range
58
+ zoom recordings list --from 2026-01-01
59
+
60
+ # Get current user info
61
+ zoom users me
62
+ ```
63
+
64
+ ## Configuration
65
+
66
+ ### Config file
67
+
68
+ `~/.config/zoom-cli/config.toml`
69
+
70
+ ```toml
71
+ [default]
72
+ account_id = "YOUR_ACCOUNT_ID"
73
+ client_id = "YOUR_CLIENT_ID"
74
+ client_secret = "YOUR_CLIENT_SECRET"
75
+
76
+ [work]
77
+ account_id = "..."
78
+ client_id = "..."
79
+ client_secret = "..."
80
+ ```
81
+
82
+ Requires a [Zoom Server-to-Server OAuth app](https://marketplace.zoom.us/develop/create).
83
+
84
+ ### Environment variables
85
+
86
+ | Variable | Description |
87
+ |---|---|
88
+ | `ZOOM_ACCOUNT_ID` | OAuth account ID |
89
+ | `ZOOM_CLIENT_ID` | OAuth client ID |
90
+ | `ZOOM_CLIENT_SECRET` | OAuth client secret |
91
+ | `ZOOM_PROFILE` | Active profile name (default: `default`) |
92
+
93
+ ### Precedence
94
+
95
+ CLI flags > environment variables > config file
96
+
97
+ ## Commands
98
+
99
+ ### Meetings
100
+
101
+ | Command | Description |
102
+ |---------|-------------|
103
+ | `zoom meetings list [--user <id>] [--type <t>]` | List meetings for a user |
104
+ | `zoom meetings get <id>` | Get meeting details |
105
+ | `zoom meetings create --topic <t> [--duration <m>] [--start <dt>] [--password <p>]` | Create a meeting |
106
+ | `zoom meetings update <id> [--topic <t>] [--duration <m>] [--start <dt>]` | Update a meeting |
107
+ | `zoom meetings delete <id>` | Delete a meeting |
108
+ | `zoom meetings end <id>` | End a live meeting |
109
+ | `zoom meetings participants <id>` | List past meeting participants |
110
+ | `zoom meetings invite <id>` | Get meeting invitation text |
111
+
112
+ ### Recordings
113
+
114
+ | Command | Description |
115
+ |---------|-------------|
116
+ | `zoom recordings list [--user <id>] [--from <date>] [--to <date>]` | List cloud recordings |
117
+ | `zoom recordings get <meeting_id>` | Get recording details |
118
+ | `zoom recordings download <meeting_id> [--out <dir>]` | Download recording files |
119
+ | `zoom recordings delete <meeting_id> [--permanent]` | Delete cloud recordings |
120
+ | `zoom recordings start <meeting_id>` | Start recording a live meeting |
121
+ | `zoom recordings stop <meeting_id>` | Stop recording |
122
+ | `zoom recordings pause <meeting_id>` | Pause recording |
123
+ | `zoom recordings resume <meeting_id>` | Resume recording |
124
+ | `zoom recordings transcript <meeting_id> [--out <dir>]` | Download transcript files |
125
+
126
+ ### Users
127
+
128
+ | Command | Description |
129
+ |---------|-------------|
130
+ | `zoom users list [--status <s>]` | List account users |
131
+ | `zoom users get <id_or_email>` | Get user details |
132
+ | `zoom users me` | Get current user |
133
+ | `zoom users create --email <e> [--first-name <n>] [--last-name <n>] [--type <t>]` | Create a user |
134
+ | `zoom users deactivate <id_or_email>` | Deactivate a user |
135
+ | `zoom users activate <id_or_email>` | Reactivate a user |
136
+
137
+ ### Webinars
138
+
139
+ | Command | Description |
140
+ |---------|-------------|
141
+ | `zoom webinars list [--user <id>]` | List webinars |
142
+ | `zoom webinars get <id>` | Get webinar details |
143
+
144
+ ### Reports
145
+
146
+ | Command | Description |
147
+ |---------|-------------|
148
+ | `zoom reports meetings --from <date> [--to <date>] [--user <id>]` | Meeting summary report |
149
+ | `zoom reports participants <meeting_id>` | Participant report for a past meeting |
150
+
151
+ ### Configuration & Setup
152
+
153
+ | Command | Description |
154
+ |---------|-------------|
155
+ | `zoom init [--profile <name>]` | Set up credentials interactively |
156
+ | `zoom config show` | Show current configuration |
157
+ | `zoom config delete <profile> [--force]` | Delete a profile |
158
+ | `zoom schema <resource>` | Print field reference for a resource (meetings, recordings, users, reports, webinars) |
159
+ | `zoom completions <shell>` | Generate shell completions (bash, zsh, fish, elvish, powershell) |
160
+
161
+ ## Shell Completions
162
+
163
+ ```bash
164
+ # zsh
165
+ zoom completions zsh > ~/.zsh/completions/_zoom
166
+
167
+ # bash
168
+ zoom completions bash > /etc/bash_completion.d/zoom
169
+
170
+ # fish
171
+ zoom completions fish > ~/.config/fish/completions/zoom.fish
172
+ ```
173
+
174
+ ## Agent Integration
175
+
176
+ ### JSON output
177
+
178
+ JSON output is automatic when stdout is not a TTY, or forced with `--json`. Data goes to stdout, messages to stderr.
179
+
180
+ ```bash
181
+ zoom meetings list --json | jq '.[].topic'
182
+ ```
183
+
184
+ ### Schema introspection
185
+
186
+ ```bash
187
+ zoom schema meetings | jq '.fields'
188
+ ```
189
+
190
+ The `schema` command outputs a JSON description of resource fields and types -- enabling AI agents to discover operations without parsing help text.
191
+
192
+ ### Exit codes
193
+
194
+ | Code | Meaning |
195
+ |------|---------|
196
+ | `0` | Success |
197
+ | `1` | General error |
198
+ | `2` | Auth or config error |
199
+ | `3` | Not found |
200
+
201
+ ## License
202
+
203
+ MIT
204
+
@@ -0,0 +1,182 @@
1
+ [![CI](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml/badge.svg)](https://github.com/rvben/zoom-cli/actions/workflows/ci.yml)
2
+ [![Crates.io](https://img.shields.io/crates/v/zoom-cli.svg)](https://crates.io/crates/zoom-cli)
3
+ [![PyPI](https://img.shields.io/pypi/v/zoom-cli.svg)](https://pypi.org/project/zoom-cli/)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
5
+ [![codecov](https://codecov.io/gh/rvben/zoom-cli/graph/badge.svg)](https://codecov.io/gh/rvben/zoom-cli)
6
+
7
+ # zoom-cli
8
+
9
+ A command-line interface for the [Zoom API](https://developers.zoom.us/docs/api/) -- manage meetings, recordings, users, webinars, and reports from your terminal.
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ # From crates.io
15
+ cargo install zoom-cli
16
+
17
+ # From PyPI (pre-built binaries, no Rust toolchain needed)
18
+ pip install zoom-cli
19
+
20
+ # From GitHub Releases (Linux, macOS)
21
+ curl -fsSL https://github.com/rvben/zoom-cli/releases/latest/download/zoom-$(uname -m)-unknown-linux-gnu.tar.gz | tar xz
22
+ ```
23
+
24
+ ## Quick Start
25
+
26
+ ```bash
27
+ # Interactive setup (creates config with your Zoom OAuth credentials)
28
+ zoom init
29
+
30
+ # List your upcoming meetings
31
+ zoom meetings list
32
+
33
+ # Create a meeting
34
+ zoom meetings create --topic "Standup" --duration 30
35
+
36
+ # List cloud recordings from a date range
37
+ zoom recordings list --from 2026-01-01
38
+
39
+ # Get current user info
40
+ zoom users me
41
+ ```
42
+
43
+ ## Configuration
44
+
45
+ ### Config file
46
+
47
+ `~/.config/zoom-cli/config.toml`
48
+
49
+ ```toml
50
+ [default]
51
+ account_id = "YOUR_ACCOUNT_ID"
52
+ client_id = "YOUR_CLIENT_ID"
53
+ client_secret = "YOUR_CLIENT_SECRET"
54
+
55
+ [work]
56
+ account_id = "..."
57
+ client_id = "..."
58
+ client_secret = "..."
59
+ ```
60
+
61
+ Requires a [Zoom Server-to-Server OAuth app](https://marketplace.zoom.us/develop/create).
62
+
63
+ ### Environment variables
64
+
65
+ | Variable | Description |
66
+ |---|---|
67
+ | `ZOOM_ACCOUNT_ID` | OAuth account ID |
68
+ | `ZOOM_CLIENT_ID` | OAuth client ID |
69
+ | `ZOOM_CLIENT_SECRET` | OAuth client secret |
70
+ | `ZOOM_PROFILE` | Active profile name (default: `default`) |
71
+
72
+ ### Precedence
73
+
74
+ CLI flags > environment variables > config file
75
+
76
+ ## Commands
77
+
78
+ ### Meetings
79
+
80
+ | Command | Description |
81
+ |---------|-------------|
82
+ | `zoom meetings list [--user <id>] [--type <t>]` | List meetings for a user |
83
+ | `zoom meetings get <id>` | Get meeting details |
84
+ | `zoom meetings create --topic <t> [--duration <m>] [--start <dt>] [--password <p>]` | Create a meeting |
85
+ | `zoom meetings update <id> [--topic <t>] [--duration <m>] [--start <dt>]` | Update a meeting |
86
+ | `zoom meetings delete <id>` | Delete a meeting |
87
+ | `zoom meetings end <id>` | End a live meeting |
88
+ | `zoom meetings participants <id>` | List past meeting participants |
89
+ | `zoom meetings invite <id>` | Get meeting invitation text |
90
+
91
+ ### Recordings
92
+
93
+ | Command | Description |
94
+ |---------|-------------|
95
+ | `zoom recordings list [--user <id>] [--from <date>] [--to <date>]` | List cloud recordings |
96
+ | `zoom recordings get <meeting_id>` | Get recording details |
97
+ | `zoom recordings download <meeting_id> [--out <dir>]` | Download recording files |
98
+ | `zoom recordings delete <meeting_id> [--permanent]` | Delete cloud recordings |
99
+ | `zoom recordings start <meeting_id>` | Start recording a live meeting |
100
+ | `zoom recordings stop <meeting_id>` | Stop recording |
101
+ | `zoom recordings pause <meeting_id>` | Pause recording |
102
+ | `zoom recordings resume <meeting_id>` | Resume recording |
103
+ | `zoom recordings transcript <meeting_id> [--out <dir>]` | Download transcript files |
104
+
105
+ ### Users
106
+
107
+ | Command | Description |
108
+ |---------|-------------|
109
+ | `zoom users list [--status <s>]` | List account users |
110
+ | `zoom users get <id_or_email>` | Get user details |
111
+ | `zoom users me` | Get current user |
112
+ | `zoom users create --email <e> [--first-name <n>] [--last-name <n>] [--type <t>]` | Create a user |
113
+ | `zoom users deactivate <id_or_email>` | Deactivate a user |
114
+ | `zoom users activate <id_or_email>` | Reactivate a user |
115
+
116
+ ### Webinars
117
+
118
+ | Command | Description |
119
+ |---------|-------------|
120
+ | `zoom webinars list [--user <id>]` | List webinars |
121
+ | `zoom webinars get <id>` | Get webinar details |
122
+
123
+ ### Reports
124
+
125
+ | Command | Description |
126
+ |---------|-------------|
127
+ | `zoom reports meetings --from <date> [--to <date>] [--user <id>]` | Meeting summary report |
128
+ | `zoom reports participants <meeting_id>` | Participant report for a past meeting |
129
+
130
+ ### Configuration & Setup
131
+
132
+ | Command | Description |
133
+ |---------|-------------|
134
+ | `zoom init [--profile <name>]` | Set up credentials interactively |
135
+ | `zoom config show` | Show current configuration |
136
+ | `zoom config delete <profile> [--force]` | Delete a profile |
137
+ | `zoom schema <resource>` | Print field reference for a resource (meetings, recordings, users, reports, webinars) |
138
+ | `zoom completions <shell>` | Generate shell completions (bash, zsh, fish, elvish, powershell) |
139
+
140
+ ## Shell Completions
141
+
142
+ ```bash
143
+ # zsh
144
+ zoom completions zsh > ~/.zsh/completions/_zoom
145
+
146
+ # bash
147
+ zoom completions bash > /etc/bash_completion.d/zoom
148
+
149
+ # fish
150
+ zoom completions fish > ~/.config/fish/completions/zoom.fish
151
+ ```
152
+
153
+ ## Agent Integration
154
+
155
+ ### JSON output
156
+
157
+ JSON output is automatic when stdout is not a TTY, or forced with `--json`. Data goes to stdout, messages to stderr.
158
+
159
+ ```bash
160
+ zoom meetings list --json | jq '.[].topic'
161
+ ```
162
+
163
+ ### Schema introspection
164
+
165
+ ```bash
166
+ zoom schema meetings | jq '.fields'
167
+ ```
168
+
169
+ The `schema` command outputs a JSON description of resource fields and types -- enabling AI agents to discover operations without parsing help text.
170
+
171
+ ### Exit codes
172
+
173
+ | Code | Meaning |
174
+ |------|---------|
175
+ | `0` | Success |
176
+ | `1` | General error |
177
+ | `2` | Auth or config error |
178
+ | `3` | Not found |
179
+
180
+ ## License
181
+
182
+ MIT
@@ -0,0 +1,36 @@
1
+ #:schema: https://www.schemastore.org/prek.json
2
+
3
+ [[repos]]
4
+ repo = "builtin"
5
+ hooks = [
6
+ { id = "trailing-whitespace" },
7
+ { id = "end-of-file-fixer" },
8
+ { id = "check-added-large-files" },
9
+ ]
10
+
11
+ [[repos]]
12
+ repo = "local"
13
+ [[repos.hooks]]
14
+ id = "cargo-fmt"
15
+ name = "cargo fmt"
16
+ entry = "cargo fmt -- --check"
17
+ language = "system"
18
+ types = ["rust"]
19
+ pass_filenames = false
20
+
21
+ [[repos.hooks]]
22
+ id = "cargo-clippy"
23
+ name = "cargo clippy"
24
+ entry = "cargo clippy -- -D warnings"
25
+ language = "system"
26
+ types = ["rust"]
27
+ pass_filenames = false
28
+
29
+ [[repos.hooks]]
30
+ id = "cargo-test"
31
+ name = "cargo test"
32
+ entry = "cargo test"
33
+ language = "system"
34
+ types = ["rust"]
35
+ pass_filenames = false
36
+ stages = ["pre-push"]
zoomcli-0.2.1/PKG-INFO DELETED
@@ -1,64 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: zoomcli
3
- Version: 0.2.1
4
- Classifier: Development Status :: 3 - Alpha
5
- Classifier: Environment :: Console
6
- Classifier: Intended Audience :: Developers
7
- Classifier: Intended Audience :: System Administrators
8
- Classifier: License :: OSI Approved :: MIT License
9
- Classifier: Operating System :: OS Independent
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Rust
12
- Classifier: Topic :: Communications :: Conferencing
13
- Summary: Agent-friendly CLI for the Zoom API
14
- Home-Page: https://github.com/rvben/zoom-cli
15
- Author-email: "Ruben J. Jongejan" <ruben.jongejan@gmail.com>
16
- License: MIT
17
- Requires-Python: >=3.8
18
- Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
19
- Project-URL: Homepage, https://github.com/rvben/zoom-cli
20
- Project-URL: Repository, https://github.com/rvben/zoom-cli.git
21
-
22
- # zoom-cli
23
-
24
- Agent-friendly CLI for the Zoom API with JSON output, structured exit codes, and schema introspection.
25
-
26
- ## Installation
27
-
28
- ```bash
29
- # via cargo
30
- cargo install zoom-cli
31
-
32
- # via pip
33
- pip install zoom-cli
34
- ```
35
-
36
- ## Configuration
37
-
38
- Run `zoom init` to set up credentials interactively, or create `~/.config/zoom-cli/config.toml`:
39
-
40
- ```toml
41
- [default]
42
- account_id = "YOUR_ACCOUNT_ID"
43
- client_id = "YOUR_CLIENT_ID"
44
- client_secret = "YOUR_CLIENT_SECRET"
45
- ```
46
-
47
- Requires a [Zoom Server-to-Server OAuth app](https://marketplace.zoom.us/develop/create).
48
-
49
- ## Usage
50
-
51
- ```
52
- zoom meetings list
53
- zoom meetings get <id>
54
- zoom meetings create --topic "Standup" --duration 30
55
- zoom recordings list --from 2026-01-01
56
- zoom users me
57
- zoom reports meetings --from 2026-01-01
58
- zoom init
59
- ```
60
-
61
- ## License
62
-
63
- MIT
64
-
zoomcli-0.2.1/README.md DELETED
@@ -1,42 +0,0 @@
1
- # zoom-cli
2
-
3
- Agent-friendly CLI for the Zoom API with JSON output, structured exit codes, and schema introspection.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- # via cargo
9
- cargo install zoom-cli
10
-
11
- # via pip
12
- pip install zoom-cli
13
- ```
14
-
15
- ## Configuration
16
-
17
- Run `zoom init` to set up credentials interactively, or create `~/.config/zoom-cli/config.toml`:
18
-
19
- ```toml
20
- [default]
21
- account_id = "YOUR_ACCOUNT_ID"
22
- client_id = "YOUR_CLIENT_ID"
23
- client_secret = "YOUR_CLIENT_SECRET"
24
- ```
25
-
26
- Requires a [Zoom Server-to-Server OAuth app](https://marketplace.zoom.us/develop/create).
27
-
28
- ## Usage
29
-
30
- ```
31
- zoom meetings list
32
- zoom meetings get <id>
33
- zoom meetings create --topic "Standup" --duration 30
34
- zoom recordings list --from 2026-01-01
35
- zoom users me
36
- zoom reports meetings --from 2026-01-01
37
- zoom init
38
- ```
39
-
40
- ## License
41
-
42
- MIT
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes