Metadata-Version: 2.1
Name: threecx
Version: 0.1.0
Summary: Python client for 3CX HTTP APIs with Alkivi config integration
Project-URL: Homepage, https://github.com/alkivi-sas/python-3cx
Project-URL: Issues, https://github.com/alkivi-sas/python-3cx/issues
Author: Alkivi
License: MIT
License-File: LICENSE
Keywords: 3cx,api,client,cti,voip
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: python-alkivi-config-manager>=0.1.0
Requires-Dist: requests>=2.31.0
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == 'test'
Description-Content-Type: text/markdown

# threecx

Python client for 3CX HTTP APIs with configuration handled via Alkivi's config manager.

## Installation

```bash
pip install threecx
```

## Configuration

Configuration is provided by `python-alkivi-config-manager`. See its repository for details: [alkivi-sas/python-alkivi-config-manager](https://github.com/alkivi-sas/python-alkivi-config-manager).

Create a configuration file named `3cx.conf` in one of the supported locations (`./3cx.conf`, `~/.3cx.conf`, `/etc/3cx.conf`):

```ini
[default]
endpoint=prod

[prod]
fqdn=pbx.example.com
username=john
password=secret
```

## Usage

```python
from threecx import get_3cx_api

client = get_3cx_api("prod")
print(client.version())
```

Or list configured endpoints:

```python
from threecx import get_3cx_endpoints

print(get_3cx_endpoints())
```

## Development

- Build: `python -m build` (requires `pip install build`)
- Test: `pytest`

## License

MIT


