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

One-liner (Linux/macOS)

curl -fsSL https://raw.githubusercontent.com/XPOZpublic/xpoz-cli/main/install.sh | sh

Auto-detects your OS and CPU architecture, downloads the matching binary from GitHub Releases, verifies its SHA256, and drops it in ~/.local/bin/xpoz-cli. Override the install dir with XPOZ_INSTALL_DIR=/usr/local/bin, or pin a version with XPOZ_VERSION=v0.2.0.

One-liner (Windows, PowerShell)

iwr -useb https://raw.githubusercontent.com/XPOZpublic/xpoz-cli/main/install.ps1 | iex

Same idea — installs to %LOCALAPPDATA%\xpoz-cli\xpoz-cli.exe and prints the one PATH command you need to run if it isn't already on your PATH.

Homebrew (macOS / Linux)

brew tap XPOZpublic/xpoz
brew install xpoz-cli

Or in one line: brew install XPOZpublic/xpoz/xpoz-cli.

winget (Windows)

winget install Xpoz.XpozCli

(or winget install xpoz-cli once the manifest is published in microsoft/winget-pkgs).

pip (any platform with Python ≥3.10)

pip install xpoz-cli

Pulls the wheel from PyPI. Requires Python on the user's machine; the other channels above bundle Python via PyInstaller.

Manual download

Pick the asset matching your platform from the Releases page:

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

Each release also publishes SHA256SUMS for offline verification:

curl -fsSLO https://github.com/XPOZpublic/xpoz-cli/releases/latest/download/xpoz-cli-linux-amd64
curl -fsSLO https://github.com/XPOZpublic/xpoz-cli/releases/latest/download/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
chmod +x xpoz-cli-linux-amd64 && sudo mv xpoz-cli-linux-amd64 /usr/local/bin/xpoz-cli

macOS Intel is not currently shipped as a prebuilt binary — use pip install xpoz-cli instead.

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.10+.

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.3.1.tar.gz (28.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.3.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: xpoz_cli-0.3.1.tar.gz
  • Upload date:
  • Size: 28.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.3.1.tar.gz
Algorithm Hash digest
SHA256 d8a3a9a7d1fd089e6d6d947272b2781cce20a0946e2657ed5417ad3a16dc128d
MD5 28e13c855e0cf3769b17b455d35658b2
BLAKE2b-256 4d54f250c3d9dd78aaf520d21bbfc23d916f6c4fca370f9c1a399179de3fbadf

See more details on using hashes here.

Provenance

The following attestation bundles were made for xpoz_cli-0.3.1.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.3.1-py3-none-any.whl.

File metadata

  • Download URL: xpoz_cli-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 14.7 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.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d746ac07c61dbf41004a230e76393cb6b500ddfaff12ea3868f50ace06a9056
MD5 137c66f3641930b987c90e82e2bf73f0
BLAKE2b-256 6a622cd3dbcbe4ab575921097d8487d6b9d37b992b615a403b8945840f9e528b

See more details on using hashes here.

Provenance

The following attestation bundles were made for xpoz_cli-0.3.1-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