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”.
executors: All the libraries implementing executors this module supports natively, except distributed. Recognized executors are listed as follows:
json5: The Cython-backed JSON5 parser.
pconf: A collection of libraries used to parse config files in various formats.
Dependency groups¶
The PEP 735 dependency groups of this package are listed below for reference:
dev: Union of
sbtandtest.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.