this_file: README.md
Virginia Clemm Poe
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| virginia_clemm_poe-1.0.38.tar.gz | 891.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.