A simple Python Client for the Issabel PBX API
Project description
A simple and functional Python Client to consume the Issabel PBX API. This Client provides a highly dynamic interface that automatically supports all available PBX resources.
Features
- Dynamic method generation: Automatically supports all 40+ PBX resources (Extensions, Trunks, Queues, IVR, etc.).
- Automatic token renewal: Handles expired tokens seamlessly using the refresh token.
- Full CRUD support: Effortlessly list, create, update, and delete any PBX resource.
- Configurable SSL: Supports secure environments with optional certificate verification.
- Resource Reloading: Optionally trigger a PBX configuration reload after changes.
Installation
pip install issabel_client
Or install from source for development:
git clone https://github.com/tsuriu/issabel_client.git
cd issabel_client
pip install -e .
Quick Start
from issabel_client import IssabelClient
# Initialize the client
client = IssabelClient("your-pbx-ip", use_ssl=False)
# Authenticate
client.authenticate("admin", "yourpassword")
# List all extensions
extensions = client.get_extensions()
print(extensions)
# Create a new extension
new_ext = client.create_extensions({
"name": "John Doe",
"extension": "2000",
"secret": "pswd123"
})
Documentation
For detailed usage instructions, advanced configuration, and a full list of supported resources, please see our Documentation.
Examples
Check the examples/ directory for ready-to-use scripts:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
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
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
File details
Details for the file issabel_client-0.1.0.tar.gz.
File metadata
- Download URL: issabel_client-0.1.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41711ecd24e94058bb80ea7c2e88a25c51c13e070e798b6ed1afe0192ff47d4d
|
|
| MD5 |
785a09ecba57b5fbc55c0adf368f6ebf
|
|
| BLAKE2b-256 |
ced6058b18dc2cd6e3e16bbaf39439542277897d04112a0c743a78a9bdf547e5
|
File details
Details for the file issabel_client-0.1.0-py3-none-any.whl.
File metadata
- Download URL: issabel_client-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c8cff0d4309a9bec6acc401874f03eaf8d0d12dcff3b33b5b43991c46ad8d5d
|
|
| MD5 |
b34c824fed2ffe140ef57074c79a87e9
|
|
| BLAKE2b-256 |
993876eb6d314b74d3e685194e8f0bef1a62f4bacb82505961604d45578b48d2
|