Skip to main content

Reusable code for consumers of ZGW APIs

Project description

1 Welcome to ZGW Consumers’ documentation!

Version:

0.9.0

Source:

https://github.com/maykinmedia/zgw-consumers

Keywords:

OpenAPI, Zaakgericht Werken, Common Ground, NLX

PythonVersion:

3.6, 3.7, 3.8

build-status Requirements status Coverage status

python-versions django-versions pypi-version

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

  1. Install from PyPI

pip install zgw-consumers
  1. Add zgw_consumers to the INSTALLED_APPS setting.

  2. Optionally override ZGW_CONSUMERS_CLIENT_CLASS to a custom client class.

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

zgw-consumers-0.9.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

zgw_consumers-0.9.0-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file zgw-consumers-0.9.0.tar.gz.

File metadata

  • Download URL: zgw-consumers-0.9.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.7

File hashes

Hashes for zgw-consumers-0.9.0.tar.gz
Algorithm Hash digest
SHA256 7447527e06eeecd34f35c7ddd6ada911293da092d3ecf546d0f8835149168f0e
MD5 b01b82f77ad022c3165e843eceac43e7
BLAKE2b-256 c68588260145ecccab2fc7654a2127c37cbf8fe2315676d80e39e1345a95be44

See more details on using hashes here.

File details

Details for the file zgw_consumers-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: zgw_consumers-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.7

File hashes

Hashes for zgw_consumers-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c39d7f8c7bc9bbb56dbe45308ded6c03e4ba4e068e5c6759d4fe2918e469ca8
MD5 bb5bc705434feff08d5e42773df426f9
BLAKE2b-256 332c3b05d9168740720d0c66d70d0e33057fcc6198e215befc2a928560255991

See more details on using hashes here.

Supported by

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