diff --git a/setup.py b/setup.py index 2058924f..3f8ee7a6 100755 --- a/setup.py +++ b/setup.py @@ -15,16 +15,11 @@ Extra supported commands are: from codecs import open from sys import argv import os +import re # Always prefer setuptools over distutils from setuptools import find_packages, setup -try: - from telethon import TelegramClient -except Exception as e: - print('Failed to import TelegramClient due to', e) - TelegramClient = None - class TempWorkDir: """Switches the working directory to be the one on which this file lives, @@ -94,21 +89,15 @@ def main(): fetch_errors(ERRORS_JSON) else: - if not TelegramClient: - gen_tl() - from telethon import TelegramClient as TgClient - version = TgClient.__version__ - else: - version = TelegramClient.__version__ - # Get the long description from the README file with open('README.rst', encoding='utf-8') as f: long_description = f.read() + with open('telethon/version.py', encoding='utf-8') as f: + version = re.search(r"^__version__\s+=\s+'(.*)'$", + f.read(), flags=re.MULTILINE).group(1) setup( name='Telethon', - - # Versions should comply with PEP440. version=version, description="Full-featured Telegram client library for Python 3", long_description=long_description, diff --git a/telethon/__init__.py b/telethon/__init__.py index c8593168..1210fa90 100644 --- a/telethon/__init__.py +++ b/telethon/__init__.py @@ -1,4 +1,7 @@ from .telegram_bare_client import TelegramBareClient from .telegram_client import TelegramClient from .network import ConnectionMode -from . import tl +from . import tl, version + + +__version__ = version.__version__ diff --git a/telethon/telegram_bare_client.py b/telethon/telegram_bare_client.py index a589fa9e..7ebf5ec1 100644 --- a/telethon/telegram_bare_client.py +++ b/telethon/telegram_bare_client.py @@ -9,7 +9,7 @@ from signal import signal, SIGINT, SIGTERM, SIGABRT from threading import Lock from time import sleep -from . import helpers as utils +from . import helpers as utils, version from .crypto import rsa, CdnDecrypter from .errors import ( RPCError, BrokenAuthKeyError, ServerError, @@ -60,7 +60,7 @@ class TelegramBareClient: """ # Current TelegramClient version - __version__ = '0.15.3' + __version__ = version.__version__ # TODO Make this thread-safe, all connections share the same DC _config = None # Server configuration (with .dc_options) diff --git a/telethon/version.py b/telethon/version.py new file mode 100644 index 00000000..2bde1b96 --- /dev/null +++ b/telethon/version.py @@ -0,0 +1,3 @@ +# Versions should comply with PEP440. +# This line is parsed in setup.py: +__version__ = '0.15.3'