Skip to main content

PyPriceCharting API Client

CI Docs Security gitleaks uv Ruff Python License: MIT

PriceCharting API Client written in Python

Setup

Project supports local development and VSCode Dev container development

Local Development Installation

Note: Project uses uv and just to manage project configuration and commands

  • Install just - brew install just
  • Set up project - just setup
    • Installs Homebrew dependencies (gitleaks, just, uv, zizmor)
    • Installs prek git hooks
    • Syncs project dependencies

VS Code Dev Container

  • Install Docker
  • Install VSCode
  • Open project folder in VS Code
  • Reopen in container using Remote Development Container menu

Project Commands

  • just setup - install tools and git hooks, then sync dependencies
  • just sync - sync project dependencies
  • just build - build the sdist and wheel into dist/
  • just lint - type check (ty), lint and format (ruff), and spellcheck (codespell). Fixes files in place
  • just ci-lint - same checks as just lint, without modifying files
  • just test - run unit tests
  • just prek - run all pre-commit hooks
  • just git-leaks - scan staged changes for secrets
  • just zizmor - audit GitHub Actions workflows for security issues
  • just docs - serve the docs site locally with live reload
  • just docs-build - build the docs site into site/ in strict mode
  • uv add {package} - install a dependency

Pre-commit Hooks

prek runs these hooks on commit (configured in prek.toml):

  • Built-in checks: trailing whitespace, end of file, large files, YAML, and JSON
  • just ci-lint
  • just test
  • gitleaks secret scan of staged changes

CI

See CI.md for the GitHub Actions workflows and Dependabot setup.

Documentation

The docs site is built with Zensical from mkdocs.yml and the pages in docs/. API reference pages are generated from docstrings with mkdocstrings. The docs.yml workflow deploys the site to GitHub Pages on every push to main.

Releases

Releases are published to GitHub Releases and to PyPI by the Release workflow. See RELEASE.md for how releases and release labels work.

Usage

Both clients have a method for every Prices API and Marketplace API operation.

from pypricecharting import AsyncPriceCharting, PriceCharting

with PriceCharting("<40-character API token>") as client:
    game = client.product(id="6910")
    print(game.product_name, game.cib_price)  # prices are in pennies

async with AsyncPriceCharting("<40-character API token>") as client:
    game = await client.product(q="earthbound")
    results = await client.products("chrono trigger")  # up to 20 matches

Without a token argument, the token is read from PRICECHARTING_TOKEN. See the docs site for errors and client options.

Supporting Files

Project contains an OpenAPI spec and a Bruno project for easy testing and mocking

  • ./bruno - Bruno project
  • ./open_api - OpenAPI spec

TODO / Investigate

  • Offer details price limits - OfferDetailsResponse reads price-max and price-min, the names in the documentation's key table. If the API sends max-price and min-price instead, price_max and price_min come back as None with no error. Validate /api/offer-details
  • Extra Marketplace keys - pending-reason, seller-id, image-url, best-competing-price, is-best-priced-offer and value are only on OfferDetailsResponse. The documentation doesn't say which endpoint returns each one. If /api/offers returns any of them, add them to Offer

Metadata

Release files for pypricecharting 0.0.1

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

Source distribution (sdist)

Source distribution for pypricecharting 0.0.1
File Size Uploaded Provenance Actions
pypricecharting-0.0.1.tar.gz 16.4 kB Without provenance Details for pypricecharting-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pypricecharting 0.0.1
File Interpreter ABI Platform Actions
pypricecharting-0.0.1-py3-none-any.whl Python 3 none any Details for pypricecharting-0.0.1-py3-none-any.whl

Total release size: 37.7 kB

Release files / pypricecharting-0.0.1.tar.gz

Download URL pypricecharting-0.0.1.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5974786c11cb6ed7c9e616b53af53d717f22f5d763a2171eb129b9961949bbf5
BLAKE2b-256 checksum
How to use checksums
e566e6fa40dbe7bdb4a70dbd9d60f862fa699fa23e73fc3e8fce9f3148a3654a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pypricecharting-0.0.1-py3-none-any.whl

Download URL pypricecharting-0.0.1-py3-none-any.whl
Size 21.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
534146ccf45904b86bfe7b2a01504f76b0814a213dd21a25e152b8049be51510
BLAKE2b-256 checksum
How to use checksums
bd948fa303879aa4003c66952ccaadaea8fdc1ce597b0030c296a42bca1fcb4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for pypricecharting 0.0.1

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

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