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. The full documentation for is available at https://docs.valentina-noir.com/python-api-client/.

Documentation

For complete documentation including configuration options, all available services, response models, and error handling, see the Full Documentation.

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.secrets file in the project root

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

Resources

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.2.0.tar.gz (50.6 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.2.0-py3-none-any.whl (75.9 kB view details)

Uploaded Python 3

File details

Details for the file valentina_python_client-1.2.0.tar.gz.

File metadata

  • Download URL: valentina_python_client-1.2.0.tar.gz
  • Upload date:
  • Size: 50.6 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.2.0.tar.gz
Algorithm Hash digest
SHA256 1a66957d31bef234f3618769d1f7f3a7c29fdb9d752cc7dcf83662d75c2211ac
MD5 5ab80f6958805844b9bb62ccc1cda508
BLAKE2b-256 b29932eab25d4c1e0250dd0e5ea7d8feb527bf885822242c4ed87cb94081b50f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for valentina_python_client-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2893ac4cbc6ac0fa5a38832d870ac0a65219732c9801e36a7f4e46ea69b513e
MD5 78c31e22be1b629d96db8b1f888d8ade
BLAKE2b-256 1283e73d42b71c5f5490064c7eb886eaf747e1ae232b58e3ae2f3fe18e144b9a

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