Skip to main content

Configuration for service (OpenAPI 3 or other) consumers

Project description

1 Welcome to ZGW Consumers’ documentation!

Version:

0.28.0

Source:

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

Keywords:

OpenAPI, Zaakgericht Werken, Common Ground, NLX

Run CI Coverage status Code linting Documentation 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.10 or newer

  • setuptools 30.3.0 or newer

  • Django 3.2 or newer

3.2 Install

  1. Install from PyPI

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

  2. Optionally override ZGW_CONSUMERS_CLIENT_CLASS to a custom client class.

  3. 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.client import build_client
from zgw_consumers.models import Service

my_service = Service.objects.get(api_root="https://api.example.com/")
client = build_client(my_service)

with client:
    # The preferred way to use the client is within a context manager
    client.get("relative/url")

The resulting client will have certificate and authentication automatically configured from the database configuration.

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.28.0.tar.gz (47.5 kB view details)

Uploaded Source

Built Distribution

zgw_consumers-0.28.0-py3-none-any.whl (56.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zgw-consumers-0.28.0.tar.gz
  • Upload date:
  • Size: 47.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for zgw-consumers-0.28.0.tar.gz
Algorithm Hash digest
SHA256 f1d4804505e6a88a5eb3f260941f8cb004856bcb19ad6ab913f64e7dc42de469
MD5 f89e4055a5ef412b73fdb2e7e0570c90
BLAKE2b-256 6a9c7eee07fc4a75a791f3e38bb0513362c31b99c7c3b4ee1342a4d8c653e972

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zgw_consumers-0.28.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2515469fccf65b03bd4bb360d09ff667724c3fa1cd58e04abb8728394ebe3772
MD5 3e091d21e454fef7824ec2c617cf4e16
BLAKE2b-256 4e6b5e134d2c663cd090bd317f98b1f73e1f95530ab50d367af1c01fba109ec2

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