Skip to main content

this_file: README.md

Virginia Clemm Poe

PyPI version Python Support License: Apache 2.0

A Python package for accessing Poe.com model data and pricing information.

Overview

Virginia Clemm Poe fetches and maintains Poe.com model data including pricing. It provides both a Python API for querying model data and a CLI for updating the dataset.

This link points to a static copy of the data file updated by the CLI tool. It does not reflect real-time changes from Poe's API.

Features

  • Model Data Access: Query Poe.com models by ID, name, or other attributes
  • Vendor Discovery: Include bots from 28 curated Poe vendor profiles, alongside the API catalog
  • Bot Information: Retrieve bot creator, description, and metadata
  • Pricing Information: Scrape and sync pricing data for all models
  • Pydantic Models: Typed data models for easy integration
  • CLI Interface: Fire-based command line tool for data management
  • Browser Automation: PlaywrightAuthor with Chrome for Testing
  • Session Reuse: Reuse authenticated browser sessions across runs

Vendor handles are packaged in src/virginia_clemm_poe/data/good_vendors.txt. Every update scrolls each vendor's Created list and scrapes discovered bots through the normal info/pricing flow. vendor_profile records where a bot was discovered. API metadata wins for matching bots; website-only bots have no API pricing or API update timestamp, a null creation time, and empty modalities until known. Failed or incomplete profiles retain existing bots and report a warning. Forced updates also retain this recovery data. Website rates do not prove API availability or cost. See issue 330 verification for dated live evidence.

The interactive catalogue opens cheapest first. Website prices are parsed from every rendered table, raw Markdown rate cards, and explicit prose rates. Numeric records retain both currencies, units, ranges, and sources; failed refreshes retain dated observations. Comparison prefers disclosed points per message/image; otherwise it uses 1,000 total tokens (500 input + 500 output), 4,000 characters, one 1024×1024 image or 10 seconds of video. Dollar-only costs use a labelled estimate from matched points/dollar observations. Every bot has a tier from 0 (explicitly free in both currencies) to 9 (unknown). Filter by output Modality, Creator and Tier. Model pages retain original rates and show the estimate and assumptions. See the pricing method.

Documentation uses MaterialX with the shared FontLab theme 2026 assets and native navigation/search, without FontLab's global menu or footer. To rebuild without rescraping: uv sync --locked, then uv run python src_docs/update_docs.py (Node 22+ is also required). Generated site JSON adds point_estimate, pricing_tier, and conversion metadata; the packaged source observations remain unchanged.

Installation

pip install virginia-clemm-poe

Quick Start

Python API

from virginia_clemm_poe import api

# Search for models
models = api.search_bots("claude")
for model in models:
    print(f"{model.id}: {model.get_primary_cost()}")

# Get model by ID
model = api.get_bot_by_id("claude-3-opus")
if model and model.pricing:
    print(f"Cost: {model.get_primary_cost()}")
    if model.pricing.scraped:
        print(f"Updated: {model.pricing.scraped.checked_at}")

# Get all models with pricing
priced_models = api.get_bots_with_pricing()
print(f"Found {len(priced_models)} models with pricing")

Browser identity and unattended commands

Commands default to Chrome for Testing, profile poe-primary, mode auto. Auto runs headlessly and raises AUTH_REQUIRED (exit 3) when a fresh Poe settings probe cannot verify authorization. Only explicit login / balance --login opens an interactive browser; it leaves OAuth redirects, popups and MFA to you.

virginia-clemm-poe login --browser-engine=chrome --browser-profile=poe-primary
virginia-clemm-poe balance --browser-engine=chrome --browser-profile=poe-primary
virginia-clemm-poe update --browser-mode=auto

Use --browser-engine=chromium or firefox for installed Playwright browsers; profiles are separate per engine. VCP_BROWSER_ENGINE, VCP_BROWSER_PROFILE, VCP_BROWSER_MODE, and VCP_BROWSER_EXECUTABLE_PATH provide defaults, overridden by command flags. --browser-executable=PATH selects an installed CfT binary. A session-capable PlaywrightAuthor is required; older installations return ENGINE_UNAVAILABLE instead of opening a fallback window. Local development can install the paired checkout with uv pip install -e ../playwrightauthor.

Browser pools share one authorized context and create one tab per task. HTTP cookie exports and balance caches are separate, private and scoped to the same engine/profile. Exports are never injected into another browser identity. logout clears that HTTP export/cache; persistent browser sign-in is retained. Existing browser profiles and legacy unscoped exports are not migrated. See issue 340 verification for tested scope.

Command Line Interface

# Set up browser for web scraping
virginia-clemm-poe setup

# Update model data (bot info + pricing) - default behavior
export POE_API_KEY=your_api_key
virginia-clemm-poe update

# Update only bot info (creator, description)
virginia-clemm-poe update --info

# Update only pricing information
virginia-clemm-poe update --pricing

# Force update all data
virginia-clemm-poe update --force

# Search for models
virginia-clemm-poe search "gpt-4"

# Search with bot info displayed
virginia-clemm-poe search "claude" --show-bot-info

# List all models with summary
virginia-clemm-poe list

# List only models with pricing
virginia-clemm-poe list --with-pricing

Use virginia-clemm-poe COMMAND --help for current command options.

Data and API reference

The packaged dataset is src/virginia_clemm_poe/data/poe_bots.json. api.get_all_bots(), api.get_bot_by_id(), api.search_bots(), and api.get_bots_with_pricing() include API and vendor-discovered entries after an update. Call api.reload_bots() to reload persisted changes.

PoeBot.pricing.api holds USD API rates; PoeBot.pricing.scraped holds website rates and their check timestamp. These are separate evidence sources. For full usage and data-model documentation, see docs and the documentation source.

Development

uv sync
./test.sh
uv build

test.sh runs all regression tests and checks discovery coverage separately. uvx hatch test also applies the configured repository-wide 85% coverage gate; that broader target currently exceeds measured coverage. See WORK.md for exact results and CONTRIBUTING.md for development guidance.

Author and licence

Adam Twardoch. Licensed under Apache 2.0.

Metadata

Release files for virginia-clemm-poe 1.0.38

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for virginia-clemm-poe 1.0.38
File Size Uploaded Provenance
virginia_clemm_poe-1.0.38.tar.gz 891.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for virginia-clemm-poe 1.0.38
File Interpreter ABI Platform
virginia_clemm_poe-1.0.38-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / virginia_clemm_poe-1.0.38.tar.gz

Download URL virginia_clemm_poe-1.0.38.tar.gz
Size 891.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fae7238302605479ea43cc11f62cd0a4ec9142a5cbc093fa992a5153b46f89e5
BLAKE2b-256 checksum
How to use checksums
0ae3adc5c15566e74377b6aadee51f5f4be0ec6f8dfef7485de2e971cf85f8a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / virginia_clemm_poe-1.0.38-py3-none-any.whl

Download URL virginia_clemm_poe-1.0.38-py3-none-any.whl
Size 280.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2754faa7275272658578fe2bb7d318dfdf710798fdb780fc87d9e378c17b9aeb
BLAKE2b-256 checksum
How to use checksums
a1c53707b441440a01c1d5eba0bda49e502f22970203de6e0073dc53e9941294
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for virginia-clemm-poe 1.0.38

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page