Skip to main content

Read the Docs testing codecov Supported python versions DOI PyPI version status

pyEQL logo

A python interface for water chemistry

Description

The goal of pyEQL is to provide a stable, intuitive, easy to learn python interface for water chemistry that can be connected to a variety of different modeling engines

Specifically, pyEQL defines a Solution class to represent an aqueous electrolyte solution. The Solution class allows the user to manipulate solutions as Python objects, providing methods to populate them with solutes, calculate species-specific properties (such as activity and diffusion coefficients), and retrieve bulk properties (such as density, conductivity, or volume).

>>> from pyEQL import Solution
>>> s1=Solution({"Na+":"1 mol/L", "Cl-": "1 mol/L"})
>>> s1.density
<Quantity(1.03710384, 'kilogram / liter')>
>>> s1.conductivity
<Quantity(8.09523295, 'siemens / meter')>
>>> s1.osmotic_pressure.to('atm')
<Quantity(46.7798197, 'standard_atmosphere')>
>>> s1.get_amount('Na+', 'ug/L')
<Quantity(22989769.3, 'microgram / liter')>

pyEQL also includes a number of other utilities to support water chemistry analysis, including a built-in property database of diffusion coefficients, activity correction parameters, and other data on a variety of common electrolytes.

It is designed to be customizable and easy to integrate into projects that require modeling of chemical thermodyanmics of aqueous solutions. It aspires to provide a flexible, extensible framework for the user, with a high level of transparency about data sources and calculation methods.

Key Features

  • Build accurate solution properties using a minimum of inputs. Just specify the identity and quantity of a solute and pyEQL will do the rest.

  • "Graceful Decay" from more sophisticated, data-intensive modeling approaches to simpler, less accurate ones depending on the amount of data supplied.

  • Not limited to dilute solutions. pyEQL contains out of the box support for the Pitzer Model and other methods for modeling concentrated solutions.

  • Built in database containing hundreds of model parameters and physicochemical properties for different ions.

  • Units-aware calculations (by means of the pint library)

Documentation

Detailed documentation is available at https://pyeql.readthedocs.io/

Dependencies

  • Python 3.11+. This project will attempt to adhere to NumPy's NEP 29 deprecation policy for older version of Python.
  • pint - for units-aware calculations
  • pymatgen-core - periodic table and chemical formula information
  • phreeqpython - for PHREEQC-based speciation calculations
  • iapws - equations of state for water
  • monty - serialization and deserialization utilities
  • maggma - interface for accessing the property database
  • scipy - for certain nonlinear equation solvers

pyEQL is licensed under LGPL.

This project has been set up using PyScaffold 4.5. For details and usage information on PyScaffold see https://pyscaffold.org/.

Download files

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

Source Distribution

pyeql-1.6.1.tar.gz (14.2 MB view details)

Uploaded Source

Built Distributions

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

pyeql-1.6.1-cp313-cp313-win_amd64.whl (23.5 MB view details)

Uploaded CPython 3.13Windows x86-64

pyeql-1.6.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (20.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyeql-1.6.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (19.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyeql-1.6.1-cp313-cp313-macosx_11_0_arm64.whl (19.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyeql-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyeql-1.6.1-cp312-cp312-win_amd64.whl (23.5 MB view details)

Uploaded CPython 3.12Windows x86-64

pyeql-1.6.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (20.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyeql-1.6.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (19.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyeql-1.6.1-cp312-cp312-macosx_11_0_arm64.whl (19.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyeql-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyeql-1.6.1-cp311-cp311-win_amd64.whl (23.5 MB view details)

Uploaded CPython 3.11Windows x86-64

pyeql-1.6.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (20.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyeql-1.6.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (19.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyeql-1.6.1-cp311-cp311-macosx_11_0_arm64.whl (19.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyeql-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl (19.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file pyeql-1.6.1.tar.gz.

File metadata

  • Download URL: pyeql-1.6.1.tar.gz
  • Upload date:
  • Size: 14.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyeql-1.6.1.tar.gz
Algorithm Hash digest
SHA256 7c230fffd9c095295102c4f5bbfa9cfa8ec4dcd96ed987ae238ad6fa32a8c6a7
MD5 90238aeb88071da068896adad23be0bc
BLAKE2b-256 cfc62d50f5ac6c152c9b6c0dc8cd09f93a2b5964ef4e896eca223a2800842c20

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1.tar.gz:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyeql-1.6.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 23.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyeql-1.6.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 596f355ae2327fa2d8c1652d8d1b9dabf33b3905662867acf2369f5b09756fdb
MD5 a77b82b0d3d2760ef78c07de019cdf39
BLAKE2b-256 6d456921eb71537963986b8496c90a17e67b24a95fc8d386fc4d8750c127f614

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09ce849769443e415679bc3a14a9ad50b00ea154297a0cb6c44c041805b0b113
MD5 92b63e340c78a7dcf890ca8e671ccc58
BLAKE2b-256 877b18b449141f2fdbb1f63e7971cc483678e5e0d84a87d931399bc55e982c82

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e1562c253ff591aca0e728417a007702034077b7d385767421fdb716c60ef03d
MD5 5bf3f07679dadc0e08da2bc8741b33b9
BLAKE2b-256 a3494f43e2b5d9029ab93c335129f68ca01d9b55d048594d1325fae0aa060399

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59edccaca41fed41e8671bfb9e4dc0e7311199d53af11e19f31926deb3397f28
MD5 d9766a2c2ee3d1be0031b5b4c0a7a445
BLAKE2b-256 7a955a2c702f53075b6ba6a1fd99da32e592b5f3881c520ea10eb306aee07075

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b319e311b8080ddd2ffe33e116b1ca5f62a1773885927abb91fc9761799d7543
MD5 03cad35bd5f1a941f71f52ea77cb663c
BLAKE2b-256 dbd8893ef55a11fe46bad46459559f385a5e44f19289482630eba283fd6e1781

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyeql-1.6.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 23.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyeql-1.6.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 26f42c8a1d1e9c9a9eca06972876c46bc723f2b73c6e0cf6c69d0f5576a75059
MD5 84ed5b33a069f5c7887dd9a0ce979ef9
BLAKE2b-256 cfa3f54d65e35c57987799158f991e43857a6794ef4dface5c3f9c982f822047

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 84bba6661d04ca8fb2bddbd0f45b8735f7f2b37b28d85922b002f045d934572c
MD5 6da58f2078876011e26a79a2ed30b605
BLAKE2b-256 65f1a453ab0646ffc7b0e1219a2d4e68763b436df60d7116b507e0dc7a023809

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ff24c47eec51f8167f130690ee3e0c2c2ab3ca95f31cd6ef7186ebfa032901f3
MD5 89809cee6f3e4148d4fb10bdafdcb8e0
BLAKE2b-256 815edbaa2b977bd2bcb348b9cc1788956d17c8709c63257d7974892a086b70c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6c48b49510f8dc195c2507511a1dbc42b03ece91c24ccab4fc88f4d87775cf4b
MD5 8280bb0984fdb2ac6bc5f5ec7a033fe3
BLAKE2b-256 31b305db04ea7f7da4a63a347fb932a9e909ad05349d4b3854d7ca475edb72bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c17285a36a972a4beee174b0c4536454b3b81d84f0b59604d21d1f5b5b2f8272
MD5 64472284015a721ef7135655c5414671
BLAKE2b-256 97cd68c239c03f60282f4ca2d9db87f0f956f4d83ec835c6476c2dcd547cd5b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyeql-1.6.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 23.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyeql-1.6.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4c698d76c0ffabc173b3aebc45cc062ae23a5f5262bdf94008de4b86d3150368
MD5 0aa7691db6db2d0d4a7959ec0cb4e054
BLAKE2b-256 f79d1783946cbe2cfda57810a6d78849a3fe73e1f4fe7d7ed2e7750edbef8554

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 31a8561c1dd55db8d9991debacf3b0668a8fb7c73617c2398587cf3c1205e8fa
MD5 dfb92ef5bd413d58b0bc3cfe2a3c0129
BLAKE2b-256 a40ab16032f895ff5dd792db2195e59b10efaed9b58635ef39649e961bfaa609

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4ce9e31c30103ec5f064b1a00806625a7bc935bfa590d104cde9967b48bcc19a
MD5 a3e671cca39a158655cf160c9b13012f
BLAKE2b-256 6766efde4ea6c1dd85df2c9ec88a4afcacbccba53f1c8108c0247084bc6a1aab

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5986b6352e195f06fbc675cf8691b918ec0af4ffb7e98d5b0b68fd9c0a52a2ee
MD5 414103963facc2e4e738bb815ae4b076
BLAKE2b-256 785de9d1077baca44e08d00583af16131b5063cdbf5c9a4923c5198b65d2606b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyeql-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 839d2f3829736a3185039859edd84c713883e106e15d23010afce07b36a3fd7c
MD5 bfb7fd5ec65303a55074e98182cb3c27
BLAKE2b-256 9011b7a9e73835a5c2ea38903d386c3646f7337adb18b1073e997f14e690e80a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: release.yml on KingsburyLab/pyEQL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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