pyEQL: A Python library for solution chemistry
==============================================

pyEQL is a Python library that provides tools for modeling aqueous electrolyte
solutions. It 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 retreive bulk properties (such as density, conductivity, or volume).

It aspires to provide flexibilty, transparency, and extensibility. 
It is designed to be customizable and easy to integrate into projects 
that require modeling of chemical thermodyanmics of aqueous solutions.

pyEQL runs on Python 3.0+ and is licensed under LGPL.

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.
  
- Extensible database system that facilitates integrating supplemental 
  parameter values with pyEQL's defaults.

- Units-aware calculations (by means of the pint library)
  
- Logging system provides robust documentation of data sources, assumptions, 
  and limitations of all calculations

Documentation
-------------
Detailed documentation is available at http://pyeql.readthedocs.org/

Dependencies
------------
 - Python 3
 - pint - for units-aware calculations
 - scipy - for certain nonlinear equation solvers



