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.5.tar.gz (14.1 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.5-cp313-cp313-win_amd64.whl (23.5 MB view details)

Uploaded CPython 3.13Windows x86-64

pyeql-1.6.5-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.5-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (19.8 MB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

pyeql-1.6.5-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.5-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (19.8 MB view details)

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

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

pyeql-1.6.5-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.5-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (19.8 MB view details)

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

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

Uploaded CPython 3.11macOS 11.0+ ARM64

pyeql-1.6.5-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.5.tar.gz.

File metadata

  • Download URL: pyeql-1.6.5.tar.gz
  • Upload date:
  • Size: 14.1 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.5.tar.gz
Algorithm Hash digest
SHA256 92a278b90d410b4a4a062b4d8eab7c79a1fb4431f4b342709abde9181580ea3c
MD5 817189d2aeda147a4ab24fecf3fd1019
BLAKE2b-256 cff2beb3d85a36f9f65e4fc4db9daf6835619bf12a2dfaafc95f6c03b26a57eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5.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.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyeql-1.6.5-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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c5ea2385786fb1fc8879ea6199653737ca488b867f68e3735d7b1d02ef347186
MD5 b5ed867111385d4e39d1390b8f506cda
BLAKE2b-256 2d68762db6c28539260d15c8db63c2c3fa6aca9e33946035ef20beb4da86d354

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37247c09009ae4bc1f71aed2b95eddd70ecb49127947654d9a442f77630587f6
MD5 01efe5add0c2d254430912d20728d669
BLAKE2b-256 7066f87adcc0279748c741952983a9153abf3273f45fde5885d5af74ff98e6e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 30fe0776e30fb53836e25625721b0e3a6d78c5e451d85500c22c8028a60ea045
MD5 a33806c1c9ec62fed1de6ef1b3ea4f11
BLAKE2b-256 e3b68d6960a472163969d6b2d310498c8f32255055f04aa052a0fd587cbbb511

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 28933ebfc1df76c44edd35bd59ae12dbb4e382b1e0453b7ee40c33cb84382a9d
MD5 d618f2098fcdd84eb607c441a9f74cef
BLAKE2b-256 c22fbbba37ffe5087cd888398a61adabbb786de0db1bbbb1ab218b934a352fe3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b8942b496006ad2d32eb5bf0e02ee5dd5f30181ffe5e356c0fd104700b8c4941
MD5 13579680de078ebad4d19ed79a6d84dd
BLAKE2b-256 7b2a22e06d51501660744b15ce932a40c0e2f83c6d1efa18fc4f96559fd32d93

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyeql-1.6.5-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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5daab6478bc9ae0f8b1f9b04879c652ca7c0bb7c282dc3868d03053f1c2aee5e
MD5 14fac2b978fa680f0b929052e938fbea
BLAKE2b-256 e58f851611315aae6dd02f0a36c8f42538d435171ca7d0e35b4d5cd47ba2d837

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b89e4a07b051f84e71435added8b2116cc90eafb49f050dfe54f554762342740
MD5 05076fdbc0c51281af76b528aabca2c1
BLAKE2b-256 99f34c0985d573d75cae73db37de3347a69c56bc1c2f03a4c8cfacd3b05d6564

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9ec8fa61fc683e99549c772604c1d22c75ad751a126258e3fb821d2e23430609
MD5 9b70081999716c17c1d2b4200b0d46fd
BLAKE2b-256 2bdc942afb3dc9bbcd5ca4cff5b44a5c6d1b8dfc08a88a4f29450f1f7c8b42dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 009b326a4cd3c9e8077dd785650d14cb709e1909beb6ffbec71bb5e48797bf08
MD5 7c427049bb51963909438a3822904847
BLAKE2b-256 adc5e5010a029ff8b3d87e6550ec4c99e7df84ac1c96685abe3c4f2bce4e1a13

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 8993e737509df8bc24718487391c414ba896524700f742494ee4bdd3ef84bbfd
MD5 0767f1e2cd2a0e8d12565fb4baaf8b64
BLAKE2b-256 a24f07f5d1fe4c4401a8ca6e018ebaf0f57b64babbc28733aa0f84a317987d74

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyeql-1.6.5-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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f4e2d24a4754ee35814ad2cc9cbb1ce2dc47315db3a8ffa0e5097a192a6ba9cf
MD5 194d2d114bba155f10c4c9012e4e1cdc
BLAKE2b-256 379a64d459b56fcc750ec265d12f802076c6cf8c5a474920f237b144ae20be36

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0bdaeb1cc37beb1dbe3988f7cd5d61fd9a3fc91eaae221723a0e9d320d3e5d41
MD5 f7effd5baee4a42e8cdb8f2db36a0463
BLAKE2b-256 5a1d13dac753fe2bd2774ff13f3bc784851a34f280950039962bab3df9285064

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1725fb9c4d19ac72907269419768908538b7a2e4fe77fe8be07b216c5ba8e53b
MD5 7e9b32361e34ccccf3884d97fa2d33ae
BLAKE2b-256 3bfede0e9fa8da137957037b3f6d50cc45ad3281f6125f43f823e14db43f8bb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c54cad031626a9783074853fd39ae3cba4a8fd8c784d35dfba59de943ec3e26a
MD5 0bd8f4ee924ab5c6f24dfce7d0c67f19
BLAKE2b-256 e7112d10b8046060f9bd7f154647348e3e9fa824c1805be6cfd9ffe3a624b78c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyeql-1.6.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0466ffb93b500b46e1d2a24a706d32da3436d6cb05d9d378681fd0d93c2f6d6a
MD5 560cbc714c1f6dfed0d8306cc978378a
BLAKE2b-256 3e260cf918c6e99b2ad1f820b5cee059d43cc969a05815b418e796f607830672

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyeql-1.6.5-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.

Release history Release notifications | RSS feed

This release

1.6.5 This release

16 files

1.6.1

16 files

1.5.0

16 files

1.4.0

21 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

3 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.15.1

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.1

2 files

0.11.0

2 files

0.10.1

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.2

2 files

0.5

1 file

0.4

2 files

0.3.1

2 files

0.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page