A Python client for interacting with the Znuny ticketing system API.
Project description
pyznuny
A Python client for interacting with the Znuny ticketing system API.
Features
- Simple, typed client built on httpx
- Ticket create, update, and get routes
- Easy custom endpoint configuration
Installation
pip install pyznuny
Or with uv:
uv add pyznuny
Quick start
Create a client and authenticate using environment variables.
from pyznuny import TicketClient
from dotenv import load_dotenv
import os
load_dotenv()
client = TicketClient(
base_url=os.getenv("HOST"),
username=os.getenv("USER_LOGIN"),
password=os.getenv("PASSWORD"),
)
Example .env:
HOST=https://your-znuny-instance.com
USER_LOGIN=your-username
PASSWORD=your-password
Usage examples
Create a ticket
payload = {
"Ticket": {
"Title": "Ticket Title",
"Queue": "Ticket queue",
"State": "Ticket state",
"Priority": "Ticket priority",
"CustomerUser": "customer@example.com",
},
"Article": {
"Subject": "Ticket subject",
"Body": "Ticket body...",
"ContentType": "text/plain; charset=utf-8",
"From": "customer@example.com",
},
}
response = client.ticket.create(payload=payload)
print(response.json())
Get a ticket by ID
# default endpoint is GET /Ticket/{ticket_id}
response = client.ticket.get(ticket_id=1234)
print(response.json())
Update a ticket
response = client.ticket.update(
ticket_id=1234,
Ticket={"State": "open"},
)
print(response.json())
Customize endpoints
If your Znuny instance uses different paths, set them with the endpoint setter.
# Example: custom ticket get endpoint and identifier
client.set_endpoint.ticket_get(endpoint="Tickets/{id}", identifier="id")
response = client.ticket.get(ticket_id=1234)
Notes
- When
usernameandpasswordare provided, the client logs in and storessession_idautomatically. - You can pass a pre-configured
httpx.Clientviaclient=...if needed. - You can send payloads as plain dicts using the same attributes shown in the examples.
License
MIT
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
pyznuny-0.0.8.tar.gz
(9.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pyznuny-0.0.8-py3-none-any.whl
(10.1 kB
view details)
File details
Details for the file pyznuny-0.0.8.tar.gz.
File metadata
- Download URL: pyznuny-0.0.8.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9bb4d4fb6e62e410820882e67ea1c5ffcc2ab333c4c957707357579574e484b
|
|
| MD5 |
3f1fa9e1e799e99b806cca306ea9bc90
|
|
| BLAKE2b-256 |
94d825a919f1c2901cc1a9ef2d12b2e3cfae4bba507799d4fa8ccf7e035e1bc2
|
File details
Details for the file pyznuny-0.0.8-py3-none-any.whl.
File metadata
- Download URL: pyznuny-0.0.8-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67703056adf4db778b6263cb4f6e2e2a633278c982bc36f9a3313ba014d1ffec
|
|
| MD5 |
7855ea6c1255896690f6a27e9087daea
|
|
| BLAKE2b-256 |
c13b62105181cdbc3eab06e50d30af798bb68b50c9f2df9589de79b57302b0b4
|