Published August 22, 2026
| Version v1.6.5
Software
Open
pyEQL: A python library for water chemistry
Description
[1.6.5] - 2026-08-21
Changed
get_el_amt_dictandget_components_by_elementnow look up each solute'soxi_state_guessesonce per species instead of redundantly re-fetching it on every element of that species. Output is unchanged; the two methods run roughly 8% and 11% faster, respectively, on a 47-species seawater solution. (@rkingsbury)- CHANGED BEHAVIOR
Solution.__mul__/Solution.__truediv__: scalarsol * factorandsol / factorno longer mutate the originalSolutionand return an alias of it. They now return a new, independently scaledSolution, leaving the original unchanged (consistent with Python numeric-type semantics). In-place*=//=retain their documented mutate-in-place behavior (now via explicit__imul__/__itruediv__), andfactor * solis now supported via__rmul__. (#461, @youdie006)
Fixed
Solution.alkalinityis now invariant to how the equilibrium engine speciates the solution. The conservative-ion contributions are computed from the total analytical concentration of each constituent (viaget_total_amount) rather than from free-ion concentrations. Previously, engines such as PHREEQC that form ion pairs (e.g.NaSO4[-1],MgSO4(aq),CaSO4(aq)) would reduce the freeSO4[-2]concentration duringequilibrate(), spuriously inflating the alkalinity of seawater from ~117 to ~753 mg/L as CaCO3. Credit to @jjstickel for reporting. (#458, @rkingsbury).gitignorenow correctly excludesipynb_checkpointfiles. (@rkingsbury; @jjstickel)
Files
KingsburyLab/pyEQL-v1.6.5.zip
Files
(14.5 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:553593e184b2565cc2a97258bb0df780
|
14.5 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/KingsburyLab/pyEQL/tree/v1.6.5 (URL)
Software
- Repository URL
- https://github.com/KingsburyLab/pyEQL