[metadata] license_file = LICENSE.dual [build_sphinx] source-dir = docs/source build-dir = docs/build all_files = 1 [upload_sphinx] upload-dir = docs/build/html [flake8] max-line-length = 99 ignore = W503, W605 extend-ignore = E203 exclude = setup.py, docs/source/conf.py [tool:pytest] testpaths = tests addopts = --no-success-flaky-report -rsxX filterwarnings = error ignore::DeprecationWarning ignore::telegram.utils.deprecate.TelegramDeprecationWarning [coverage:run] branch = True source = telegram parallel = True concurrency = thread, multiprocessing omit = tests/ telegram/__main__.py telegram/vendor/* [coverage:report] exclude_lines = if TYPE_CHECKING: [mypy] warn_unused_ignores = True warn_unused_configs = True disallow_untyped_defs = True disallow_incomplete_defs = True disallow_untyped_decorators = True show_error_codes = True [mypy-telegram.vendor.*] ignore_errors = True # Disable strict optional for telegram objects with class methods # We don't want to clutter the code with 'if self.bot is None: raise RuntimeError()' [mypy-telegram.callbackquery,telegram.chat,telegram.message,telegram.user,telegram.files.*,telegram.inline.inlinequery,telegram.payment.precheckoutquery,telegram.payment.shippingquery,telegram.passport.passportdata,telegram.passport.credentials,telegram.passport.passportfile,telegram.ext.filters] strict_optional = False