Skip to content

A framework for processing adsorption data and isotherm fitting

License

Notifications You must be signed in to change notification settings

pauliacomi/pyGAPS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a7e6c54 · May 8, 2019
Mar 18, 2019
Apr 29, 2019
Apr 27, 2019
May 8, 2019
May 8, 2019
May 8, 2019
Dec 5, 2018
Dec 11, 2018
Jul 27, 2017
Feb 5, 2019
Jul 28, 2017
Apr 27, 2019
Jun 28, 2018
May 8, 2019
Apr 18, 2019
Jul 27, 2017
Jun 27, 2018
May 8, 2019
Dec 12, 2018
May 8, 2019
May 8, 2019
Dec 11, 2018

Repository files navigation

Overview

pyGAPS (Python General Adsorption Processing Suite) is a framework for adsorption data analysis written in Python 3.

status
docs
Documentation Status
license
tests
package

Features

  • Advanced adsorption data import and manipulation
  • Routine analysis such as BET/Langmuir surface area, t-plot, alpha-s, Dubinin plots etc.
  • Pore size distribution calculations for mesopores (BJH, Dollimore-Heal)
  • Pore size distribution calculations for micropores (Horvath-Kawazoe)
  • Pore size distribution calculations using DFT kernels
  • Isotherm model fitting (Henry, Langmuir, DS/TS Langmuir, etc..)
  • IAST calculations for binary and multicomponent adsorption
  • Isosteric enthalpy of adsorption calculations
  • Parsing to and from multiple formats such as Excel, CSV and JSON
  • An sqlite database backend for storing and retrieving data
  • Simple methods for isotherm graphing and comparison

Citing

A peer-reviewed paper regarding pyGAPS is currently in the process of being published. In the meantime, consider citing the preprint if you use the program in your work.

Paul Iacomi, Philip L. Llewellyn, 2019. pyGAPS: A Python-Based Framework for Adsorption Isotherm Processing and Material Characterisation. https://doi.org/10.26434/chemrxiv.7970402.v1

Documentation

For more info, as well as a complete manual and reference visit:

https://pygaps.readthedocs.io/

Most of the examples in the documentation are actually in the form of Jupyter Notebooks which are turned into webpages with nbsphinx. You can find them for download in:

https://github.com/pauliacomi/pyGAPS/tree/master/docs/examples

Installation

The easiest way to install pyGAPS is from the command line. Make sure that you have numpy, scipy, pandas and matplotlib, as well as CoolProp already installed.

pip install pygaps

Anaconda/Conda is your best bet since it manages environments for you. First create a new environment and use conda to install the dependencies (or start with one that already has a full instalation). Then use pip inside your environment.

conda create -n py3 python=3 numpy scipy pandas matplotlib CoolProp
conda activate py3
pip install pygaps

Alternatively, to install the development branch, clone the repository from Github. Then install the package with pip or setuptools, either in regular or developer mode.

git clone https://github.com/pauliacomi/pyGAPS

// then install

pip install ./              # pip
python setup.py install     # setuptools

// or developer mode

pip install -e ./           # pip
python setup.py develop     # setuptools

Development

If you have all the python environments needed to run the entire test suite, use tox. To run the all tests run:

tox

Note, to combine the coverage data from all the tox environments run:

Windows
set PYTEST_ADDOPTS=--cov-append
tox
Other
PYTEST_ADDOPTS=--cov-append tox

For testing only with the environment you are currently on, run instead

python setup.py test

# or run pytest

pytest

Alternatively, you can depend on TravisCI for testing, which will be slower overall but should have all the environments required.

Questions?

I'm more than happy to answer any questions. Shoot an email to mail( at )pauliacomi.com or find me on some social media.

For any bugs found, please open an issue or, even better, submit a pull request. It'll make my life easier. This also applies to any features which you think might benefit the project.