# Python client for Playmobile.uz API (aka smsxabar.uz)
This is Python HTTP Client for [Playmobile.uz](https://playmobile.uz) (aka [smsxabar.uz](https://smsxabar.uz))
based on [httpx](https://github.com/encode/httpx).
Playmobile is a SMS broker which allows you to send messages throughout Uzbekistan.
## Installation
To install playmobile-client, simply:
``` bash
$ pip install playmobile-client
```
This package can be found on [PyPI](https://pypi.org/project/playmobile-client/).
## Usage
```python
import httpx
import playmobile
client = playmobile.HttpClient(
account=playmobile.Credentials(
username="example",
password="example",
),
base_url=httpx.URL("https://playmobile-example.uz"),
session=httpx.Client(),
)
sms = playmobile.SMS(
id="unique_string",
sender="0001",
recipient="998xx3332211",
text="Hello world!",
)
# Single SMS
client.send_sms(sms)
# SMS batch
sms_batch = [
playmobile.SMS(
id="unique_string_1",
sender="0001",
recipient="998xx3332211",
text="Hello world!",
),
playmobile.SMS(
id="unique_string_2",
sender="0001",
recipient="998xx3332211",
text="Yankee!",
),
]
client.send_sms_batch(sms_batch)
```
You can set up Timing settings:
```python
import playmobile
sms = playmobile.SMS(...)
timing = playmobile.Timing(
start_at=datetime(2023, 1, 1, 12, 0),
end_at=datetime(2023, 1, 1, 14, 0),
)
# Single SMS
client.send_sms(sms, timing=timing)
```
Advanced users can set up HTTPX session with custom parameters. For example:
```python
client = playmobile.Client(
...,
session = httpx.Client(
timeout=httpx.Timeout(timeout=2.0),
),
)
```
Package also have the test utils which will help you test your service:
- playmobile.generate_sms
- playmobile.generate_error
Raw data
{
"_id": null,
"home_page": "https://github.com/absolutionsuz/playmobile-client",
"name": "playmobile-client",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7,<4.0",
"maintainer_email": "",
"keywords": "playmobile,smsxabar,client,httpx,requests",
"author": "Daniil Andreev",
"author_email": "dandreevv22@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/51/29/f785e0ee3d432d1d7d41f16f07098d0108f3307d90954bdf702d12d91540/playmobile_client-1.0.0.tar.gz",
"platform": null,
"description": "# Python client for Playmobile.uz API (aka smsxabar.uz)\n\nThis is Python HTTP Client for [Playmobile.uz](https://playmobile.uz) (aka [smsxabar.uz](https://smsxabar.uz))\nbased on [httpx](https://github.com/encode/httpx).\n\nPlaymobile is a SMS broker which allows you to send messages throughout Uzbekistan.\n\n## Installation\n\nTo install playmobile-client, simply:\n\n``` bash\n$ pip install playmobile-client\n```\nThis package can be found on [PyPI](https://pypi.org/project/playmobile-client/).\n\n## Usage\n\n```python\nimport httpx\nimport playmobile\n\nclient = playmobile.HttpClient(\n account=playmobile.Credentials(\n username=\"example\",\n password=\"example\",\n ),\n base_url=httpx.URL(\"https://playmobile-example.uz\"),\n session=httpx.Client(),\n)\n\nsms = playmobile.SMS(\n id=\"unique_string\",\n sender=\"0001\",\n recipient=\"998xx3332211\",\n text=\"Hello world!\",\n)\n\n# Single SMS\nclient.send_sms(sms)\n\n# SMS batch\nsms_batch = [\n playmobile.SMS(\n id=\"unique_string_1\",\n sender=\"0001\",\n recipient=\"998xx3332211\",\n text=\"Hello world!\",\n ),\n playmobile.SMS(\n id=\"unique_string_2\",\n sender=\"0001\",\n recipient=\"998xx3332211\",\n text=\"Yankee!\",\n ),\n]\nclient.send_sms_batch(sms_batch) \n```\n\nYou can set up Timing settings:\n\n```python\nimport playmobile\n\nsms = playmobile.SMS(...)\n\ntiming = playmobile.Timing(\n start_at=datetime(2023, 1, 1, 12, 0),\n end_at=datetime(2023, 1, 1, 14, 0),\n)\n\n# Single SMS\nclient.send_sms(sms, timing=timing)\n```\n\nAdvanced users can set up HTTPX session with custom parameters. For example:\n\n```python\nclient = playmobile.Client(\n ...,\n session = httpx.Client(\n timeout=httpx.Timeout(timeout=2.0),\n ),\n)\n```\n\nPackage also have the test utils which will help you test your service:\n- playmobile.generate_sms\n- playmobile.generate_error\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Python client for Playmobile.uz API",
"version": "1.0.0",
"split_keywords": [
"playmobile",
"smsxabar",
"client",
"httpx",
"requests"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1b9fd2bfa56a8f1119b11ce0135c3a120c3eab3029e13be3d18e6a2e4452f3cb",
"md5": "05e5e3f3d564d0ca91e9bf3ff7717bee",
"sha256": "b7dbcded4cd644e016498d09d80861887016f8eccd6c9bb8a5a0a8a09228aa20"
},
"downloads": -1,
"filename": "playmobile_client-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "05e5e3f3d564d0ca91e9bf3ff7717bee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7,<4.0",
"size": 7812,
"upload_time": "2023-01-18T18:12:12",
"upload_time_iso_8601": "2023-01-18T18:12:12.280645Z",
"url": "https://files.pythonhosted.org/packages/1b/9f/d2bfa56a8f1119b11ce0135c3a120c3eab3029e13be3d18e6a2e4452f3cb/playmobile_client-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5129f785e0ee3d432d1d7d41f16f07098d0108f3307d90954bdf702d12d91540",
"md5": "0cfa07bcc1cbd6889221694bf9908e63",
"sha256": "5f608c437f387be11187d627da6e1bb00ae28121c9abe511f8510eac0f320918"
},
"downloads": -1,
"filename": "playmobile_client-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "0cfa07bcc1cbd6889221694bf9908e63",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7,<4.0",
"size": 6877,
"upload_time": "2023-01-18T18:12:14",
"upload_time_iso_8601": "2023-01-18T18:12:14.342318Z",
"url": "https://files.pythonhosted.org/packages/51/29/f785e0ee3d432d1d7d41f16f07098d0108f3307d90954bdf702d12d91540/playmobile_client-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-18 18:12:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "absolutionsuz",
"github_project": "playmobile-client",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "playmobile-client"
}