We are excited to announce some highly impactful new features with this release of Citrine Python. You can now get the fully featurized training data associated with any valid predictor. We've also included more control over the generative molecular design process, as well as improved the data ingestion process.
What's New
* Finally, you can quickly access the fully featurized training data from a given predictor with the `get_featurized_training_data` method. Simply call `project.get_featurized_training_data` with the ID and version of your predictor and you will get a list of design materials representing your training data with features present. 858
* You can now designate the minimum number of substructures to construct when running generative molecular design by passing a dictionary to the new `min_substructure_counts` argument. 856
* Thanks to 859, a slew of new arguments to the ingest method make getting structured data on platform substantially easier:
* `upload` will copy files onto platform if they're not there already
* `delete_dataset_contents` and `delete_templates` will clear out old records prior to creating new ones
* `build_table` will follow object generation with creating a table for that data, ready for modeling
Improvements
* FileLink objects and the associated FileCollection methods (read, write, etc.) now work smoothly with local files just like remote ones: just use the [File URI scheme](https://en.wikipedia.org/wiki/File_URI_scheme) or convenient `from_path` method. #859
**Full Changelog**: https://github.com/CitrineInformatics/citrine-python/compare/v2.19.2...v2.22.0