All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- placeholder.
- Replace
pd.DataFrame.append
withpd.concat
. - Fix size-1 molecular dataframes not being correctly updated.
- Deprecate usage of
Molecule.get_formula
in favor of a PLAMS <=1.5.1-based backport.
- Add a new
PDBContainer
method for creating rdkit molecules. - Expose the
index_to_pandas
function. - Various fixes.
- Fixed an issue where not all properties were copied from the .csv to the .hdf5 file.
- Removed the .yaml job recipe storage component of the Database class.
- Added a function for validating property Groups.
- Cleaned up the Database class.
- Ensure that all content written to the .csv files is also written to the .hdf5 file.
- Pass the "logger" group directly to the hdf5_log functions.
- Added prop_to_dataframe(), a function for converting property Datasets into DataFrames.
- Added set-based methods to PDBContainer: .union(), .intersection(), .difference() & .symmetric_difference().
- Added PDBContainer.concatenate().
- Updated the hdf5 logging system.
- Moved all dtype-related functions and data to dataCAT.dtype.
- Cleaned up the global namespace.
- Added the PDBContainer.index attribute.
- Create the index Dataset when calling PDBContainer.create_hdf5_group(). Aforementioned Dataset is used as dimensional scale.
- Provide users more control over the keyword arguments used for creating datasets.
- Fixed an issue where`PDBContainer.to_molecules()` would set values as numpy scalars rather than using its builtin counterparts.
- Added an API for creating and managing datasets for containing quantum-mechanical properties in hdf5 format.
- Cleaned up the backwards-compatibility checks in dataCAT.create_database.
- Fixed bug with the PDBContainer hashing system.
- Moved part of the hdf5 database creation process to PDBContainer.create_hdf5_group().
- Added PDBContainer.keys() and PDBContainer.values().
- Moved a number of test files to dataCAT.testing_utils and dataCAT.data.
- Ignore flake8 N806.
- Added a test for building wheels.
- Added h5py to install_requires.
- Check for the presence of rdkit when running setup.py.
- Added PDBContainer.validate_hdf5().
- Execute .validate_hdf5() automatically when .to_hdf5() or .from_hdf5() crashes.
- Moved hdf5_availability() from Database to dataCAT.functions.
- Cleaned up the global namespace.
- Added libver="latest" to Database.hdf5.
- Overhauled the .pdb storage system.
- Introduced the PDBContainer class.
- Renamed dataCAT.database_functions to dataCAT.functions.
- Updated the documentation (see nlesc-nano/CAT#123).
- Store the
__version__
of CAT, Nano-CAT and Data-CAT in the hdf5 file. - Store the content of the .csv file also in the .hdf5 file.
- Reach a test coverage of >= 80%.
- Moved from travis to GitHub Actions.
- Enabled tests for Python 3.8.
- Added tests using
flake8
andpydocstyle
. - Removed the unused requirements.txt file.
- Cleaned up setup.py.
- Cleaned up the context managers; removed the MetaManager class in favor of functools.partial.
- Cleaned up the
DFCollection
class; renamed it toDFProxy
.
- Decapitalized all references to
"QD"
. - Import assertions from AssertionLib rather than CAT.
- Updated the handling of assertions, see
CAT.assertions.assertion_manager
.
- Lowered Python version requirement from >=3.7 to >=3.6.
- Changed the
dataCAT.Metamanager()
class from a dataclass into a subclass ofcollections.abc.Container()
- Updated many
__str__
and__repr__
methods. - Added the
Database.__eq__
method. - Moved context managers to
dataCAT.context_managers
- Moved (and renamed) the
DF()
class todataCAT.df_collection.DFCollection()
. - Added more tests.
- Introduced a proper logger (see nlesc-nano/CAT#46 and nlesc-nano/CAT#47).
- Empty Python project directory structure.