otai-base
Base package with core implementations for Open Ticket AI - ticket system automation and AI integration.
Overview
otai-base provides foundational abstractions and utilities for building Open Ticket AI plugins. It includes:
- Core data models using Pydantic v2 for type-safe ticket system operations
- Plugin interfaces for extending Open Ticket AI with custom ticket system integrations
- Template rendering with Jinja2 for dynamic content generation
- Unified ticket abstractions for working across multiple ticket systems
Installation
pip install otai-base
For development:
pip install otai-base[dev]
Usage
Creating a Plugin
from otai_base.base_plugin import BasePlugin
class MyTicketSystemPlugin(BasePlugin):
name = "my-ticket-system"
# Implement plugin interface methods
Using Core Models
from otai_base.models import UnifiedTicket, UnifiedEntity
ticket = UnifiedTicket(
subject="Example Ticket",
body="Ticket description",
queue=UnifiedEntity(name="Support"),
priority=UnifiedEntity(name="High"),
)
Features
- 🎯 Type-safe - Full type hints and Pydantic validation
- 🔌 Extensible - Plugin system for custom integrations
- 🎨 Template support - Jinja2 integration for dynamic content
- 🔄 Unified interface - Work with multiple ticket systems using a single API
- 🐍 Modern Python - Requires Python 3.13+
Documentation
Full documentation is available at open-ticket-ai.com.
Requirements
- Python 3.13 or higher
- Pydantic 2.11.7+
- Jinja2 3.1.0+
Contributing
Contributions are welcome! Please see the main repository for contribution guidelines.
License
LGPL-2.1-only - See LICENSE for details.
Related Packages
open-ticket-ai- Core applicationotai-zammad- Zammad integrationotai-otobo-znuny- OTOBO/Znuny integrationotai-hf-local- Local AI model integration
Links
- Homepage: open-ticket-ai.com
- Repository: GitHub
- Issue Tracker: GitHub Issues
- PyPI: pypi.org/project/otai-base
Metadata
Release files for otai-base 1.5.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| otai_base-1.5.14.tar.gz | 20.9 kB | Without provenance | Details for otai_base-1.5.14.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| otai_base-1.5.14-py3-none-any.whl | Python 3 | none | any | Details for otai_base-1.5.14-py3-none-any.whl |
Total release size: 35.2 kB
Release files / otai_base-1.5.14.tar.gz
| Download URL | otai_base-1.5.14.tar.gz |
|---|---|
| Size | 20.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
effb08bc9e76c3d38e4484f5fee8c29b1a7aa673017859329c7fa111f65be64f
|
|
BLAKE2b-256 checksum How to use checksums |
eb3aed9216f90719e0d23865a22721d4bc3fb06d04211aa3bb4d0599e1e4daa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.8
|
Release files / otai_base-1.5.14-py3-none-any.whl
| Download URL | otai_base-1.5.14-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9fef8c46e657747001ee14d1064d5aa526b24f02496ce7d1695e9db2424c9b2f
|
|
BLAKE2b-256 checksum How to use checksums |
7ce82204073a1fd3a4485df16162cde5547c5e49201bb32e1929243cfc2a82ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.8
|
Security for otai-base 1.5.14
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.