Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pr/1.4.5 #233

Merged
merged 50 commits into from
Nov 14, 2023
Merged

Pr/1.4.5 #233

merged 50 commits into from
Nov 14, 2023

Conversation

mpvanderschelling
Copy link
Collaborator

@mpvanderschelling mpvanderschelling commented Nov 10, 2023

This pull request will update the main code to version 1.4.5

Major updates

Domain and Parameter classes

  • All Parameter classes are now private. The suggested way to add parameters to a Domain will be with the public add_float, add_int, add_category and add_constant methods.
  • Change the behaviour of the public Domain.add method to require the type and arguments of the (private) parameter to construct, instead of requiring the private Parameter object

ExperimentData class

  • Added a method that extracts all ExperimentSample objects or a selection of ExperimentSample objects from an ExperimentData object
  • Removed the .filename attribute in ExperimentData: the name of the stored objects are hardcoded
  • Refactored the .path attribute to the .project_dir attribute. When storing the ExperimentData object with the .store() method, a subdirectory (/experiment_data/) will be created and the input data, output data, domain and jobs will be stored there.

Optimizer class

  • Added functionality to select different strategies to determine the initial points ($x_0$) before optimization.

_Data class

  • Decoupled the headers of the _Data class to a separate private _Columns class. This makes it more flexible for future development on the generalization of different back-ends (currently pandas) for _Data
  • Removed dependency of Domain to _Data class

Storing output data

  • Output that is stored to disk will no longer have the path_ prefix before the parameter. This information is stored within the _Columns object
  • The ExperimentSample.output_data will, if applicable, load the output parameters from disk automatically
  • The attribute ExperimentSample.output_data_with_references will give you the paths of the references
  • Added backwards compatibility for ExperimentSample.output_data_loaded (will redirect to ExperimentSample.output_data

Documentation

  • Made private methods of public objects visible in sphinx documentation API

Bessa Group Coding Guidelines

  • Restored the original .flake8 file of the BRG coding guidelines; the maximum linewidth is now 79 instead of 119.

Miscellaneous

  • Represent all private attributes and methods with an underscore (_).

Closed issues

Remove the naming discrepancy (`path_`) of referenced to_disk=True object
Add a method to ExperimentData that extracts all the ExperimentSamples in a list
@mpvanderschelling mpvanderschelling added the to main This merge is done to the main branch label Nov 10, 2023
@mpvanderschelling mpvanderschelling marked this pull request as ready for review November 10, 2023 18:33
Copy link
Collaborator

@BernardoFerreira BernardoFerreira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job with this new release version, a lot of major updates that will significantly improve f3dasm functionality for sure! Please review the few comments that I left before approval.

Thank you for the less "functionality" improvements such as the compliance with the BRG guidelines and the private leading _ convention. Nonetheless, I point out that there are some modules that still don't have the correct BRG header format and several functions/methods/classes that don't have docstrings (namely private ones). These should be fixed for the next CRW (December 5).

src/f3dasm/_src/datageneration/abaqus/abaqus_functions.py Outdated Show resolved Hide resolved
src/f3dasm/_src/experimentdata/_io.py Outdated Show resolved Hide resolved
@mpvanderschelling mpvanderschelling merged commit 7495fc4 into main Nov 14, 2023
37 checks passed
@mpvanderschelling mpvanderschelling deleted the pr/1.4.5 branch November 14, 2023 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
to main This merge is done to the main branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants