Configuration for service (OpenAPI 3 or other) consumers
Project description
1 Welcome to ZGW Consumers’ documentation!
- Version:
0.21.1
- 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.21.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47b476c761db64ed72878f2f0236e32c7478714ce67cf333f427c2520918ee01 |
|
MD5 | e404418312544e5c663170111bb80b51 |
|
BLAKE2b-256 | ebb464e0f771b5f30b2d6555e7b2c6befe3ccb7495aca8cba82acab0e8b99cef |