GeoEq is an open-source Python library that brings validated geotechnical formulas into one clean, consistent, and well-documented package.
Every function validates inputs, documents units, references its source method, and returns clear results. No hidden surprises.
Every function checks for physically impossible values and raises clear errors before computing. No silent failures.
Every docstring states what units are expected and returned. kN/m3, kPa, degrees -- never left to guesswork.
Every formula references its source textbook or paper. Das, Holtz, Craig -- fully traceable engineering methods.
Pure Python standard library. Install it anywhere -- no numpy, no scipy, no heavy packages required.
Standardized sieve (ASTM/BS/IS) and hydrometer (ASTM D7928) modules with professional plotting.
Verified against geotechnical textbooks (Das, Holtz) with high-resolution smooth plotting.
Generate high-resolution PNG/SVG/PDF plots with automated $D_{10}$, $C_u$, and $C_c$ markers.
Install from PyPI and start computing soil properties immediately. No configuration, no setup files, no boilerplate.
v0.0.4 includes professional **Particle Size Distribution** analysis (Sieve & Hydrometer) with automated smooth curves and parameter extraction.
import geoeq as sp # 1. Sieve Analysis res = sp.sieve_ana(opening=["#4", "#200"], mass_retained=[10, 85]) # 2. Extract D10, Cu, Cc parameters d10 = sp.grain_d10(res) cu = sp.grain_Cu(res) # 3. Professional Academic Plotting sp.grain_size_plot(res, smooth=True, save_as="plot.png") print(f"Uniformity Coefficient (Cu): {cu:.2f}")
GeoEq starts with fundamentals and expands into advanced geotechnical methods. Here is what is planned.
Sieve & Hydrometer suite, professional academic plotting, and parameter extraction.
Effective stress, pore pressure, hydraulic gradient, quick condition.
Bearing capacity, settlement, Schmertmann method, eccentric loading.
SPT/CPT correlations, USCS classification, soil profile objects.
Rankine, Coulomb, retaining wall stability, consolidation.
Pile capacity, slope stability, liquefaction, seismic assessment.
GeoEq is an open-source project built to make geotechnical calculations clean, consistent, and accessible. Engineers, students, and researchers are invited to collaborate -- add methods, write tests, improve docs, or share feedback.