Skip to main content

django-zato-plugin

A client library for invoking Zato services from Django applications.

Zato is an integration platform that orchestrates and automates connections to APIs, databases, queues, and other systems.

Learn more here: https://zato.io

With this plugin, Django delegates integration work to Zato - your views call Zato services, Zato handles the rest. Less code in Django, all integrations in one place.

Installation

pip install django-zato-plugin

Configuration

Add to your Django settings:

ZATO_URL = 'http://localhost:17010/zato/api/invoke/django/{}'
ZATO_USERNAME = 'django'
ZATO_PASSWORD = 'password' # Use your Zato password, e.g. from the Zato_Password env. variable

API

The client exposes one method:

response = client.invoke(service, data=None, request=None)

  • service - name of the Zato service to invoke (string)
  • data - request data to send (dict or None)
  • request - optional Django request for context propagation (headers like X-Zato-User, X-Zato-Correlation-Id, X-Zato-Forwarded-For)

Returns the response from the Zato service as a dict.

Usage

Let's say you have a frontend with a cybersecurity automation UI and you want to invoke a couple of backend services using JSON.

Here's how it would look like:

# views.py
from django.http import JsonResponse
from django_zato import client

def block_ip(request):

    # Extract the request ..
    ip_address = request.POST['ip_address']
    reason = request.POST['reason']

    # .. block on firewall and get the response ..
    firewall_response = client.invoke('firewall.block-ip', {'ip_address': ip_address})
    rule_id = firewall_response['rule_id']

    # .. log incident in SIEM ..
    siem_response = client.invoke('siem.log-incident', {
        'ip_address': ip_address,
        'reason': reason,
        'action': 'blocked',
        'firewall_rule_id': rule_id,
    })

    # .. Extract the response from SIEM ..
    incident_id = siem_response['incident_id']

    # .. and return the response to the frontend.
    return JsonResponse({
        'status': 'ok',
        'firewall_rule_id': rule_id,
        'siem_incident_id': incident_id,
    })

Metadata

Release files for django-zato-plugin 4.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-zato-plugin 4.1.6
File Size Uploaded
django_zato_plugin-4.1.6.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-zato-plugin 4.1.6
File Interpreter ABI Platform
django_zato_plugin-4.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 9.8 kB

Release files / django_zato_plugin-4.1.6.tar.gz

Download URL django_zato_plugin-4.1.6.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e7506497f05e47fbd4e4315c47c2c889a49ca15806191a1255107bcd31cd09fd
BLAKE2b-256 checksum
How to use checksums
224ea9539b7b8280c0e46b4bb8c1ce5cfd1641dba5c513926e62f807af2bbaf0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / django_zato_plugin-4.1.6-py3-none-any.whl

Download URL django_zato_plugin-4.1.6-py3-none-any.whl
Size 4.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d04839533c518de8990621b4fe65f5d9450d10119f7996c5f6d86474d7a737c9
BLAKE2b-256 checksum
How to use checksums
a0e0888d2ec9b98ff08716c063bf2c36271449fd272ce22042097daa91721a3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

4.1.6 This release

2 release files

4.1.4

2 release files

4.1.3

2 release files

4.1.1

2 release files

4.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page