Skip to main content

Sans io telegram api with couple io backends

Project description

# Sans io implementation of telegram api
Tiny telegram bot-api wrapper library.

## Reasons
* [aiotg](https://github.com/szastupov/aiotg) is framework, not library and have no proxy support.
* Raw api calls translation is better for understanding and will not break if telegram api will be changed.
* `snake_case`

## Features
* support both, sync and async ways to deal with io.
* Simple as telegram api is.
* `snake_case` api converted to telegram `camelCase`.
* Polling `offset` handled for you via `get_updates` method.
* Handling timeout between requests automatically (via `delay` keyword-only argument).
* Use any io backend you want.

## Implementation
[Sans io](http://sans-io.readthedocs.io/) implementation based on generators
for simplifying flow and holding state. `siotelegram` have io backends based on:
* requests
* aiohttp
* [aiorequests](https://github.com/pohmelie/aiorequests)

## Example
``` python
import asyncio

import siotelegram


TOKEN = "token"


def requests_example():

api = siotelegram.RequestsTelegramApi(TOKEN)
response = api.get_updates()
print(response)


async def aiohttp_example():

async with siotelegram.AioHTTPTelegramApi(TOKEN) as api:

response = await api.get_updates()
print(response)


async def aiorequests_example():

api = siotelegram.AioRequestsTelegramApi(TOKEN)
response = await api.get_updates()
print(response)


if __name__ == "__main__":

import time

# requests
requests_example()

time.sleep(1)

# aiohttp
loop = asyncio.get_event_loop()
loop.run_until_complete(aiohttp_example())

time.sleep(1)

# aiorequests
import aiorequests
import concurrent
with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:

loop = asyncio.get_event_loop()
loop.set_default_executor(executor)
aiorequests.set_async_requests(loop=loop)
loop.run_until_complete(aiorequests_example())
```

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

siotelegram-0.1.0.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

siotelegram-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file siotelegram-0.1.0.tar.gz.

File metadata

  • Download URL: siotelegram-0.1.0.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for siotelegram-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f747604eeec69ace5b1a96f6f2e6b4ebea96924ef6e0e2aac70c9f330e213c2a
MD5 4926d3f705584fd2b936cb9e8b1ab7b1
BLAKE2b-256 71edb3696c5a5190af142efc4a39704ab72f7d2954c41732cc9735bea6c8d34b

See more details on using hashes here.

File details

Details for the file siotelegram-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for siotelegram-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5efe38e860d6aa78f30e27c27e82a6ea0136687c4da1ea9198dd44a78e745482
MD5 3f52a8865819c40b44b453485ab04597
BLAKE2b-256 93259c13583eeedd4f2b542353a9c208eb7b4bd60aea6197d92bbe096f385de0

See more details on using hashes here.

Supported by

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