asynch-hlm: the Python package of ASYNCH (import asynch)
Python interface to ASYNCH, the asynchronous solver of hydrological models on river networks.
The numerical work is done by the C library libasynch.so; Python drives it.
from asynch import Simulation
with Simulation("test_2015.gbl") as sim: # run in examples/
sim.run() # same output files as `asynch test_2015.gbl`
q = sim.states[:, 0] # discharge of every link
Simulation: run a global file, advance in steps, get/set states and parameters, custom outputs, MPI.Model: define a new model with C code (compiled, as fast as the built-in models) or Python functions.GlobalConfig: read, change and write global files (.gbl).asynch.io: read output files, write input files.
Installation, tutorial and reference: https://gurbuzf.github.io/asynch/guide/10_python.html.
Ready-made (Linux x86-64, glibc 2.31 or newer), from PyPI. The package
carries the library and the asynch program, compiled; pip installs MPI with it (the mpich package, with
mpiexec). Nothing to build:
pip install --upgrade pip && pip install asynch-hlm # the latest version
asynch test.gbl # the program; mpiexec -n 4 asynch test.gbl
pip install --upgrade asynch-hlm updates it; pip install asynch-hlm==<version> installs a given version. The same
wheels are attached to each release of https://github.com/gurbuzf/asynch/releases.
From the sources, after building and installing ASYNCH (make install puts libasynch.so in /usr/local/lib):
pip install ./python # or: export PYTHONPATH=$PWD/python
python3 -m asynch library # shows which libasynch.so is used (override with ASYNCH_LIBRARY)
Needs Python >= 3.8 and NumPy; h5py to read .h5 files; a C compiler for models written in C; mpi4py only
to pass another communicator.
Changelog
The details of every change, with its effect on numerical results, are in CHANGELOG.md.
1.7.0 (2026-09-28)
A speed release. A new, optional numerical solver for stiff equations makes long simulations several times faster at the same accuracy, and peaks are located more precisely with it. The default solver is unchanged, so existing configurations give the same results as 1.6.0. Runs also start about one second sooner.
1.6.0 (2026-09-27)
A quality release. The units and equations of every built-in model were checked systematically and the
inconsistencies found were corrected; new tests check the physical consistency of every model. Numerical results
change for some models (listed in the changelog); model 254 gives the same results as 1.5.0. The ready-made
package is now installed with pip install asynch-hlm.
1.5.0 (2026-09-26)
The first release of this branch: a Python library (asynch: run and change simulations, new models in C, Numba or
Python, MPI), installable on Linux with pip without building anything, many reliability fixes, support for networks
above 65 535 links, automated tests against the reference results, GitHub Actions, and a documentation website.
Release files for asynch-hlm 1.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| asynch_hlm-1.7.0-py3-none-manylinux_2_31_x86_64.whl | Python 3 | none | Linux glibc 2.31+ x86-64 | Details |
Release files / asynch_hlm-1.7.0-py3-none-manylinux_2_31_x86_64.whl
| Download URL | asynch_hlm-1.7.0-py3-none-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 8.6 MB |
| Tags | Linux glibc 2.31+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
92b35da0988bc42378c0f5f00969098ec2a35695f785420c5c52001bf0dac506
|
|
BLAKE2b-256 checksum How to use checksums |
31e898e640ecf3b04ac682798ee050195bb715b116a663667bc816d45974d00f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.
Transparency log