Reusable code for consumers of ZGW APIs
Project description
1 Welcome to ZGW Consumers’ documentation!
- Version:
0.17.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
File details
Details for the file zgw-consumers-0.17.0.tar.gz
.
File metadata
- Download URL: zgw-consumers-0.17.0.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9657a1cf6e37a840da2b90156cc650f8ccd4ee92675d2a2c0a59574dd9ea9d5b |
|
MD5 | 1bf1b2c79807bb26ee2f6b80cdf33cbe |
|
BLAKE2b-256 | 9222487fdd42fa94d9a7611c27b4fcd203604b2b24cc18cb33059b32462b7baf |
File details
Details for the file zgw_consumers-0.17.0-py3-none-any.whl
.
File metadata
- Download URL: zgw_consumers-0.17.0-py3-none-any.whl
- Upload date:
- Size: 40.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6420920f0859f00176822e34850672ed39a9cb725cf40c7b0dfcf9a391a12c79 |
|
MD5 | 7550961bc35e794c914dc16ac21cbbcb |
|
BLAKE2b-256 | ac2794200cbc0a3656d42c798dcc295d04b73a02ae50ee71649dbe50ada05dfb |