From e93d5845e8902a4703450b43ed0d3953fd4dfdb8 Mon Sep 17 00:00:00 2001 From: insolor <2442833+insolor@users.noreply.github.com> Date: Wed, 17 Jun 2026 06:33:55 +0000 Subject: [PATCH 1/4] Version 0.10.4 --- poetry.toml | 2 -- pyproject.toml | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 poetry.toml diff --git a/poetry.toml b/poetry.toml deleted file mode 100644 index ab1033b..0000000 --- a/poetry.toml +++ /dev/null @@ -1,2 +0,0 @@ -[virtualenvs] -in-project = true diff --git a/pyproject.toml b/pyproject.toml index fddb225..fc7fa77 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "async-tkinter-loop" -version = "0.10.3" +version = "0.10.4" description = "Asynchronous mainloop implementation for tkinter" authors = ["insolor "] license = "MIT" From 78a6a44bd4acb6028e75b1ef96ee2848636d4a31 Mon Sep 17 00:00:00 2001 From: insolor <2442833+insolor@users.noreply.github.com> Date: Wed, 17 Jun 2026 06:35:38 +0000 Subject: [PATCH 2/4] Relax customtkinter optional dependency --- poetry.lock | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/poetry.lock b/poetry.lock index d58fe34..ea9b6ef 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1343,4 +1343,4 @@ examples = ["Pillow", "customtkinter", "httpx"] [metadata] lock-version = "2.1" python-versions = "^3.10" -content-hash = "a536467d2615bf58cae786ff106409312e1c093a060fec580df5ac874177708d" +content-hash = "40d20c89312b9b1b261976a6d06b6c4627bc53168ffbd03030c6de48f15531ed" diff --git a/pyproject.toml b/pyproject.toml index fc7fa77..b3164e2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ classifiers = [ python = "^3.10" Pillow = {version = ">=10.3.0,<13.0.0", optional = true} httpx = {version = ">=0.23.1,<0.29.0", optional = true} -customtkinter = {version = "^5.2.1", optional = true} +customtkinter = {version = ">=5,<6", optional = true} typing-extensions = "*" [tool.poetry.group.dev.dependencies] From 525a0ae0fc4ef93c5cd34036ba668e885bb46394 Mon Sep 17 00:00:00 2001 From: insolor <2442833+insolor@users.noreply.github.com> Date: Wed, 17 Jun 2026 06:40:56 +0000 Subject: [PATCH 3/4] Update similar_projects.md --- docs/similar_projects.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/similar_projects.md b/docs/similar_projects.md index b6b71b5..a46f60f 100644 --- a/docs/similar_projects.md +++ b/docs/similar_projects.md @@ -3,9 +3,10 @@ * [Starwort/asynctk](https://github.com/Starwort/asynctk) ([on PyPi](https://pypi.org/project/asynctk/)) - tries to wrap all widgets and make all their methods asyncroneous. Most recent commit: October 2021. GPL v3 license. -* [gottadiveintopython/asynctkinter](https://github.com/gottadiveintopython/asynctkinter) ([on PyPi](https://pypi.org/project/asynctkinter/)) - looks like an asynchronous framework itself (like [trio](https://github.com/python-trio/trio)). - Most recent commit: August 2023. +* [asyncgui/asynctkinter](https://github.com/asyncgui/asynctkinter) ([on PyPi](https://pypi.org/project/asynctkinter/)) - looks like an asynchronous framework itself (like [trio](https://github.com/python-trio/trio)). + Archived Jun 15, 2026 MIT License. +* [asyncgui/asynctkinter2](https://github.com/asyncgui/asynctkinter2) ([on PyPi](https://pypi.org/project/asynctkinter2/)) - successor of asynctkinter. The latter two projects use old `asyncio` code (from before `async`/`await` syntax addition): From 755d314db37dad8ec35cff13e39e84fc41125df3 Mon Sep 17 00:00:00 2001 From: insolor <2442833+insolor@users.noreply.github.com> Date: Wed, 17 Jun 2026 06:48:04 +0000 Subject: [PATCH 4/4] Check code formatting in ci --- .github/workflows/python-tests.yml | 3 +++ async_tkinter_loop/async_tkinter_loop.py | 1 + pyproject.toml | 1 + 3 files changed, 5 insertions(+) diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml index 6a366c4..5409332 100644 --- a/.github/workflows/python-tests.yml +++ b/.github/workflows/python-tests.yml @@ -53,6 +53,9 @@ jobs: - name: Install dependencies run: poetry install --without docs + - name: Check formatting with ruff + run: poetry run ruff format . --check + - name: Lint with ruff run: poetry run ruff check . --statistics diff --git a/async_tkinter_loop/async_tkinter_loop.py b/async_tkinter_loop/async_tkinter_loop.py index 9547629..20a61a9 100644 --- a/async_tkinter_loop/async_tkinter_loop.py +++ b/async_tkinter_loop/async_tkinter_loop.py @@ -108,6 +108,7 @@ async def some_async_function(): button = tk.Button("Press me", command=some_async_function) ``` """ + @wraps(async_function) def wrapper(*handler_args) -> None: loop = event_loop or get_event_loop() diff --git a/pyproject.toml b/pyproject.toml index b3164e2..6e9d666 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,6 +53,7 @@ ignore = [ "D", # Warning about docstrings are suppressed for now "ANN002", "ANN003", + "COM812", # Conflicts with the formatter ] fixable = ["ALL"]