Skip to main content

Extensible toolkit for analyzing turbulent flow datasets

Project description

turbx

PyPI version Downloads

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 HDF5 installation
  • h5py built with HDF5_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 OpenMPI or MPICH
  • 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 which devpi-server is 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

turbx-1.0.1.tar.gz (173.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

turbx-1.0.1-py3-none-any.whl (194.5 kB view details)

Uploaded Python 3

File details

Details for the file turbx-1.0.1.tar.gz.

File metadata

  • Download URL: turbx-1.0.1.tar.gz
  • Upload date:
  • Size: 173.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for turbx-1.0.1.tar.gz
Algorithm Hash digest
SHA256 323f48b0fe28a173c7eb2b76db8e89c95f6cdcb53dd1f66b6637511347d9a812
MD5 331802f11ec66751b21b9799b0cde49c
BLAKE2b-256 88d6e4a8a099c348c7d09fc7cad6c64e9d9dc26c5a25b3d1ab21036f1a78f98c

See more details on using hashes here.

File details

Details for the file turbx-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: turbx-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 194.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for turbx-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d50674b0101858c3abad09d76497966916740140dd379493f5d66a62af0fec97
MD5 75e8cefced498ef90b327b4c584fc03f
BLAKE2b-256 9aa8a2c5bf74f00128cad87619c0a89af8b84eaafcbb8fed3abc25251ec9de3b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page