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)
| File | Size | Uploaded | |
|---|---|---|---|
| django_zato_plugin-4.1.6.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|