mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
* increased Telegram Bot API version * AIOG-T-64 added logOut method * AIOG-T-64 added logOut method test * AIOG-T-64 logOut type annotation fix * AIOG-T-65 added close (close_bot) method * AIOG-T-65 old `close` method deprecation warn * AIOG-T-65 `close_bot` test added * AIOG-T-67 added ip_address param to set_webhook, updated docs * updated deprecation text Co-authored-by: Martin Winks <mpa@snejugal.ru> * AIOG-T-69 param `drop_pending_updates` added in methods `setWebhook` and `deleteWebhook` * AIOG-T-71 new `ChatLocation` class * AIOG-T-70 updated `Chat` class: bio, linked chats, location * AIOG-T-68 field `ip_address` added to class `WebhookInfo` * AIOG-T-72 param `only_if_banned` added to `unbanChatMember` method * AIOG-T-72 updated Chat.unban shortcut * AIOG-T-73 field `file_name` added to `Audio` and `Video` classes * AIOG-T-74 param `disable_content_type_detection` added in `sendDocument` method and `InputMediaDocument` class * AIOG-T-75 Added the ability to pin messages in private chats (docs update) * AIOG-T-76 Added the parameter message_id to the method unpinChatMessage to allow unpinning of the specific pinned message * AIOG-T-77 Added the method unpinAllChatMessages, which can be used to unpin all pinned messages in a chat. * AIOG-T-78 updated send_media_group description; added media qty check * AIOG-T-80 field `live_period` added to `Location` class * AIOG-T-81 Added support for live location heading * AIOG-T-82 added the field proximity_alert_distance to the classes Location, InlineQueryResultLocation, InputLocationMessageContent; fixed heading in InputLocationMessageContent * AIOG-T-82 added parameter proximity_alert_distance to the methods sendLocation and editMessageLiveLocation * AIOG-T-83 Added the type ProximityAlertTriggered * AIOG-T-83 Added field proximity_alert_triggered to the class Message * AIOG-T-84 Added the field horizontal_accuracy to the classes Location, InlineQueryResultLocation, InputLocationMessageContent * AIOG-T-84 Added the parameter horizontal_accuracy to the methods sendLocation and editMessageLiveLocation. * Added live_period to InputLocationMessageContent (missed?) * AIOG-T-85 Added the field sender_chat to the class Message * AIOG-T-86 Added `is_anonymous` field to `chatMember` class * AIOG-T-87 Added the parameter is_anonymous to the method promoteChatMember * AIOG-T-89 Added the method `copyMessage` * AIOG-T-90 Poll docs update * AIOG-T-91 ability to manually specify text entities * AIOG-T-92 Google Places as a venue API provider * AIOG-T-93 Added the field allow_sending_without_reply to the methods * AIOG-T-94 football and slot machine dice * removed Optional Co-authored-by: Ramzan Bekbulatov <bekbulatov.ramzan@ya.ru> * Apply suggestions from code review removed Optional Co-authored-by: Ramzan Bekbulatov <bekbulatov.ramzan@ya.ru> * Don't use deprecated Bot.close method from dispatcher (Replaced by session.close) * Fix copyMessage method, update alias (with deprecation) Fix imports * AIOG-T-79: Easy way to use custom API server * Update docs * Bump requirements * Rollback email * AIOG-T-93 allow_sending_without_reply to send_message shortcuts * AIOG-T-93 added allow_sending_without_reply to send_photo shortcuts * AIOG-T-93 added allow_sending_without_reply to send_video shortcuts * Union[type, None] -> Optional[type] refactoring * AIOG-T-93 added allow_sending_without_reply to send_animation shortcuts * added type hint to reply field * AIOG-T-93 added allow_sending_without_reply to send_audio shortcuts * AIOG-T-93 added allow_sending_without_reply to send_document shortcuts * AIOG-T-93 added allow_sending_without_reply to send_sticker shortcuts * AIOG-T-93 added allow_sending_without_reply to send_video_note shortcuts * AIOG-T-93 added allow_sending_without_reply to send_voice shortcuts * AIOG-T-93 added allow_sending_without_reply to send_location shortcuts * AIOG-T-93 added allow_sending_without_reply to send_venue shortcuts * AIOG-T-93 added allow_sending_without_reply to send_contact shortcuts * AIOG-T-93 added allow_sending_without_reply to send_poll shortcuts * AIOG-T-93 added allow_sending_without_reply to send_dice shortcuts * AIOG-T-93 added allow_sending_without_reply to send_media_group shortcuts * AIOG-T-92 added google_place_ to send_venue shortcuts * AIOG-T-91 added entities to send_message shortcuts * AIOG-T-91 added caption_entities to send_photo shortcuts * AIOG-T-91 added caption_entities to send_video shortcuts * AIOG-T-91 added caption_entities to send_animation shortcuts * AIOG-T-91 added caption_entities to send_audio shortcuts * AIOG-T-91 added caption_entities to send_document shortcuts * AIOG-T-91 added caption_entities to send_voice shortcuts * AIOG-T-91 added explanation_parse_mode to send_poll shortcuts * AIOG-T-91 added entities to edit_message_text shortcuts * AIOG-T-91 added caption_entities to edit_message_caption shortcuts * fixed types.MessageEntity -> MessageEntity in docs Co-authored-by: Martin Winks <mpa@snejugal.ru> Co-authored-by: Ramzan Bekbulatov <bekbulatov.ramzan@ya.ru> Co-authored-by: Alex Root Junior <jroot.junior@gmail.com>
78 lines
2.1 KiB
Python
Executable file
78 lines
2.1 KiB
Python
Executable file
#!/usr/bin/env python3
|
|
import pathlib
|
|
import re
|
|
import sys
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
WORK_DIR = pathlib.Path(__file__).parent
|
|
|
|
# Check python version
|
|
MINIMAL_PY_VERSION = (3, 7)
|
|
if sys.version_info < MINIMAL_PY_VERSION:
|
|
raise RuntimeError('aiogram works only with Python {}+'.format('.'.join(map(str, MINIMAL_PY_VERSION))))
|
|
|
|
|
|
def get_version():
|
|
"""
|
|
Read version
|
|
|
|
:return: str
|
|
"""
|
|
txt = (WORK_DIR / 'aiogram' / '__init__.py').read_text('utf-8')
|
|
try:
|
|
return re.findall(r"^__version__ = '([^']+)'\r?$", txt, re.M)[0]
|
|
except IndexError:
|
|
raise RuntimeError('Unable to determine version.')
|
|
|
|
|
|
def get_description():
|
|
"""
|
|
Read full description from 'README.rst'
|
|
|
|
:return: description
|
|
:rtype: str
|
|
"""
|
|
with open('README.rst', 'r', encoding='utf-8') as f:
|
|
return f.read()
|
|
|
|
|
|
setup(
|
|
name='aiogram',
|
|
version=get_version(),
|
|
packages=find_packages(exclude=('tests', 'tests.*', 'examples.*', 'docs',)),
|
|
url='https://github.com/aiogram/aiogram',
|
|
license='MIT',
|
|
author='Alex Root Junior',
|
|
requires_python='>=3.7',
|
|
author_email='jroot.junior@gmail.com',
|
|
description='Is a pretty simple and fully asynchronous framework for Telegram Bot API',
|
|
long_description=get_description(),
|
|
classifiers=[
|
|
'Development Status :: 5 - Production/Stable',
|
|
'Environment :: Console',
|
|
'Framework :: AsyncIO',
|
|
'Intended Audience :: Developers',
|
|
'Intended Audience :: System Administrators',
|
|
'License :: OSI Approved :: MIT License',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Programming Language :: Python :: 3.8',
|
|
'Programming Language :: Python :: 3.9',
|
|
'Topic :: Software Development :: Libraries :: Application Frameworks',
|
|
],
|
|
install_requires=[
|
|
'aiohttp>=3.7.2,<4.0.0',
|
|
'Babel>=2.8.0',
|
|
'certifi>=2020.6.20',
|
|
],
|
|
extras_require={
|
|
'proxy': [
|
|
'aiohttp-socks>=0.3.4,<0.4.0',
|
|
],
|
|
'fast': [
|
|
'uvloop>=0.14.0,<0.15.0',
|
|
'ujson>=1.35',
|
|
],
|
|
},
|
|
include_package_data=False,
|
|
)
|