Skip to main content

A python interface for solution chemistry

Project description

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.10+. This project will attempt to adhere to NumPy's NEP 29 deprecation policy for older version of Python.
  • pint - for units-aware calculations
  • pymatgen - 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/.

Project details


Download files

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

Source Distribution

vineetb_pyeql-1.0.4rc11.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.

vineetb_pyeql-1.0.4rc11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (20.0 MB view details)

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

vineetb_pyeql-1.0.4rc11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (20.0 MB view details)

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

vineetb_pyeql-1.0.4rc11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (20.0 MB view details)

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

vineetb_pyeql-1.0.4rc11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (20.0 MB view details)

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

File details

Details for the file vineetb_pyeql-1.0.4rc11.tar.gz.

File metadata

  • Download URL: vineetb_pyeql-1.0.4rc11.tar.gz
  • Upload date:
  • Size: 14.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vineetb_pyeql-1.0.4rc11.tar.gz
Algorithm Hash digest
SHA256 061528a2364c4c729f7997fbef14f6a8e5763f16466850cc9074177572d05274
MD5 ba8a78a4be657883f2b9ca26aa18ce7a
BLAKE2b-256 64046bfea4c290091fe9d41d70ecaaf1dab39bb56c29a3b7adee7e5b4cd3ebfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for vineetb_pyeql-1.0.4rc11.tar.gz:

Publisher: release.yml on vineetbansal/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 vineetb_pyeql-1.0.4rc11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vineetb_pyeql-1.0.4rc11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 91d9f2e64b2222095b9792426d970a68aecd2e71088640151e11b9542ebdb3bb
MD5 f994175cf99f303bd6dd62cb50bbe48a
BLAKE2b-256 082d36755453e918121fde69360d5f843fb1b34152f616c85d52f5e18841f04f

See more details on using hashes here.

Provenance

The following attestation bundles were made for vineetb_pyeql-1.0.4rc11-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on vineetbansal/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 vineetb_pyeql-1.0.4rc11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vineetb_pyeql-1.0.4rc11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 51c5da3fdf08569ab8074e3eb5c1fe16380ae73be312183c725745b949cb6d16
MD5 a298a8a644c987c9a4662c67a44b4f22
BLAKE2b-256 68328b1aa15c136ca2e7aedaadd2f6b7725f30b89e18e567ce9815743bf53d71

See more details on using hashes here.

Provenance

The following attestation bundles were made for vineetb_pyeql-1.0.4rc11-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on vineetbansal/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 vineetb_pyeql-1.0.4rc11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vineetb_pyeql-1.0.4rc11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b19cce17250bf175dde214553225ac88adbe0b07649c3c6706ae356ccd10f54
MD5 af83de08cbc72e5d65b05220b872973a
BLAKE2b-256 f49b7f7dc66f9b6634e9028f7dd2ac5690650ac55efe5c893cd6dcdda4a0a019

See more details on using hashes here.

Provenance

The following attestation bundles were made for vineetb_pyeql-1.0.4rc11-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on vineetbansal/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 vineetb_pyeql-1.0.4rc11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vineetb_pyeql-1.0.4rc11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f45262d58c44d9a79bfcea82b7e46c3525de5102eb31c280998fd9494e694a42
MD5 f7a152f131bbc1818af11381729be586
BLAKE2b-256 3d7d729c4bf65f3c0cb65ff60343daf68f286197f61b177cd57480f0de143be4

See more details on using hashes here.

Provenance

The following attestation bundles were made for vineetb_pyeql-1.0.4rc11-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on vineetbansal/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