Pyeql

Latest version: v1.0.0

Safety actively analyzes 619159 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.0.0

Added

- `Solution.__init__`: new keyword argument `log_level` allows user to control the verbosity of log messages by setting
the level (e.g., ERROR, WARNING, etc.) that will be shown in stdout.
- Docs: added a note about a workaround for Apple M1/M2 Macs proposed by xiaoxiaozhu123

Changed

- `Solution.__init__`: The deprecated format for specifying solutes (e.g., `[["Na+", "0.5 mol/L]]`)
which previously only generated log warning message, now raises a `DeprecationWarning`. Use dict-style input (e.g.,
`{"Na+":"0.5 mol/L"}`) instead.
- New logo! Updated the `pyEQL` logo (for the first time in 9 years!) to address an obsolete font in the .svg
and modernize the design.

Removed

- **BREAKING** All methods and functions (with the exception of `Solution.list_XXX` methods) previously marked with
deprecation warnings have been removed.

0.15.1

Fixed

- `Solution.get_total_amount`: Fixed an issue in which `ppm` units would fail.

0.15.0

Added

- `utils.interpret_units`: New method to "sanitize" environmental engineering units like ppm to strings that `pint`
can understand, e.g. ppm -> mg/L. This method is now used in `get_amount` and `get_total_amount` to ensure consistency
in how they process units.

Changed

- CI: `pre-commit autoupdate`

Fixed

- `Solution`: Fixed an issue in which repeated calls to `equilibrate` when using `NativeEOS` or `PHREEQCEOS` would
change the mass of the `Solution` slightly. This was attributed to the fact that `pyEQL` and `PHREEQC` use slightly
different molecular weights for water.
- `Solution`: `get_total_amount` and related methods could fail when the oxidation state of an element was
unknown (e.g., 'Br') (Issue [116](https://github.com/KingsburyLab/pyEQL/issues/116))

0.14.0

Added

- `NativeEOS` / `PhreeqcEOS`: Added `try`/`catch` so that `pyEQL` can still be used on platforms that PHREEQC does
not support, such as Apple Silicon. In such cases, functions like `equilibrate` that depend on PHREEQC will
raise errors, but everything else can still be used.
- CI: Added Apple M1 runner (GitHub: `macos-14`) to the CI tests.

Fixed

- CI: Addressed several issues in the testing configuration which had resulted in testing
fewer operating systems x python version combinations than intended. CI tests now
correctly and comprehensively test every supported version of python on every os
(macos, windows, ubuntu).
- `utils.FormulaDict`: implemented `__contains__` so that `get()` works correctly in
python 3.12+. See https://github.com/python/cpython/issues/105524
- Docs: fixed many small problems in documentation causing equations and examples to
render incorrectly.
- `Solution.from_file`: Add missing `classmethod` decorator; update documentation.

0.13.0

Fixed

- `equilibrium.alpha()`: Fixed incorrect calculation of acid-base distribution coefficient for multiprotic acids.

0.12.2

Fixed

- `Solution.get_total_amount`: Fix bug that would cause the method to fail if
units with names not natively understood by `pint` (e.g., 'ppm') were passed.

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.