Extensible toolkit for analyzing turbulent flow datasets
Project description
turbx
About
turbx is a package for processing turbulent flow datasets. Primary data access classes are super()ed wrappers of h5py.File that make data & metadata access tidy and performant. Workloads requiring heavy I/O and compute are made scalable using parallelization and high-performance collective MPI-IO.
Pre-installation requirements
h5py
turbx is designed to be used with parallel-mode h5py, the python3 API for HDF5. Most basic workflows will still work transparently with the basic serial install of h5py, however data-heavy workflows will require the full API functionality. This requires:
- A parallel
HDF5installation h5pybuilt withHDF5_MPI="ON"; see h5py docs
Confirm that h5py was built with MPI support:
>>> import h5py
>>> h5py.get_config().mpi
True
mpi4py
High-performance collective MPI-IO and MPI operations are handled with mpi4py. This requires:
- An MPI implementation such as
OpenMPIorMPICH mpi4py; see mpi4py docs
Installation
TL;DR
Install binary directly from PyPI:
python3 -m pip install --upgrade turbx
Non-root install with --user
The --user flag can be added to install to ~/.local/lib/pythonX.Y/site-packages rather than site-packages of the python3 installation itself. This is often required for HPC environments where installing packages for the system python3 is not allowed for regular users.
Editable installs
turbx can also be installed from source in editable mode (see setuptools docs). Once the source is acquired (PyPI or GitLab), the source can be installed from the project root folder:
python3 -m pip install --upgrade -e .
Installing on systems with no outbound network access
If the restricted install environment requires devpi-server:
On a local machine with internet access:
devpi-server
On a local machine with internet access:
ssh -R <remote_port>:localhost:<local_devpi_port> user@domain.com
<local_devpi_port>is the port on whichdevpi-serveris running locally<remote_port>is an arbitrary free port on the system login node used to expose the mirror remotely- After connecting, the PyPI mirror will be reachable on the server side at:
http://localhost:<remote_port>
On the remote system:
python3 -m pip install --upgrade [--user] [--editable] --index-url http://localhost:<remote_port>/root/pypi/+simple/ <package-or-path>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turbx-1.2.2.tar.gz.
File metadata
- Download URL: turbx-1.2.2.tar.gz
- Upload date:
- Size: 221.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
347ef9ded0da0e22a1d646d630f2f7481f9d10c011272f201baca49dd9b9552c
|
|
| MD5 |
aa875a6f77b9359d59387c373690ae4f
|
|
| BLAKE2b-256 |
dea208865f5e6a300e0ca42bb25f17c13cc0a480b1b60e2d1c73bc59b437e7c0
|
File details
Details for the file turbx-1.2.2-py3-none-any.whl.
File metadata
- Download URL: turbx-1.2.2-py3-none-any.whl
- Upload date:
- Size: 244.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e16e5d209b41abb8747f29f06999eb83f3b79ada5d2eadf8779b41ea874f6c0
|
|
| MD5 |
b60bb34807336f6f1240904836291f3c
|
|
| BLAKE2b-256 |
d1bd497be3ec70547b79f26ae37ddf5272d39d035d3bde64046251ee1dc9e3b0
|