PyPriceCharting API Client
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
prekgit hooks - Syncs project dependencies
- Installs Homebrew 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 dependenciesjust sync- sync project dependenciesjust build- build the sdist and wheel intodist/just lint- type check (ty), lint and format (ruff), and spellcheck (codespell). Fixes files in placejust ci-lint- same checks asjust lint, without modifying filesjust test- run unit testsjust prek- run all pre-commit hooksjust git-leaks- scan staged changes for secretsjust zizmor- audit GitHub Actions workflows for security issuesjust docs- serve the docs site locally with live reloadjust docs-build- build the docs site intosite/in strict modeuv 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-lintjust testgitleakssecret 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 -
OfferDetailsResponsereadsprice-maxandprice-min, the names in the documentation's key table. If the API sendsmax-priceandmin-priceinstead,price_maxandprice_mincome back asNonewith no error. Validate/api/offer-details - Extra Marketplace keys -
pending-reason,seller-id,image-url,best-competing-price,is-best-priced-offerandvalueare only onOfferDetailsResponse. The documentation doesn't say which endpoint returns each one. If/api/offersreturns any of them, add them toOffer
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.