Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog (+ the Migration Guide and Scientific Changes section), and this project adheres to Semantic Versioning.
[0.4.0] -¶
In this release the entire core of tcpc was rewritten and a lot of the api was reimagened. This release also has no proper deprecation. This repo will the wild west until the 1.0 release
There are a multitude of changes, that I do not remember all. Here is the list of most important things:
A lot of the import paths have changed. It is likely that you need to update some imports
A new way to resolve the mutable default issue was introduced. It uses a explicit factory. To make that more clear, the name for mutable wrapper has changed from
mdf
->cf
or fromdefault
->CloneFactory
The overall class API got a lot slimmer. A bunch of methods like
get_attributes
, are now functions that can be called with the class or instance as argument. Most methods were further renamed to represent there meaning in the context oftpcp
. For example,get_attributes
->get_results
The new concept of Parameter Annotation was added. You can add type annotations with the types
Parameter
,HyperParameter
,OptimizableParameter
, orPureParameter
to a class parameter to indicate its role for the algorithm. This is in particularly helpful for optimizable Pipelines and algorithms. Wrapper methods can then use these annotations to run implementation checks and optimizations. The only method that uses these at the momement isGridSearchCV
. It now allows to setpure_parameters
toTrue
, which will collect the list of all attributes annotated withPureParameter
and use this information for performance optimization. Before, you needed to specify the list of pure parameters manually.Some core classes where renamed:
BaseAlgorithm
->Algorithm
,SimplePipeline
->Pipeline
The decorators to make
run
andself_optimize
safe are now reimagened and renamed tomake_run_safe
andmake_optimize_safe