Installation#

You can prototype async code quickly using the uv tool interface, if you need only the executable (that is, the CLI) and not the library. This can be helpful if you wish to decide how much this library suits your needs before committing to installation. Simply execute:

uvx --from py-asyncutils asyncutils

The REPL starts with the following banner:

asyncutils REPL (version 1.3.7) running on linux
Type "help", "copyright", "credits" or "license" for more information, "clear" to
clear the terminal, and "exit" or "quit" to exit.
asyncutils is a multi-purpose and efficient asynchronous utilities library.
You can await awaitables directly. There is no need to call asyncio.run.
All the submodules of asyncutils are also loaded into the namespace.

asyncutils injects itself into the globals. Afterwards, simply type Python code as you normally would, bearing in mind that await statements are magically supported:

>>> import asyncutils
>>> from asyncutils import *
>>> # The above is automatically printed and executed
>>> # Your code here

For the normal installation pathway, many more package managers are supported.

You are advised to ensure that your package manager is updated to the latest version as follows:

# uv (preferred for modernity, speed and compatibility with this project)
uv self update # standalone installation of uv
pip install -U uv # pip installation of uv
pip install -U pip # pip
pip install -U pipx # pipx
# conda
conda update conda anaconda
conda update --all # optional
poetry self update # poetry
pip install -U pdm # pdm
pip install -U pipenv # pipenv

Next, install py-asyncutils:

# recommended: uv
uv pip install py-asyncutils==1.3.7
uv pip install git+https://github.com/jonathandung/asyncutils.git
# directly from source
# pip
pip install py-asyncutils==1.3.7
pip install git+https://github.com/jonathandung/asyncutils.git
# directly from source
# conda
conda install -c conda-forge py-asyncutils=1.3.7
# alternatively:
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install py-asyncutils==1.3.7

other installation pathways:

pipx install py-asyncutils==1.3.7 # pipx
pdm add -g py-asyncutils==1.3.7 # pdm (not exactly a conventional installation)
pipenv install py-asyncutils==1.3.7 # pipenv
# no package manager (needs Python and the build and installer packages)
python3 -m build # generate sdist and wheel in dist/
python3 -m installer dist/*.whl # install from the wheel

asyncutils will then be made available as an entry point to the asyncutils CLI. The CLI can also be called with python3 -m asyncutils.

Optional dependencies#

Below are the PEP 508 optional dependencies this package provides, also known as “extras”.

Dependency groups#

The PEP 735 dependency groups of this package are listed below for reference:

  • dev: Union of sbt and test.

  • docs: Sphinx and plugins.

  • furo: The furo HTML theme for Sphinx and everything in docs.

  • sbt: sphinx-book-theme and everything in docs.

  • test: pytest and plugins.