Skip to main content

A simple Python Client for the Issabel PBX API

Project description

PyPI version License: MIT Python Versions

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

issabel_client-0.1.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

issabel_client-0.1.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

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

Hashes for issabel_client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 41711ecd24e94058bb80ea7c2e88a25c51c13e070e798b6ed1afe0192ff47d4d
MD5 785a09ecba57b5fbc55c0adf368f6ebf
BLAKE2b-256 ced6058b18dc2cd6e3e16bbaf39439542277897d04112a0c743a78a9bdf547e5

See more details on using hashes here.

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

Hashes for issabel_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c8cff0d4309a9bec6acc401874f03eaf8d0d12dcff3b33b5b43991c46ad8d5d
MD5 b34c824fed2ffe140ef57074c79a87e9
BLAKE2b-256 993876eb6d314b74d3e685194e8f0bef1a62f4bacb82505961604d45578b48d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page