Configuration for service (OpenAPI 3 or other) consumers
Project description
1 Welcome to ZGW Consumers’ documentation!
- Version:
0.25.0
- Source:
- Keywords:
OpenAPI, Zaakgericht Werken, Common Ground, NLX
- PythonVersion:
3.7, 3.8, 3.9
Manage your external API’s to consume.
2 Features
Store services with their configuration in the database
Integrate with OpenAPI 3.0 specifications
NLX support
Declare data/domain objects as modern Python dataclasses
3 Installation
3.1 Requirements
Python 3.6 or newer
setuptools 30.3.0 or newer
Django 2.2 or newer
3.2 Install
Install from PyPI
pip install zgw-consumers
Add zgw_consumers to the INSTALLED_APPS setting.
Optionally override ZGW_CONSUMERS_CLIENT_CLASS to a custom client class.
Optionally specify ZGW_CONSUMERS_OAS_CACHE to point to a separate django cache. Defaults to django.core.cache.DEFAULT_CACHE_ALIAS, which is default in practice. For performance reasons we highly recommend to use a real cache backend like Redis or Memcache.
4 Usage
In the Django admin, you can create Service instances to define your external APIs.
Client
To get a client for a given resource, you can use:
from zgw_consumers.models import Service
client = Service.get_client(some_url)
Or, to just retrieve the auth header(s):
from zgw_consumers.models import Service
auth = Service.get_auth_header(some_url)
Data model
Use zgw_consumers.api_models.base.factory to turn raw JSON responses into instances of domain models:
from zgw_consumers.api_models.base import factory
from zgw_consumers.api_models.zaken import Zaak
results = client.list("zaak")["results"]
return factory(Zaak, results)
It works for both collections and scalar values, and takes care of the camel-case to snake case conversion.
You can also define your own data models, take a look at the zgw_consumers.api_models package for inspiration.
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
Hashes for zgw_consumers-0.25.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69267273485ba2e7930df09a07b9315f85d5ae949138d271f970b06894a128c6 |
|
MD5 | c9ab5758116b4278e2ab82c4a6924563 |
|
BLAKE2b-256 | cceb9878386f377b7a859ae5d3ed346fc3cdc355d043cfa4640e16fe638c0438 |