Skip to main content

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 with list_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):

  1. CLI arguments (--api-url, --api-key, --company-id)
  2. System environment variables (VALENTINA_CLIENT_BASE_URL, VALENTINA_CLIENT_API_KEY, VALENTINA_CLIENT_DEFAULT_COMPANY_ID)
  3. A .env.secret file in the project root

Exit codes: 0 = all constants match, 1 = mismatches found, 2 = missing configuration.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

valentina_python_client-1.5.0.tar.gz (52.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

valentina_python_client-1.5.0-py3-none-any.whl (78.2 kB view details)

Uploaded Python 3

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

Hashes for valentina_python_client-1.5.0.tar.gz
Algorithm Hash digest
SHA256 16072aacd36e23b1f3961055d2db36fdcba2b4b505a0fb077c8b7e150a16b5b7
MD5 0e7fa8ab988f842ae2f042e42af6ebb0
BLAKE2b-256 c02dd2f5d7efdf2e13bf07caf3f9466e6a0458d095d93abbbc17e82460d25a79

See more details on using hashes here.

File details

Details for the file valentina_python_client-1.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for valentina_python_client-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d099261a361bc5ca081d89dc8d060bb2287afe424e1aec75387d565ac9a5f72c
MD5 bfcf38b97eba442d6c366b0170b91a75
BLAKE2b-256 7cf5aeb8598e3933eb29e823d391ea596906d2e7ad4d3be46f647871ee7788cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page