------------------
New features:
* ⚠️ To reduce import bloat pyGAPS is now **modular**. Previously global
functions must be accessed through submodules. For example:
``pygaps.area_BET`` now must be imported from
``pygaps.characterisation.area_BET``.
* 🎆 pyGAPS is now on ``conda-forge``
* Volumetric adsorbed amount is now given in either ``volume_gas`` or
`volume_liquid` basis, corresponding to the volume amount the adsorbate would
occupy in the bulk gas phase, or the volume of an ideal liquid phase of
adsorbate (at isotherm temperature). The old loading_basis of ``volume`` is
deprecated and automatically converted to ``volume_gas`` while emitting a
warning.
* Manufacturer parsing is streamlined with the introduction of the
``pygaps.parsing.isotherm_from_commercial`` function.
* Drastically improved reliability and modularity of code in preparation
for the release of the pyGAPS-gui interface.
* Added a "zero" thickness model that assumes no mono/multilayer sorption.
Useful in the case of condensation in hydrophobic materials.
* Better documentation.
Changes:
* ⚠️ Minimum python is now 3.7, maximum increased to 3.10.
* Removed the need to pass DataFrame column names with the ``other_keys``
syntax. PointIsotherms, now save *all* passed DataFrame columns.
* Smart assigning of isotherm metadata caused confusion and was removed.
Metadata assigned like ``isotherm.myparam`` is now no longer serialized to
dictionaries, parsers etc. Instead, isotherms have a `isotherm.properties`
dictionary which contains all metadata.
* Adsorption/desorption branches are internally represented as 0 and 1 instead
of False/True. This allows the possibility for further cycles to be introduced
in a future release.
* Isotherm ``material`` and ``adsorbate`` are now always instantiated as
``pygaps.Material`` and ``pygaps.Adsorbate`` classes.
Plus many small and large bugs fixed.