Skip to main content

Python CLI for wx-ipad automation.

Project description

wxflywheel

Python CLI for wx-ipad automation.

Install

Requirement: Python 3.10+

Published package:

pip install wxflywheel

Local development:

cd cli
make install-dev

Authentication

export WXFLYWHEEL_KEY=your-api-key
export WXFLYWHEEL_HOST=http://host:8011

WXFLYWHEEL_KEY is required for API commands. Help output never requires a key.

Usage

wxflywheel --help
wxflywheel login --help
wxflywheel login status
wxflywheel related aggregate --keyword "社群运营"
wxflywheel search related --seed "社群运营"
wxflywheel wxindex related --keyword "社群运营"
python -m wxflywheel login status

Current Command Surface

Curated commands are intentionally published one by one. The current public command surface is:

  • wxflywheel login status
  • wxflywheel related aggregate --keyword "<关键词>"
  • wxflywheel search related --seed "<种子词>"
  • wxflywheel wxindex related --keyword "<关键词>"

Output Contract

Command execution emits JSON. Help output remains plain text.

  • Success: stdout, exit code 0
  • Command/runtime errors: stderr, exit code 1
  • Click argument errors: stderr, exit code 2

Schema:

{
  "code": 200,
  "data": {},
  "message": ""
}

Adding a Command Module

Curated commands are intentionally added one by one. Do not expose a backend route directly just because it exists.

Minimum standard for a new curated command:

  • One command maps to one stable user intent.
  • Read-only commands are preferred by default.
  • State-changing behavior must be explicit in the command name or behind an opt-in flag.
  • Output must stay on the standard code/data/message schema.
  • Command logic must use shared helpers from src/wxflywheel/commands/common.py.
  • Every new command must ship with tests before registration.

Workflow:

  1. Copy src/wxflywheel/commands/_template.py.
  2. Replace module/action names and API parameters.
  3. Add focused tests under tests.
  4. Register the command in src/wxflywheel/cli.py.
  5. Run the release checks before merging.

Release Checks

Repeatable release verification now lives in Makefile:

make release-check

This runs:

  • ruff
  • mypy
  • pytest
  • wheel/sdist build
  • twine check
  • editable-command help smoke
  • built-wheel install smoke
  • package rebuild from a clean dist/ / build/ state

The built package ships py.typed, so installed type checkers can treat wxflywheel as a typed package.

Optional live smoke against a real service:

export WXFLYWHEEL_HOST=http://host:8011
export WXFLYWHEEL_KEY=your-api-key
make smoke-live

Development

make install-dev
make release-check

Release Management

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

wxflywheel-0.2.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

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

wxflywheel-0.2.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file wxflywheel-0.2.0.tar.gz.

File metadata

  • Download URL: wxflywheel-0.2.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wxflywheel-0.2.0.tar.gz
Algorithm Hash digest
SHA256 27aacae5cefd2907953b9bf388c0abcec40779aa70c1455aa9eec568add0f0b0
MD5 1cd3e91fbafd9c47286bd4e1fea1ac4f
BLAKE2b-256 09f08f0694a86a1b99919543b77ffeab9bb326edcebc8aa5b1f08d72909d7548

See more details on using hashes here.

Provenance

The following attestation bundles were made for wxflywheel-0.2.0.tar.gz:

Publisher: wxflywheel-release.yml on vinsew/weixin

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

File details

Details for the file wxflywheel-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: wxflywheel-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wxflywheel-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f91e1fc1f8bff36237f242fd744c81bee28f39dd626b80268ceb656be625971
MD5 ba7f54239fa8caceb4806e87af5231de
BLAKE2b-256 1646c2925af1f537010ef9776e8b9582527e30f85c6a6a52474c6cfddc88b250

See more details on using hashes here.

Provenance

The following attestation bundles were made for wxflywheel-0.2.0-py3-none-any.whl:

Publisher: wxflywheel-release.yml on vinsew/weixin

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