Install & Compatibility
Where this runs
tested against v1.3.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.328s · 235.1MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 7.8s · import 0.342s · 226MB
234MB installed
● package 234MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
from fluids import *
✓ import fluids
✗ from fluids import *
Star import pulls many names into namespace; use explicit imports instead.
FrictionFactor
✓ from fluids.friction import FrictionFactor
✗ from fluids import FrictionFactor
FrictionFactor is in the friction submodule, not top-level.
Basic usage: compute friction factor and pressure drop.
import fluids
from fluids.friction import FrictionFactor
# Compute friction factor for turbulent flow (Colebrook)
Re = 100000.0 # Reynolds number
roughness = 0.0015 # relative roughness e/D
ff = FrictionFactor(Re=Re, roughness=roughness, Method='Colebrook')
print(f'Friction factor: {ff}')
# Compute pressure drop in a pipe
dP = fluids.core.dP_from_f(fd=ff, L=100.0, D=0.1, rho=1000.0, V=2.0)
print(f'Pressure drop: {dP} Pa')
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'fluids.core'
Importing `fluids.core` directly is incorrect; core functions are exposed via `fluids` or submodules.
fixUse `import fluids` then `fluids.dP_from_f(...)` or `from fluids import dP_from_f`.
AttributeError: module 'fluids' has no attribute 'FrictionFactor'
FrictionFactor is not in the top-level namespace; it's in fluids.friction.
fixChange import to `from fluids.friction import FrictionFactor`.
ImportError: cannot import name 'HasNumericData' from 'fluids'
In version 1.0.0, HasNumericData was renamed or moved. Old import pattern is broken.
fixUse `from fluids.constants import HasNumericData` or remove dependency; check documentation.
TypeError: FrictionFactor() got an unexpected keyword argument 'Method'
In older versions, the argument was `method` (lowercase). Changed to `Method` in newer versions.
fixUse lowercase `method` if using version <1.0.26; or upgrade and use `Method`.
ValueError: Unknown method '' for function FrictionFactor
Empty or invalid method string; must be one of the known methods (e.g., 'Colebrook', 'Blasius').
fixSpecify a valid method or omit to use default.
Upgrade
Version history
1.3.0latest on PyPI · released Oct 25, 2025
Audit
Dependencies
scipyrequiredRequired for numerical methods and interpolation
numpyrequiredRequired for array operations
fluids-corerequiredCore data files for fluids