Path: csiph.com!news.samoylyk.net!gothmog.csi.it!bofh.it!news.nic.it!robomod From: Edward Betts Newsgroups: linux.debian.bugs.dist,linux.debian.devel,linux.debian.maint.python Subject: Bug#1088097: ITP: python-asyncinject -- Run async workflows using pytest-fixtures-style dependency injection Date: Sat, 23 Nov 2024 10:20:01 +0100 Message-ID: X-Mailbox-Line: From debian-bugs-dist-request@lists.debian.org Sat Nov 23 09:15:08 2024 Old-Return-Path: X-Spam-Flag: NO X-Spam-Score: -2.151 Reply-To: Edward Betts , 1088097@bugs.debian.org Resent-To: debian-bugs-dist@lists.debian.org Resent-Cc: debian-devel@lists.debian.org, debian-python@lists.debian.org, wnpp@debian.org X-Debian-Pr-Message: report 1088097 X-Debian-Pr-Package: wnpp MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Debian-Message: from BTS X-Mailing-List: archive/latest/1869640 List-ID: List-URL: Approved: robomod@news.nic.it Lines: 28 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Sat, 23 Nov 2024 09:12:25 +0000 X-Original-Message-ID: Xref: csiph.com linux.debian.bugs.dist:1221301 linux.debian.devel:114211 linux.debian.maint.python:16487 Package: wnpp Severity: wishlist Owner: Edward Betts X-Debbugs-Cc: debian-devel@lists.debian.org, debian-python@lists.debian.org * Package name : python-asyncinject Version : 0.6 Upstream Author : Simon Willison * URL : https://github.com/simonw/asyncinject * License : Apache-2.0 Programming Lang: Python Description : Run async workflows using pytest-fixtures-style dependency injection This library simplifies the execution of parallel asynchronous operations by utilising a dependency injection style similar to pytest fixtures. It allows you to define a collection of functions, where the function arguments represent dependent functions that must be executed first. The library creates and executes an efficient sequence for executing the necessary functions in parallel. Functions, whether regular or asynchronous, can be registered and executed by the library, providing flexibility in managing dependencies. The dependency injection mechanism allows passing keyword arguments directly to functions and enables default parameter values, thereby excluding them from dependency checks. Additionally, users can gather timing information for executed tasks or disable parallel execution for benchmarking purposes. This makes the execution of complex workflows more manageable by organizing and parallelizing dependent tasks. I plan to maintain this package as part of the Python team.