Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pure-teleapi

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pure-teleapi

Pure declarative Telegram Bot API and implementation with pydantic models and sync and async API Protocol.

  • 1.7.4
  • PyPI
  • Socket score

Maintainers
1

pure-teleapi

Pure declarative Telegram Bot API and implementation with Pydantic models and Protocol-based API definitions (both sync and async) with neat typehints and docstrings, generated directly from Telegram website docs, parser/generator is included.

Argue

Get tired of dozens telegram libs with strange json-parsing stuff and a bunch of unnecessary bells and whistles? Me too, so please meet N+1th one.

No helpers, no handlers, no batteries included, only pure API models, pydantic-based, which, I believe, is golden standard for json parsing/converting now, abstract API protocols, fully typed and documented with well-formatted docstrings, and just few of lines of python magic to make it work with any of requests-like library, httpx implementation both sync and async is included as extra.

Features

  • Fully-generated from API docs (Bot API 7.4 from May 28, 2024).
  • Always is up-to-date, because parser/generator is included.
  • Full set of pydantic models for all of Telegram API objects.
  • Declarative protocols (both sync and async) for Telegram API methods.
  • All with neat well-formatted docstrings, so no need to check website, everything is in code.
  • Compatible both with pydantic v1/v2.
  • Can use any underlying requests-like lib, httpx-based implementation is included, both sync and async.
  • Supports upload from ordinary file-like objects (IOBased) (relied on files= parameter of underlying lib).
  • Async file io can be implemented by user.

Installation

To install with ready to use httpx-based implementation type

pip install pure-teleapi[httpx]

To install with no external dependencies (except pydantic)

pip install pure-teleapi

In this case it's a must to provide underlying transport, it's easy, just check teleapi/httpx_transport.py.

Quickstart

from teleapi.httpx_transport import httpx_teleapi_factory

bot = httpx_teleapi_factory("<BOT_TOKEN>", timeout=60)

offset = 0
while True:
    print("Waiting for updates...")
    updates = bot.getUpdates(offset=offset, timeout=50)
    for update in updates:
        bot.sendMessage(
            chat_id=update.message.chat.id,
            text="Yes " + (update.message.text or "??"),
        )
        offset = update.update_id + 1

Using parser/generator

If this lib becomes outdated, one can parse and generate updated version easily.

Clone repo, then type poetry install --with dev --all-extras and just run apigen/main.py.

teleapi.py will appear in .generated dir, check then copy it to teleapi package.

Because docs are human readable, some sort of adoptions in parser may be necessary.

Most difficulties are in parsing return type of the methods, so please check apigen.models.ApiType.parse_return_type() method.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc