⚛️📈 **overreact** is a **library** and a **command-line tool** for building and analyzing homogeneous **microkinetic models** from **first-principles calculations**.
<p align="center">
<img alt="overreact" src="https://raw.githubusercontent.com/geem-lab/overreact-guide/master/logo.png" />
</p>
This is a **feature release** of **overreact** that improves output, automatic choice of most parameters and _adds support for [Python 3.10](https://www.python.org/downloads/release/python-3100/)_.
Update it using [pip](https://pypi.org/project/pip/):
console
$ pip install -U 'overreact[cli,fast]'
**Overreact** is licensed under the [MIT license](https://github.com/geem-lab/overreact/blob/main/LICENSE).
ℹ️ By the way, our manuscript has been featured in the [latest issue of the Journal of Computational Chemistry](https://onlinelibrary.wiley.com/toc/1096987x/2023/44/3#heading-level-1-3)! If you use **overreact** in your research, please cite:
> Schneider, F. S. S.; Caramori, G. F. _**Overreact**, an in Silico Lab: Automative Quantum Chemical Microkinetic Simulations for Complex Chemical Reactions_. Journal of Computational Chemistry **2022**, 44 (3), 209–217. [doi:10.1002/jcc.26861](https://doi.org/10.1002/jcc.26861).
Here's the reference in [BibTeX](http://www.bibtex.org/) format:
bibtex
article{overreact_paper2022,
title = {Overreact, an in silico lab: Automative quantum chemical microkinetic simulations for complex chemical reactions},
author = {Schneider, Felipe S. S. and Caramori, Giovanni F.},
year = {2022},
month = {Apr},
journal = {Journal of Computational Chemistry},
publisher = {Wiley},
volume = {44},
number = {3},
pages = {209–217},
doi = {10.1002/jcc.26861},
issn = {1096-987x},
url = {http://dx.doi.org/10.1002/jcc.26861},
}
What's Changed
Highlights
**It just works®**:
**overreact** is easier than ever. We fine-tuned the choice of many parameters, so that your simulations run smoothly right from the start. It is now smart enough to guess for how long to simulate (bde5bece7a12adda2b43ff6cbce919d5bf886cb7, 3c842a7eb38ae5190925b33507955fa6e31c99c8), which solver to use (928b48d6226d08031cc313ef192bba567f343d4b), how fast should an equilibrium be (3a516bd80078044bf5863e766c03cce92031d2b0, 1d2cbc8616057f595e8cc31ce2eb1d1568c4db6a, 645578c3cea49f5efb27cc1b8f2d5098bbd4d4bf), how to handle edge cases when correcting for quantum tunneling (0e5ad845a7eb6565aba67e45f3fa7e8d273a262b), which species actually make sense to plot when generating a kinetic profile (2de3dbd24e885786cce2d73a4bd9c311a8a3ce75), how large show the first time step be in a simulation (8eafc35bce452345a530c67a42476a1a284f1384, a4cd60d6cd2ebda62e3314940af9e671880541ee, ae55264300b8d0e13626f8c6fb6000e16f48fa45), and more.
**Adjust energies per species**:
You can now use the `extra_energy_term` flag to adjust the energy of a single species (777155ce15d69492a10dce401c8138e9d7eb6c73).
**User-interface and output**:
The output has been enhanced and is clearer than ever (13fd9ae3b48fecf98a7c84688206101387cf9826, 4f2c0d4a28c9f9a0fd12dca061483348ecdcd86e, dec2297ba8020b12eab10d48fcc666756760a0b9), which now shows the progress of the calculation as it is being performed (2d4d894d043053b203d495932c800ef45bd0c1c5). Error messages and warnings have been improved as well (92c7cb0fd3da1b09fee70ae002ce59b596a227c5).
**Documentation and resources**:
We greatly improved consistency between the documentation, API and command-line help (f0bc3b93a7c8bfae6a2c2564ff331ed43c72e7ec, d828d379f97342489301b2893eea677f3b5da3d5, 0ae47270f46a1709cb9776125bb2013058d81882, 1a2d0305894e57287d70fe827c0b0825095d448f, c6daa5502ff7d0e00e9e0541d1fcc066a5e1a1e9). In fact, we now have two sets of documentations: the [user guide](https://geem-lab.github.io/overreact-guide/), focused on the use of the command-line application, and the [Python API documentation](https://geem-lab.github.io/overreact/) (b1c745671f10c201b02b2122c9a8b60695f97a98, 4ecacfc23faf5b83cef58545408ca809e6e235fe, ea298d0acb56608620e1bfaa608dd79502ad8cac, 8ca1c7fe110f26d6b47f3777ee159ceba335c206, b6c888658fbf63d901b4e1fb59ba8469ece8d8df, da221515660542264ca6cee53c7414712d2dde4c, 8eb5f06386d5eedb4510f35e06a7b07f6db8a1ce, 0212376214b27b49a1fbc7cd53942f2ddef9cb86). We now have an improved [README.md](https://github.com/geem-lab/overreact#readme) file (79ba5f2010e2b581ba2c943af54cb7c3bad235f0, df904083c8fb0536e7dc483222ae9b2053f257b5, c2b62edb609a01096e1c9b44694f90e49d731472, 0be2ad8392112b8afc79682e8f7f24b695434f5c, 64da6b9954f9dfec7f8f10c77dffeaf6d7176194, [149](https://github.com/geem-lab/overreact/pull/149)), as well as a great [CONTRIBUTING.md](https://github.com/geem-lab/overreact/blob/main/CONTRIBUTING.md#contributing) thanks to [Leticia-maria](https://github.com/Leticia-maria) (fcccbd174bbd8e56bca6c5a0eb3c4350972c42d3, f1ce7c0f7b06d5245d5d3daa0450f35a797f5716, [#133](https://github.com/geem-lab/overreact/pull/133)). Thanks, Letícia!
**Code quality and API**:
The user-facing API is now almost completely type-hinted (37cca8d2217b5fcc812f26ed793543f235ac42f7, 819773c1ccf83dd36d06939d94584c2e6810f6d3). There might be some rough edges yet, so feel free to [open an issue](https://github.com/geem-lab/overreact/issues/new) if you see something. Lots of housekeeping has been taken place as well, mostly to keep the code base modern, performant, and easy to use (f47206b07787fc074dbfd5bded9e87e1d2f882e7, ea27d5b234d5ed972d6283340a342ccd040fccf9, 2f6a176d5bd513ad0e50aac0e12e9c3ee92d588f, fb99f6c9d24dd26fe62d289f70e76f0e6d0acac1, 7622789e029bc3fd4ab660c25e3939f929de740b, f60a705ca184bebd845401b8c9925dc49e32cc09). We now target Python versions [3.8](https://www.python.org/downloads/release/python-3810/)-[3.10](https://www.python.org/downloads/release/python-3100/) (bc67e7de1ddbb30fe541f4883c10eaacaded7131, c0892441194ee0d8b2f5eaf8294d7c5023eef2ac), and use [Ruff](https://github.com/charliermarsh/ruff) and [Black](https://github.com/psf/black) to keep the code base as tidy as possible (cddc09d5d8c877abee16ac14de2e38869a73bc2a, a0f1be3648a0c1cf7ebf97c60dbc622020b224d8, 14dde8662ba9fa6285d01c9ae59ffc56134a5e81).
Pull requests
Here are the list of relevant pull requests since last version.
- Update CONTRIBUTING.md by Leticia-maria in https://github.com/geem-lab/overreact/pull/133
- Add table to organize badges by Leticia-maria in https://github.com/geem-lab/overreact/pull/149
- Bump actions/checkout from 2 to 3 by dependabot in https://github.com/geem-lab/overreact/pull/182
- Bump bandit from 1.7.3 to 1.7.4 by dependabot in https://github.com/geem-lab/overreact/pull/184
- Bump codecov/codecov-action from 2 to 3 by dependabot in https://github.com/geem-lab/overreact/pull/213
- Bump github/codeql-action from 1 to 2 by dependabot in https://github.com/geem-lab/overreact/pull/227
- Bump thermo from 0.2.20 to 0.2.21 by dependabot in https://github.com/geem-lab/overreact/pull/240
- Bump pillow from 9.1.0 to 9.1.1 by dependabot in https://github.com/geem-lab/overreact/pull/251
- Bump notebook from 6.4.11 to 6.4.12 by dependabot in https://github.com/geem-lab/overreact/pull/257
- Bump abatilo/actions-poetry from 2.1.4 to 2.1.6 by dependabot in https://github.com/geem-lab/overreact/pull/282
- Bump nbconvert from 6.5.0 to 6.5.1 by dependabot in https://github.com/geem-lab/overreact/pull/283
- Bump mistune from 0.8.4 to 2.0.3 by dependabot in https://github.com/geem-lab/overreact/pull/290
- Bump cclib from 1.7.1 to 1.7.2 by dependabot in https://github.com/geem-lab/overreact/pull/288
- Bump flake8 from 4.0.1 to 5.0.4 by dependabot in https://github.com/geem-lab/overreact/pull/292
- Bump pytest from 7.1.2 to 7.1.3 by dependabot in https://github.com/geem-lab/overreact/pull/297
- Bump actions/setup-python from 4.2.0 to 4.3.0 by dependabot in https://github.com/geem-lab/overreact/pull/306
- Bump pytest-cov from 3.0.0 to 4.0.0 by dependabot in https://github.com/geem-lab/overreact/pull/314
- Bump matplotlib from 3.6.1 to 3.6.2 by dependabot in https://github.com/geem-lab/overreact/pull/319
- Bump mypy from 0.990 to 0.991 by dependabot in https://github.com/geem-lab/overreact/pull/328
- Bump pdoc from 12.2.2 to 12.3.0 by dependabot in https://github.com/geem-lab/overreact/pull/329
- Bump debugpy from 1.6.3 to 1.6.4 by dependabot in https://github.com/geem-lab/overreact/pull/336
- Bump flynt from 0.76 to 0.77 by dependabot in https://github.com/geem-lab/overreact/pull/335
- Bump types-setuptools from 65.6.0.1 to 65.6.0.2 by dependabot in https://github.com/geem-lab/overreact/pull/340
- Bump pyupgrade from 3.3.0 to 3.3.1 by dependabot in https://github.com/geem-lab/overreact/pull/341
- Bump black from 22.10.0 to 22.12.0 by dependabot in https://github.com/geem-lab/overreact/pull/342
- Bump jax from 0.3.25 to 0.4.1 by dependabot in https://github.com/geem-lab/overreact/pull/346
- Bump jaxlib from 0.3.25 to 0.4.1 by dependabot in https://github.com/geem-lab/overreact/pull/345
- Bump isort from 5.11.3 to 5.11.4 by dependabot in https://github.com/geem-lab/overreact/pull/348
- Bump seaborn from 0.12.1 to 0.12.2 by dependabot in https://github.com/geem-lab/overreact/pull/350
- Bump rich from 12.6.0 to 13.0.0 by dependabot in https://github.com/geem-lab/overreact/pull/349
- Bump scipy from 1.9.3 to 1.10.0 by dependabot in https://github.com/geem-lab/overreact/pull/351
- Bump ipython from 8.7.0 to 8.8.0 by dependabot in https://github.com/geem-lab/overreact/pull/352
New Contributors
- Leticia-maria made their first contribution in https://github.com/geem-lab/overreact/pull/133
**Full Changelog**: https://github.com/geem-lab/overreact/compare/v1.0.2...v1.1.0