diff --git a/.apiversion b/.apiversion index 11aa1452..d346e2ab 100644 --- a/.apiversion +++ b/.apiversion @@ -1 +1 @@ -5.3 \ No newline at end of file +5.3 diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 2a1994a5..6adfd76b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -15,10 +15,10 @@ about: Create a report to help us improve Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions. * Operating System: -* Python Version: -* aiogram version: -* aiohttp version: -* uvloop version (if installed): +* Python Version: +* aiogram version: +* aiohttp version: +* uvloop version (if installed): ## Expected Behavior diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1c33729f..ade26bd1 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -22,8 +22,8 @@ Please describe the tests that you ran to verify your changes. Provide instructi - [ ] Test B **Test Configuration**: -* Operating System: -* Python version: +* Operating System: +* Python version: # Checklist: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ef75d0a4..07fbe618 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,34 +1,28 @@ + + repos: - - repo: https://github.com/ambv/black - rev: stable - hooks: - - id: black - files: ^(aiogram|tests) - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.3.0 + rev: v3.2.0 hooks: - - id: flake8 - args: ['--config=.flake8'] - files: ^(aiogram|tests) - id: end-of-file-fixer - id: trailing-whitespace - id: check-merge-conflict - - repo: https://github.com/asottile/seed-isort-config - rev: master + - repo: https://github.com/psf/black + rev: 21.8b0 hooks: - - id: seed-isort-config - additional_dependencies: [toml] - files: aiogram + - id: black + files: &files '^(aiogram|tests|examples)' - repo: https://github.com/pre-commit/mirrors-isort - rev: master # pick the isort version you'd like to use from https://github.com/pre-commit/mirrors-isort/releases + rev: v5.9.3 hooks: - id: isort - additional_dependencies: [toml] - - - repo: https://github.com/pre-commit/mirrors-mypy - rev: 'v0.770' # pick sha/tag from https://github.com/pre-commit/mirrors-mypy + additional_dependencies: [ toml ] + files: *files + - repo: https://gitlab.com/pycqa/flake8 + rev: 3.9.2 hooks: - - id: mypy - files: aiogram + - id: flake8 + args: [ '--config=.flake8' ] + files: *files diff --git a/CHANGES.rst b/CHANGES.rst index 9028bbb8..2fb857c4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -49,5 +49,3 @@ Misc `#651 `_ - add allow_sending_without_reply param to Message reply aliases `#663 `_ - - diff --git a/CHANGES/681.misc b/CHANGES/681.misc new file mode 100644 index 00000000..ecfc02a1 --- /dev/null +++ b/CHANGES/681.misc @@ -0,0 +1 @@ +Updated **pre-commit** config diff --git a/LICENSE b/LICENSE index d9af8740..872283c6 100644 --- a/LICENSE +++ b/LICENSE @@ -15,4 +15,4 @@ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PA PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile b/Makefile index bb66a7e0..3bac20a2 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,8 @@ python := $(py) python package_dir := aiogram tests_dir := tests scripts_dir := scripts -code_dir := $(package_dir) $(tests_dir) $(scripts_dir) +examples_dir := examples +code_dir := $(package_dir) $(tests_dir) $(scripts_dir) $(examples_dir) reports_dir := reports redis_connection := redis://localhost:6379 diff --git a/docs/_static/stylesheets/extra.css b/docs/_static/stylesheets/extra.css index 3a9ee46a..5b653b0c 100644 --- a/docs/_static/stylesheets/extra.css +++ b/docs/_static/stylesheets/extra.css @@ -19,4 +19,4 @@ code, kbd, pre { .highlight * { background: #424242; } -} \ No newline at end of file +} diff --git a/docs/api/bot.rst b/docs/api/bot.rst index 15f1c0a4..3ee89dc2 100644 --- a/docs/api/bot.rst +++ b/docs/api/bot.rst @@ -14,4 +14,4 @@ For example :code:`sendMessage` named :code:`send_message` and has the same spec :show-inheritance: :member-order: bysource :special-members: __init__ - :undoc-members: True \ No newline at end of file + :undoc-members: True diff --git a/docs/dispatcher/class_based_handlers/chat_member.rst b/docs/dispatcher/class_based_handlers/chat_member.rst index 9df18a0c..c8b101b6 100644 --- a/docs/dispatcher/class_based_handlers/chat_member.rst +++ b/docs/dispatcher/class_based_handlers/chat_member.rst @@ -25,4 +25,3 @@ Extension This base handler is subclass of :ref:`BaseHandler ` with some extensions: - :code:`self.chat` is alias for :code:`self.event.chat` - diff --git a/docs/dispatcher/dispatcher.rst b/docs/dispatcher/dispatcher.rst index 28d50538..507b2ed0 100644 --- a/docs/dispatcher/dispatcher.rst +++ b/docs/dispatcher/dispatcher.rst @@ -11,7 +11,7 @@ Here is only listed base information about Dispatcher. All about writing handler .. autoclass:: aiogram.dispatcher.dispatcher.Dispatcher - :members: __init__, feed_update, feed_raw_update, feed_webhook_update, start_polling, run_polling + :members: __init__, feed_update, feed_raw_update, feed_webhook_update, start_polling, run_polling Simple usage diff --git a/docs/dispatcher/filters/index.rst b/docs/dispatcher/filters/index.rst index 1b970d86..26de26a4 100644 --- a/docs/dispatcher/filters/index.rst +++ b/docs/dispatcher/filters/index.rst @@ -3,7 +3,7 @@ Filtering events ================ Filters is needed for routing updates to the specific handler. -Searching of handler is always stops on first match set of filters are pass. +Searching of handler is always stops on first match set of filters are pass. *aiogram* has some builtin useful filters. @@ -39,8 +39,8 @@ Filters can be: - Instances of :ref:`MagicFilter ` -Filters should return bool or dict. -If the dictionary is passed as result of filter - resulted data will be propagated to the next +Filters should return bool or dict. +If the dictionary is passed as result of filter - resulted data will be propagated to the next filters and handler as keywords arguments. Writing bound filters @@ -72,7 +72,6 @@ For example if you need to make simple text filter: .. note:: - Bound filters is always recursive propagates to the nested routers but will be available + Bound filters is always recursive propagates to the nested routers but will be available in nested routers only after attaching routers so that's mean you will need to include routers before registering handlers. - diff --git a/docs/dispatcher/index.rst b/docs/dispatcher/index.rst index c2ce4960..163fee1b 100644 --- a/docs/dispatcher/index.rst +++ b/docs/dispatcher/index.rst @@ -2,7 +2,7 @@ Handling events =============== -*aiogram* imcludes Dispatcher mechanism. +*aiogram* imcludes Dispatcher mechanism. Dispatcher is needed for handling incoming updates from Telegram. With dispatcher you can do: diff --git a/docs/dispatcher/observer.rst b/docs/dispatcher/observer.rst index 44cc10df..9276dcc4 100644 --- a/docs/dispatcher/observer.rst +++ b/docs/dispatcher/observer.rst @@ -6,7 +6,7 @@ Observer is used for filtering and handling different events. That is part of in In `aiogram` framework is available two variants of observer: -- `EventObserver <#eventobserver>`__ +- `EventObserver <#eventobserver>`__ - `TelegramEventObserver <#telegrameventobserver>`__ diff --git a/docs/dispatcher/router.rst b/docs/dispatcher/router.rst index ea13eea7..fe98537e 100644 --- a/docs/dispatcher/router.rst +++ b/docs/dispatcher/router.rst @@ -13,7 +13,7 @@ Event observers .. warning:: All handlers is always should be an asynchronous. - Name of handler function is not important. Event argument name is also is not important but is recommended to don't overlap the name with contextual data in due to function can not accept two arguments with the same name. + Name of handler function is not important. Event argument name is also is not important but is recommended to don't overlap the name with contextual data in due to function can not accept two arguments with the same name. Here is list of available observers and examples how to register handlers (In examples used only @decorator-style): @@ -23,7 +23,7 @@ Update ------ .. code-block:: python - + @router.update() async def message_handler(update: types.Update) -> Any: pass @@ -39,8 +39,8 @@ Message .. attention:: Be attentive with filtering this event - - You should expect than this event can be with different set's of attributes in different cases + + You should expect than this event can be with different set's of attributes in different cases (For example text, sticker and document is always is different content types of message) @@ -152,7 +152,7 @@ Nested routers .. warning:: Routers by the way can be nested to an another routers with some limitations: - + 1. Router **CAN NOT** include itself 1. Routers **CAN NOT** be used for circular including (router 1 include router 2, router 2 include router 3, router 3 include router 1) diff --git a/examples/finite_state_machine.py b/examples/finite_state_machine.py index 65266b64..2be912a0 100644 --- a/examples/finite_state_machine.py +++ b/examples/finite_state_machine.py @@ -7,9 +7,9 @@ from aiogram import Bot, Dispatcher, F from aiogram.dispatcher.filters import Command from aiogram.dispatcher.fsm.context import FSMContext from aiogram.dispatcher.fsm.state import State, StatesGroup -from aiogram.types import Message, ReplyKeyboardRemove, ReplyKeyboardMarkup, KeyboardButton +from aiogram.types import KeyboardButton, Message, ReplyKeyboardMarkup, ReplyKeyboardRemove +from aiogram.utils.keyboard import KeyboardBuilder from aiogram.utils.markdown import hbold -from aiogram.utils.markup import KeyboardConstructor GENDERS = ["Male", "Female", "Helicopter", "Other"] @@ -76,7 +76,7 @@ async def process_age(message: Message, state: FSMContext): await state.update_data(age=int(message.text)) # Configure ReplyKeyboardMarkup - constructor = KeyboardConstructor(KeyboardButton) + constructor = KeyboardBuilder(KeyboardButton) constructor.add(*(KeyboardButton(text=text) for text in GENDERS)).adjust(2) markup = ReplyKeyboardMarkup( resize_keyboard=True, selective=True, keyboard=constructor.export() diff --git a/examples/specify_updates.py b/examples/specify_updates.py index 33fdd093..5877a33c 100644 --- a/examples/specify_updates.py +++ b/examples/specify_updates.py @@ -1,11 +1,11 @@ -from aiogram.types.inline_keyboard_button import InlineKeyboardButton -from aiogram.types.inline_keyboard_markup import InlineKeyboardMarkup -from aiogram.dispatcher.router import Router -from aiogram.utils.handlers_in_use import get_handlers_in_use import logging from aiogram import Bot, Dispatcher -from aiogram.types import Message, ChatMemberUpdated, CallbackQuery +from aiogram.dispatcher.router import Router +from aiogram.types import CallbackQuery, ChatMemberUpdated, Message +from aiogram.types.inline_keyboard_button import InlineKeyboardButton +from aiogram.types.inline_keyboard_markup import InlineKeyboardMarkup +from aiogram.utils.handlers_in_use import get_handlers_in_use TOKEN = "6wo" dp = Dispatcher() @@ -51,7 +51,7 @@ sub_sub_router = Router() @sub_sub_router.edited_message() -async def callback_tap_me(edited_message: Message) -> None: +async def edited_message_handler(edited_message: Message) -> None: await edited_message.reply("Message was edited, big brother watch you") diff --git a/poetry.lock b/poetry.lock index 7f29ff0d..fa16765f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -663,7 +663,7 @@ dev = ["pre-commit", "tox"] [[package]] name = "pre-commit" -version = "2.13.0" +version = "2.15.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." category = "dev" optional = false @@ -1266,7 +1266,7 @@ redis = ["aioredis"] [metadata] lock-version = "1.1" python-versions = "^3.8" -content-hash = "e8bc158e14347b3766672505f38ad9d76b1cbf6f9557565e4e56664b0f663717" +content-hash = "558effa794bd627becae89d8416465bf2d11bd991da715b2b67a8eda6682b60c" [metadata.files] aiofiles = [ @@ -1540,12 +1540,22 @@ markdown-include = [ {file = "markdown-include-0.6.0.tar.gz", hash = "sha256:6f5d680e36f7780c7f0f61dca53ca581bd50d1b56137ddcd6353efafa0c3e4a2"}, ] markupsafe = [ + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"}, + {file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"}, + {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"}, {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"}, @@ -1554,14 +1564,21 @@ markupsafe = [ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"}, + {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"}, {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"}, {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"}, {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"}, + {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"}, {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"}, {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"}, {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"}, @@ -1571,6 +1588,9 @@ markupsafe = [ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"}, {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"}, {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"}, + {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"}, {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"}, {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"}, {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"}, @@ -1679,8 +1699,8 @@ pluggy = [ {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, ] pre-commit = [ - {file = "pre_commit-2.13.0-py2.py3-none-any.whl", hash = "sha256:b679d0fddd5b9d6d98783ae5f10fd0c4c59954f375b70a58cbe1ce9bcf9809a4"}, - {file = "pre_commit-2.13.0.tar.gz", hash = "sha256:764972c60693dc668ba8e86eb29654ec3144501310f7198742a767bec385a378"}, + {file = "pre_commit-2.15.0-py2.py3-none-any.whl", hash = "sha256:a4ed01000afcb484d9eb8d504272e642c4c4099bbad3a6b27e519bd6a3e928a6"}, + {file = "pre_commit-2.15.0.tar.gz", hash = "sha256:3c25add78dbdfb6a28a651780d5c311ac40dd17f160eb3954a0c59da40a505a7"}, ] prompt-toolkit = [ {file = "prompt_toolkit-3.0.18-py3-none-any.whl", hash = "sha256:bf00f22079f5fadc949f42ae8ff7f05702826a97059ffcc6281036ad40ac6f04"}, diff --git a/pyproject.toml b/pyproject.toml index 8ddeeaaa..e6ec4d32 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -71,7 +71,7 @@ toml = "^0.10.2" pygments = "^2.4" pymdown-extensions = "^8.0" markdown-include = "^0.6" -pre-commit = "^2.3.0" +pre-commit = "^2.15.0" packaging = "^20.3" typing-extensions = "^3.7.4" sphinx = "^3.1.0"