Skip to content

Releases: amogh7joshi/chemsolve

chemsolve v1.8.3

08 Apr 16:00
Compare
Choose a tag to compare

This version fixes a major issue in that Compound.from_formula was unable to perform calculations for the molecular formula of a compound.

chemsolve v1.8.2

21 Mar 21:46
Compare
Choose a tag to compare

This version improves error raising and traceback in the library. Specifically, invalid element names passed to the Element class will now raise an appropriate InvalidElementError as opposed to an IndexError by the periodic table, and the Reaction.from_string method now raises an InvalidReactionError rather than a ValueError.

chemsolve v1.8.1

17 Mar 02:22
Compare
Choose a tag to compare

This version update adds all of the different Chemsolve errors to the top-level module, since all of them were originally not imported in chemsolve/__init__.py.

chemsolve v1.8.0

16 Mar 21:56
Compare
Choose a tag to compare

This version introduces the chemsolve.ranking module, with 4 new methods to rank elements based on different properties: atomic radius, electronegativity, first ionization energy, and electron affinity.

This version also adds proper error methods, including ChemsolveError, InvalidChemistryArgumentError, and its subclasses for elements, compounds, and reactions. If you want to use a try/except loop when working with chemical objects, you can import these methods directly from chemsolve, e.g. from chemsolve import InvalidCompoundError.

In addition, the chemsolve.solutions module has been updated with calculation methods for pH and pOH, both from hydronium and hydroxide (for each). Following the release of v2.0.0, this module will see further changes, but expect some more smaller additions in v1.9.0 as well.

Additional Changes:

  • The Reaction class now uses reactants and products keyword arguments instead of just *args, although *args will continue to work for the time being it has been deprecated and will be removed in v2.0.0, start using the new functionality now.
  • You can now create reactions directly from strings, through the Reaction.from_string method. More information about its specific usage can be found in its docstring.
  • The top-level chemsolve module now has two new methods, list_strong_acids and list_strong_bases.
  • The Gas object from the chemsolve.gases module now has better internal functionalities, so it is more useful for actual computation.

New information has been added pertaining to v2.0.0 in the FUTUREVERSION.md file, which can be found here.

chemsolve v1.7.0

12 Feb 13:35
Compare
Choose a tag to compare

This update to Chemsolve focuses on new features and updates to existing classes, as well as major reworkings of the internals of the Element, Compound, and Reaction classes, and finally the beginning of preparation for v2.0.0 (some point in a few months or so).

Major Features:

  • Added the ability to create Element classes from a provided electron configuration or molar mass.
  • Added the SolutionCompound class, similar to the Compound class but allows initialization through volume or molarity, and charge/state values.
  • Added the ability to determine whether a certain compound is in a reaction, or an element is within a compound (through the __contains__ magic method).
  • Added the chemsolve.physics module with a few functions (namely kinetic and potential energy calculations).

Transitional Features and Bug Fixes:

  • Added deprecations for classes which will be removed in v2.0.0, primarily CombustionTrain, FormulaCompound, SpecialElement, now you will get a warning whenever you use them.
  • Migrated the functionalities of the SpecialElement class to the Element class.
  • Added transitional Compound.from_formula method and Reaction.from_combustion to replace the Compound.fromFormula and Reaction.fromCombustion methods, respectively.
  • Update the molarity method to accept a SolutionCompound rather than individual keyword arguments for moles/volume/molarity.

In addition, updated a lot of the internal workings of the Compound and Reaction classes, to improve class functionality, the most visible of which is a fixed display error when calling Reaction.fromCombustion().main_reactant.

chemsolve v1.6.0

06 Jan 15:20
Compare
Choose a tag to compare

This update adds the IdealGas class, which is able to perform basic PV=nRT calculations. In addition, a number of new methods have been added including:

  1. Unit conversion for pressure. Convert between atm, psi, bar, Pa, etc.
  2. Unit conversion for temperature. Convert between Celsius, Farenheit, and Kelvin.
  3. Basic molarity calculations, when mole amounts and volume are provided.

In addition, each module has been updated to include an __all__ variable, such that you can now run

from chemsolve import *

and get all the functionalities of the library.

chemsolve v1.5.0

23 Oct 01:35
Compare
Choose a tag to compare

New Features: Implementation of the photoelectric effect and energy calculations through changes in energy levels, and addition of periodic trends to the Element class.

In addition:

  1. Removed dependencies on the periodictable library for the Element class, now using a Periodic Table csv file. Removed the attribute gathering methods and put a direct access implementation for the class attributes.
  2. Added a great number of string operations to gather indexes and determine charges.
  3. Implemented them into a basic redox reaction, which at the moment can calculate the oxidization numbers of the elements in the elements and products, and create the oxidation and reduction half-reaction.

chemsolve v1.4.6

19 Oct 19:40
Compare
Choose a tag to compare

Changed to use a CSV file containing periodic table data instead of the periodictable module.

(Once again, skipped a couple of versions which contained bugs. This time, though, they don't exist on PyPi either)

chemsolve v1.4.3

18 Oct 17:51
Compare
Choose a tag to compare

Fixed all issues involving the Reaction.fromCombustion method.

(v1.4.2 was adding init files, skipped directly to v.1.4.3).

chemsolve v1.4.1

18 Oct 17:23
Compare
Choose a tag to compare

Changed the "electrochemistry" directory to "solutions", patched errors within it.