Skip to main content

Command line wallet tooling built on the pollyweb library.

Project description

pollyweb-cli

pollyweb-cli provides the pw command, a small wallet-style CLI built on top of the pollyweb Python package.

It helps you:

  • create a local PollyWeb key pair
  • bind that identity to a PollyWeb-enabled domain
  • send signed shell commands to a remote domain

Install

Install the CLI globally from PyPI with pipx:

pipx install pollyweb-cli

Or install it globally with pip:

python3 -m pip install pollyweb-cli

After installation, the CLI is available as:

pw --help

To confirm which release is installed:

pw --version

For more setup details, see docs/install.md.

Quick Start

Create your local key pair:

pw config

This writes your keys to:

  • ~/.pollyweb/private.pem
  • ~/.pollyweb/public.pem

Bind your wallet to a domain:

pw bind vault.example.com

This sends a signed Bind@Vault request to https://pw.vault.example.com/inbox using the compact public-key value in the request body. The bind request now relies on PollyWeb's optional message fields, so it omits explicit From and Schema values, and stores the returned bind token in ~/.pollyweb/binds.yaml. Rebinding the same domain replaces the existing bind for that domain unless the server returns a different Schema, in which case both entries are kept.

Open an interactive shell against a domain:

pw shell vault.example.com

Each command you enter is parsed into a base Command plus an Arguments dictionary, then sent as a signed Shell@Domain message whose From header is set to the first stored bind for that domain. Long flags like --all 123 become {"all":"123"}, short flags like -a 123 become {"a":"123"}, key=value tokens like a=123 become {"a":"123"}, and plain positional arguments remain indexed as {"0":"value"}. pw shell also keeps the last 20 commands for that exact domain in ~/.pollyweb/history/, so you can use the up/down arrows to revisit recent commands. Commands are recorded before the network request is sent, which means failed requests still appear in that domain's history.

To inspect the signed shell request and response for each command as colorized, indented YAML:

pw shell --debug vault.example.com

Debugging Bind Requests

Use --debug with pw bind to print the outbound request payload and inbound response body as colorized, indented YAML:

pw bind --debug vault.example.com

This is useful when you want to inspect the exact message contents being sent or troubleshoot an unexpected server response.

Command Summary

  • pw config generates a PollyWeb key pair in ~/.pollyweb
  • pw config --force replaces an existing key pair
  • pw bind <domain> requests and stores a bind token for a domain
  • pw bind --debug <domain> shows bind request and response payloads as colorized YAML
  • pw shell <domain> starts an interactive remote shell session
  • pw shell <domain> remembers the last 20 commands per domain for arrow-key navigation
  • pw shell --debug <domain> shows shell request and response payloads as colorized YAML
  • pw --version prints the installed CLI version

For more examples and command behavior, see docs/usage.md.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pollyweb_cli-0.1.18.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

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

pollyweb_cli-0.1.18-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file pollyweb_cli-0.1.18.tar.gz.

File metadata

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

File hashes

Hashes for pollyweb_cli-0.1.18.tar.gz
Algorithm Hash digest
SHA256 5e7460d5660c546134c81fe6f1112419e61eb4081464219a8de155eac1dc1179
MD5 046ee9a43f3d49a95eaba5fc1d700928
BLAKE2b-256 8eb2284b26a8406d5c086de76debe848f1464ed664d567be265d27a8706b4fe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pollyweb_cli-0.1.18.tar.gz:

Publisher: publish.yml on pollycore/wallet-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 pollyweb_cli-0.1.18-py3-none-any.whl.

File metadata

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

File hashes

Hashes for pollyweb_cli-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 180369be8ee9f7ab0bc4cc64a0486aa9566ea7cde565e0b6164b4dd0700b9225
MD5 6850eb5e44e86d1344e48c76b9746e4b
BLAKE2b-256 a52238fbea63d84d8bbcf17746bd68345163ed8d8d680f8d70afcc8e48ac3333

See more details on using hashes here.

Provenance

The following attestation bundles were made for pollyweb_cli-0.1.18-py3-none-any.whl:

Publisher: publish.yml on pollycore/wallet-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