Skip to main content

Standalone CLI wrapper around the xpoz Python SDK.

Project description

xpoz-cli

Work seamlessly with Xpoz from the command line.

A single standalone binary that wraps the Xpoz Python SDK and exposes every SDK method as a CLI subcommand — Twitter, Instagram, Reddit, TikTok, and tracking — with paginated result handling, CSV export, and persistent auth.

Install

Grab a prebuilt binary from the Releases page for your platform:

Platform Asset
Linux x86_64 xpoz-cli-linux-amd64
Linux arm64 xpoz-cli-linux-arm64
macOS Apple Silicon xpoz-cli-macos-arm64
Windows x86_64 xpoz-cli-windows-amd64.exe

macOS Intel is not currently shipped as a prebuilt binary — install from source with pip install xpoz and run python xpoz_cli.py directly, or build locally with pyinstaller --onefile xpoz_cli.py.

# macOS / Linux
curl -L -o xpoz-cli https://github.com/XPOZpublic/xpoz-cli/releases/latest/download/xpoz-cli-linux-amd64
chmod +x xpoz-cli
sudo mv xpoz-cli /usr/local/bin/

Native package-manager distribution (Homebrew, apt, winget) is planned.

Quick start

Authenticate once — your API key is stored at ~/.config/xpoz/config.json (or %APPDATA%\xpoz\config.json on Windows) with mode 0600:

xpoz-cli auth login
# Get your API key from: https://www.xpoz.ai/settings
# Open in browser? [Y/n]: y
# Paste your API key: xpz_...

xpoz-cli auth status
xpoz-cli auth logout

Then call any SDK method on any platform:

xpoz-cli twitter get_user --identifier elonmusk

xpoz-cli twitter search_posts \
    --query '"AI" AND ethics' \
    --start-date 2025-01-01 \
    --limit 20

xpoz-cli reddit search_posts \
    --query "python tutorial" \
    --subreddit learnpython \
    --sort top \
    --time month \
    --all-pages

xpoz-cli twitter search_posts --query bitcoin --export-csv-url

Discovery

The CLI is generated by reflecting on the installed SDK, so every method the SDK exposes is automatically a subcommand. Use --help at any level to explore:

xpoz-cli --help                             # global options and platforms
xpoz-cli twitter --help                     # available methods on twitter
xpoz-cli twitter search_posts --help        # flags, types, and an example

Each method's help screen shows a synthesized example built from its required parameters.

Global options

Flag Purpose
--api-key KEY Override stored key (env: XPOZ_API_KEY)
--server-url URL Custom MCP server (env: XPOZ_SERVER_URL)
--output json|pretty JSON output format (default json)
--all-pages Walk every page of a paginated result
--max-pages N Safety cap for --all-pages
--page N Jump to a specific page
--export-csv-url Return a CSV download URL instead of rows
--timeout SECS Operation timeout (default 300)

API key precedence: --api-key flag → XPOZ_API_KEY env → stored config.

Build from source

Requires Python 3.12+.

pip install xpoz pyinstaller
pyinstaller --onefile --name xpoz-cli xpoz_cli.py
./dist/xpoz-cli --help

Or run directly:

pip install xpoz
python xpoz_cli.py twitter get_user --identifier elonmusk

Releases

Multi-platform binaries are built by the build-release workflow, triggered by:

  • Git tag push (git tag v0.1.0 && git push origin v0.1.0) — builds all targets and publishes a GitHub Release.
  • Manual run via the Actions tab — same flow with a user-supplied tag and optional prerelease flag.

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xpoz_cli-0.1.5.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xpoz_cli-0.1.5-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file xpoz_cli-0.1.5.tar.gz.

File metadata

  • Download URL: xpoz_cli-0.1.5.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xpoz_cli-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f1c742479c7ee180d95a7a6357a2c70c0caab6f77aa625544f7354725b7987cc
MD5 51e9e5e95902fd00129f7f595d1d3a5e
BLAKE2b-256 cf6902ba3d4bdfd50ba40bb9f0d949008c6d1d53377c454f2e021d8b7c9a7daf

See more details on using hashes here.

Provenance

The following attestation bundles were made for xpoz_cli-0.1.5.tar.gz:

Publisher: publish.yml on XPOZpublic/xpoz-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xpoz_cli-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: xpoz_cli-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for xpoz_cli-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 99bf33e7cbc46bffa9576308d54eff4095b4a85049383946edd0c2c9cfb78dfe
MD5 1a05008a1dc48d17716d7f963336ea40
BLAKE2b-256 03e8ba505607481c98320c4c4cd6ee9af83d2130d9600aac7e365328408be36c

See more details on using hashes here.

Provenance

The following attestation bundles were made for xpoz_cli-0.1.5-py3-none-any.whl:

Publisher: publish.yml on XPOZpublic/xpoz-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page