Add contract, mapping, key info, and changelog endpoints (v1.1.0)#10
Conversation
New methods: - platforms() - list contract platforms (blockchains) - contracts(platform_id) - list contracts on a platform - ticker_by_contract(platform_id, address) - ticker by contract address - historical_by_contract(platform_id, address) - historical by contract - coin_mappings() - ID mappings to CoinGecko, CMC, etc. - key_info() - API key usage information - changelog_ids() - recent changelog entry IDs Also: - Added tests for search, price_converter, ticker (were untested) - 38 tests passing (was 27) - Updated README with full API coverage docs - Bumped version to 1.1.0 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Python 3.7 and 3.8 are no longer available on ubuntu-latest (24.04). Updated CI matrix to 3.9-3.13 and requires-python to >=3.9. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds new Coinpaprika client endpoints for contract-based queries, ID mappings, API key info, and changelog IDs, along with documentation and packaging/CI updates for the v1.1.0 release.
Changes:
- Added client methods for contracts/mappings/key-info/changelog endpoints and corresponding request tests.
- Expanded README with an “API Coverage” section documenting available client methods.
- Bumped package version to 1.1.0 and updated supported Python versions/CI matrix (>=3.9; test 3.9–3.13).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
coinpaprika/client.py |
Adds new client methods for contracts, mappings, key usage info, and changelog IDs. |
tests/test_api_request.py |
Adds request-mocking tests covering search, price_converter, ticker, and the new endpoints. |
README.md |
Documents full API coverage and fixes the tests snippet language tag. |
pyproject.toml |
Bumps version to 1.1.0 and raises minimum Python to 3.9. |
setup.py |
Bumps version to 1.1.0 (legacy packaging entrypoint). |
.github/workflows/main.yaml |
Updates CI Python matrix to 3.9–3.13, matching the new minimum. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| setup( | ||
| name='coinpaprika-sdk', | ||
| version='1.0.0', | ||
| version='1.1.0', | ||
| author='Coinpaprika', | ||
| author_email='it@coinpaprika.com', |
There was a problem hiding this comment.
pyproject.toml now sets requires-python = ">=3.9" and CI no longer tests 3.7/3.8, but setup.py does not declare python_requires. If someone builds/installs via the legacy setup.py metadata path, they may incorrectly be allowed to install on unsupported Python versions. Consider adding python_requires=">=3.9" (and optionally aligning classifiers) to keep packaging metadata consistent.
Aligns setup.py with pyproject.toml (requires-python >= 3.9) and CI matrix (3.9-3.13). Prevents installation on unsupported Python versions when built via legacy setup.py path. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
platforms(),contracts(),ticker_by_contract(),historical_by_contract()- query token data by contract address across platformscoin_mappings()- get ID mappings to CoinGecko, CoinMarketCap, etc.key_info()- API key usage informationchangelog_ids()- recent changelog entry IDssearch(),price_converter(),ticker()(were untested)Test plan
🤖 Generated with Claude Code