Async Python client library for the Valentina Noir API
Project description
Valentina Python Client
Async Python client library for accessing the Valentina Noir API.
Features
- Async-first design - Built on httpx for efficient async HTTP operations
- Type-safe - Full type hints with Pydantic models for request/response validation
- Convenient factory pattern - Create a client once, access services from anywhere
- Automatic pagination - Stream through large datasets with
iter_all()or fetch everything withlist_all() - Robust error handling - Specific exception types for different error conditions
- Idempotency support - Optional automatic idempotency keys for safe retries
- Rate limit handling - Built-in support for automatic rate limit retries
This client is a supported and up-to-date reference implementation for the Valentina Noir API.
Documentation
The full documentation is available at https://natelandau.github.io/valentina-python-client/.
Development Tools
Validate Constants
Verify that the Literal type constants in this package are in sync with the live API's /options endpoint. This catches drift between client and server before a release.
# Via duty task
uv run duty validate_constants
# Via script directly
uv run python scripts/validate_constants.py --api-key <key> --company-id <id>
The script reads configuration from (highest precedence first):
- CLI arguments (
--api-url,--api-key,--company-id) - System environment variables (
VALENTINA_CLIENT_BASE_URL,VALENTINA_CLIENT_API_KEY,VALENTINA_CLIENT_DEFAULT_COMPANY_ID) - A
.env.secretfile in the project root
Exit codes: 0 = all constants match, 1 = mismatches found, 2 = missing configuration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file valentina_python_client-1.5.0.tar.gz.
File metadata
- Download URL: valentina_python_client-1.5.0.tar.gz
- Upload date:
- Size: 52.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16072aacd36e23b1f3961055d2db36fdcba2b4b505a0fb077c8b7e150a16b5b7
|
|
| MD5 |
0e7fa8ab988f842ae2f042e42af6ebb0
|
|
| BLAKE2b-256 |
c02dd2f5d7efdf2e13bf07caf3f9466e6a0458d095d93abbbc17e82460d25a79
|
File details
Details for the file valentina_python_client-1.5.0-py3-none-any.whl.
File metadata
- Download URL: valentina_python_client-1.5.0-py3-none-any.whl
- Upload date:
- Size: 78.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d099261a361bc5ca081d89dc8d060bb2287afe424e1aec75387d565ac9a5f72c
|
|
| MD5 |
bfcf38b97eba442d6c366b0170b91a75
|
|
| BLAKE2b-256 |
7cf5aeb8598e3933eb29e823d391ea596906d2e7ad4d3be46f647871ee7788cc
|