Skip to main content

A professional CLI for managing Bittensor subnet pool operations

Project description

🌊 poolcli

A command-line interface for managing Bittensor subnet pool operations. poolcli simplifies wallet authentication, developer key management, and pool administration through an intuitive CLI.

Features

  • Wallet Authentication: Seamless Bittensor wallet integration with secure token management
  • Developer Key Management: Create, list, and manage developer keys with invoice tracking
  • Pool Management: Create, list, and inspect subnet pools
  • Session Management: Automatic token caching and re-authentication support

Installation

pip install poolcli
or
uv add poolcli

Or install from source:

git clone <repository-url>
cd poolcli
pip install -e .

Requirements

  • Python 3.10+

Quick Start

1. Authenticate

poolcli auth login --wallet-name my_wallet

You'll be prompted for your hotkey (defaults to "default" if not specified).

2. View Your Wallets

poolcli wallet list

This displays all available coldkeys and their associated hotkeys with addresses.

3. Create a Developer Key

poolcli key create --wallet-name my_wallet

This command will:

  • Authenticate with your wallet
  • Create an invoice for a developer key
  • Prompt for payment in TAO
  • Optionally create a pool after successful payment

4. Create a Pool

poolcli pool create --wallet-name my_wallet

5. View Your Pools

poolcli pool list --wallet-name my_wallet

Command Reference

Authentication (auth)

Manage authentication and sessions.

poolcli auth login

Authenticate with your Bittensor wallet.

poolcli auth login \
  --wallet-name my_wallet \
  --hotkey default \
  --force  # Force re-authentication

Options:

  • --wallet-name (required): Your Bittensor wallet name
  • --hotkey: Hotkey name (defaults to "default")
  • --backend-url: Backend API URL
  • --force: Force re-authentication even if a valid session exists

poolcli auth status

Check your current authentication status.

poolcli auth status --wallet-name my_wallet

poolcli auth logout

Clear all stored authentication tokens.

poolcli auth logout

Key Management (key)

Manage developer keys and invoices.

poolcli key create

Create a new developer key invoice and optionally proceed with payment.

poolcli key create \
  --wallet-name my_wallet \
  --hotkey default \

Options:

  • --wallet-name (required): Your Bittensor wallet name
  • --hotkey: Hotkey to use for the key (defaults to "default")
  • --backend-url: Backend API URL
  • --force: Force re-authentication

poolcli key list

List all developer keys for your wallet.

poolcli key list \
  --wallet-name my_wallet \
  --page 1 \
  --limit 15 \
  --status active

Options:

  • --wallet-name (required): Your Bittensor wallet name
  • --page: Page number for pagination (default: 1)
  • --limit: Number of keys per page (default: 15)
  • --status: Filter by status: active, expired, or unused
  • --backend-url: Backend API URL

poolcli key invoice get

Check the status of a specific invoice.

poolcli key invoice get <invoice-id> --wallet-name my_wallet

Arguments:

  • invoice-id: The invoice ID to check

Options:

  • --wallet-name (required): Your Bittensor wallet name
  • --backend-url: Backend API URL

Pool Management (pool)

Manage your Bittensor subnet pools.

poolcli pool create

Create a new pool for your wallet.

poolcli pool create \
  --wallet-name my_wallet \
  --hotkey default \

Options:

  • --wallet-name (required): Your Bittensor wallet name
  • --hotkey: Hotkey to use for the pool (defaults to "default")
  • --backend-url: Backend API URL
  • --force: Force re-authentication

poolcli pool list

List all pools for your wallet.

poolcli pool list \
  --wallet-name my_wallet \
  --page 1 \
  --limit 15

Options:

  • --wallet-name (required): Your Bittensor wallet name
  • --page: Page number for pagination (default: 1)
  • --limit: Number of pools per page (default: 15)
  • --backend-url: Backend API URL
  • --force: Force re-authentication

poolcli pool show

View detailed information about a specific pool.

poolcli pool show <pool-id> --wallet-name my_wallet

Arguments:

  • pool-id: The pool ID to inspect

Options:

  • --wallet-name (required): Your Bittensor wallet name
  • --backend-url: Backend API URL

Wallet Management (wallet)

Inspect your Bittensor wallets.

poolcli wallet list

Display all available coldkeys and their associated hotkeys with addresses.

poolcli wallet list

This command scans your wallet directory and displays public key information (no password required).

Global Options

poolcli --version      # Show version and exit
poolcli --commands     # Show all available commands and exit
poolcli --help         # Show help message and exit

Wallet Storage

Bittensor wallets are typically stored in ~/.bittensor/wallets/. The wallet list command reads from this directory.

Common Workflows

Complete Setup Workflow

# 1. View available wallets
poolcli wallet list

# 2. Authenticate
poolcli auth login --wallet-name my_wallet

# 3. Create a developer key
poolcli key create --wallet-name my_wallet

# 4. Check key status
poolcli key list --wallet-name my_wallet --status active

# 5. Create a pool
poolcli pool create --wallet-name my_wallet

# 6. View your pools
poolcli pool list --wallet-name my_wallet

Check Invoice Status

# Create invoice
poolcli key create --wallet-name my_wallet

# Check status later
poolcli key invoice get <invoice-id> --wallet-name my_wallet

Development

Installation for Development

git clone <repository-url>
cd poolcli
pip install -e ".[dev]"

License

GNU GENERAL PUBLIC LICENSE Version 2

Support

For issues, questions, or contributions, please create issue in github.

See Also

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

poolcli-1.0.0.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

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

poolcli-1.0.0-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

File details

Details for the file poolcli-1.0.0.tar.gz.

File metadata

  • Download URL: poolcli-1.0.0.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for poolcli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 40e2a16e72e1d44c92a50925732d2686d61f0774bc60b37540f724138912b0bb
MD5 464c3aaa4bf22fd520d99e3302579d55
BLAKE2b-256 a7fd3f8c54c34352c7e641ea9836fcff01f78c54cd3f9ea3b8ec4cc4932e0753

See more details on using hashes here.

File details

Details for the file poolcli-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: poolcli-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 32.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.0

File hashes

Hashes for poolcli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d333e9f91667358ae710fe809b2d5c7406b220660e9c61ff60c31e1c29e29c6
MD5 c35f30a9b675d9dba1447d2501a7c439
BLAKE2b-256 0803dfb8246522ce6bae93ca4a0f7f2e8785397973f0a7b297e12bfeb2c7058b

See more details on using hashes here.

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