Skip to main content

PyPI version Python versions

wxc-cli

Auto-generated CLI for wxc_sdk — every API endpoint is a command, wired up at startup by introspecting WebexSimpleApi.

Install

pip install wxc-cli

The tool does not work with Python 3.14. To install in a venv with a different Python version:

pipx install wxc-cli --python python3.13

Or from source:

git clone ...
pip install -e .

Auth

export WEBEX_ACCESS_TOKEN="your-token-here"
# or pass it per-command:
wxc-cli --token YOUR_TOKEN people list

Usage

wxc-cli --help                          # list all command groups
wxc-cli people --help                   # list people commands
wxc-cli people list --display-name Bob  # filter by name
wxc-cli people list --output json       # JSON output
wxc-cli people details --person-id Y2l… # single person
wxc-cli telephony callqueue --help      # nested sub-APIs work too

The wxc_sdk supported endpoint list serves as a reference for the available commands.

If for example the wxc_sdk reference has an endpoint api.person_settings.forwarding.read then wxc-cli supports wxc-cli person-settings forwarding read and wxc-cli person-settings forwarding read --help gives you an overview of the supported parameters.

The endpoint names in the wxc_sdk supported endpoint list are links to the actual function definitions for the respective endpoint.

For example, this is the documentation for the api.person_settings.forwarding.read endpoint which helps to understand the CLI parameters.

Note: The SDK uses snake-case names for endpoints and the CLI kebab-case names for commands.

Output formats

Every command accepts --output table (default), --output json, --output csv, or --output raw.

wxc-cli rooms list --output json | jq '.[].title'

Pydantic model inputs

Methods that take a Pydantic model (e.g. create, update) accept a --<param>-json flag:

wxc-cli people create \
  --settings-json '{"emails":["alice@example.com"],"display_name":"Alice"}'

Raw output

-o raw is clean stdout with no Rich markup, headers, or decoration.

Situation Output
--fields person_id (single field) one bare value per line — directly pipeable
--fields person_id,display_name (multiple) tab-separated, one record per line
no --fields all non-None fields, tab-separated
list[scalar] or nested model in a field JSON-encoded inline
scalar return (bool, str, int) str(value)

Typical shell patterns:

# Feed IDs into a loop
for id in $(wxc-cli people list --display-name Alice -o raw --fields person_id); do
    wxc-cli people details --person-id "$id" --calling-data -o json
done

# Extract one field with cut/awk
wxc-cli rooms list -o raw --fields title,type | awk -F'\t' '$2=="direct" {print $1}'


# xargs
wxc-cli people list --display-name Alice -o raw --fields person_id \
  | xargs -I{} wxc-cli person-settings forwarding read --entity-id {} -o json \
  | jq '.call_forwarding.always'
  
# command substitution
wxc-cli people list --calling-data --fields display_name,emails \
  --location-id $(wxc-cli locations list --name Hartford --fields location_id -o raw)

How it works

cli.py introspects WebexSimpleApi at import time:

  1. Each sub-API attribute (.people, .telephony, .rooms, …) becomes a Typer command group.
  2. Each public method becomes a command inside that group.
  3. The method's type-annotated parameters become --option flags — scalars directly, Pydantic models via --<n>-json.
  4. Generator return types (list endpoints) are consumed fully and rendered as a Rich table or JSON array.
  5. Nested sub-APIs (e.g. telephony.calls, telephony.callqueue) recurse into sub-groups automatically.

New endpoints added to wxc_sdk appear in the CLI with zero maintenance.

Shell completion

wxc-cli --install-completion   # bash / zsh / fish

Metadata

Release files for wxc-cli 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wxc-cli 0.5.1
File Size Uploaded Provenance
wxc_cli-0.5.1.tar.gz 20.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for wxc-cli 0.5.1
File Interpreter ABI Platform
wxc_cli-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 39.0 kB

Release files / wxc_cli-0.5.1.tar.gz

Download URL wxc_cli-0.5.1.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9530dcb39a4171fa176901110c0e4a9f7b501afd773d45825befd9ef527bacfd
BLAKE2b-256 checksum
How to use checksums
0428f301117b81ed4a7910d73e42aa8ed4e5e1cce48790541f40f9499b3a6c51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.2

Release files / wxc_cli-0.5.1-py3-none-any.whl

Download URL wxc_cli-0.5.1-py3-none-any.whl
Size 18.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
35358c2dad1ded2ad190ff46651b90c061d36d7cca3a91d5f1e1a6d498735c98
BLAKE2b-256 checksum
How to use checksums
7453e0274a3a434a2e766be83a8fbd713be78e3cc530c22ea98d31d20aa2b5a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.2

Security for wxc-cli 0.5.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page