No description
| examples | ||
| src/booklooker_client | ||
| tests | ||
| .gitignore | ||
| .pypirc.example | ||
| build_dist.py | ||
| openapi.yaml | ||
| pyproject.toml | ||
| README.md | ||
| upload_dist_to_forgejo_pypi.ps1 | ||
booklooker-client
A Python client for the Booklooker REST API designed for middleware and connector-hub scenarios.
Highlights
- Generated API contract derived from openapi.yaml
- Sync and async client entrypoints
- Pydantic models for normalized responses
- Token auto-refresh handling
- Webhook helper toolbox for Push-API style events
- FastAPI example receiver and enrichment workflow
Installation
pip install -e .[dev,webhooks]
Packaging and publishing
Build a source distribution and wheel:
python build_dist.py
Upload the artifacts to Forgejo PyPI after creating your local .pypirc from .pypirc.example:
.\upload_dist_to_forgejo_pypi.ps1 -Build
Quick start
from booklooker_client import BooklookerConfig, SyncBooklookerClient
config = BooklookerConfig(api_key="YOUR_API_KEY")
client = SyncBooklookerClient(config)
token = client.authenticate()
articles = client.get_article_list()
print(token.token)
print(articles.items)
Notes
Booklooker wraps nearly all responses into a generic envelope with status and returnValue. This package normalizes those responses into typed Pydantic models so downstream middleware can work with stable structures.