Recent Releases of f3dasm

f3dasm - 2.0.2

Major changes

  • Added ArrayParameter to work with np.array structures
  • Added optional ports to optuna and scipy.minimize libraries
  • Added support for uv installation
  • Restructuring and removing unnecessary functionalities (benchmark function manipulation)

Bugfixes

  • Bugfix in ExperimentData.remove_rows_bottom
  • Bugfix when joining empty ExperimentData object

What's Changed

  • Pr/2.0.2 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/300

Full Changelog: https://github.com/bessagroup/f3dasm/compare/2.0.1...2.0.2

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling 4 months ago

f3dasm - 2.0.1

Major Changes

  • Removed ExperimentData.sample, ExperimentData.evaluate, and ExperimentData.run methods to standardize the data-driven workflow, replacing them with the .call and .arm methods (Fixes #294).
  • Refined string argument handling and introduced create_sampler, create_optimizer, and create_datagenerator factory methods (Fixes #293).
  • Added mpi mode to support high-performance computing clusters.
  • Introduced custom exceptions for handling faulty read/write operations.
  • Added datagenerator decorator to convert methods into DataGenerator objects.
  • Removed ExperimentData Protocol classes and improved internal dependencies for better readability.
  • Added support for numpy==2.0.0 (Fixes #290).
  • Introduced ExperimentData.move_project_dir.
  • Changed most ExperimentData methods to return copies rather than modifying in place. Added in_place=True argument for some functions.
  • Updated documentation.
  • Changed the signature of the DataGenerator.execute method to match the Block.call signature (Fixes #295, Fixes #291).
  • Added pass_id argument to DataGenerator.call to pass the ID of the ExperimentSample to the DataGenerator.execute method.
  • Introduced nodes argument in DataGenerator.call to control the number of CPUs (Fixes #271).

What's Changed

  • Pr/2.0.1 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/298

Full Changelog: https://github.com/bessagroup/f3dasm/compare/2.0.0...2.0.1

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling 9 months ago

f3dasm - 2.0.0

What's Changed

  • Major update to change backedn to dictionaries by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/287
  • Pull request from pr/2.0.0 to main by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/288

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.5.4...2.0.0

Scientific Software - Peer-reviewed - Python
Published by github-actions[bot] 11 months ago

f3dasm - v1.5.4

Bugfixes and minor improvements

  • Change __eq__ method of _Data object to pd.testing.assert_frame_equal in order to omit different float types
  • Domain.add_output now has default argument of to_disk=False
  • Bugfix: ExperimentSample.from_numpy now gets the (optional) domain object when constructed
  • ExperimentData.get_input_data selects now only the input domain and removes the output space
  • Removing building JOSS paper workflow (paper has been published and draft is removed from repo)
  • (Studies: fragile becomes supercompressible) update scripts config

What's Changed

  • [JOSS] Paper by @RMeli in https://github.com/bessagroup/f3dasm/pull/277
  • Pr/1.5.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/280

New Contributors

  • @RMeli made their first contribution in https://github.com/bessagroup/f3dasm/pull/277

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.5.3...v1.5.4

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling about 1 year ago

f3dasm - v1.5.3

Resolved requests from reviewers JOSS: - Fixes TOC header sphinx-gallery (#274) - paper.md: Added DOI of Optuna reference in paper

What's Changed

  • Sphinx Gallery problem with TOC headers by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/275
  • update version number to 1.5.3 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/276

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.5.2...v1.5.3

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 1 year ago

f3dasm - v1.5.2

Major changes

  • Restricted numpy<2.0.0 from requirements.txt
  • Minor linting fixes

What's Changed

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.5.1...v1.5.2

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 1 year ago

f3dasm - v.1.5.1

Major changes

  • Small bugfixes and typos

What's Changed

  • Pr/1.5.1 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/267

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v.1.5.0...v1.5.1

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 1 year ago

f3dasm - v.1.5.0

Major changes

  • Refactoring and removing of legacy code
  • Change how hyperparameters are handled; they now need to be given as initialization key-word arguments
  • Major rework on optimization functionality
  • Rework on JOSS paper draft

What's Changed

  • Pr/1.5 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/266

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v.1.4.8...v.1.5.0

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 1 year ago

f3dasm - v.1.4.8

Major Changes

  • Dropped compatibility with Python 3.7
  • Added Sphinx Gallery for documentation examples
  • added examples/ folder with code snippets explaining the functionality of f3dasm
  • added Experimentdata.join method
  • Change _Store class to public: StorageProtocol
  • Added 2 benchmark studies: Fragile becomes supercompressible and Optimization benchmark

What's Changed

  • Pull changes from 1.4.71 to branch 1.pr/4.8 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/264
  • Pr/1.4.8 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/265

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v.1.4.71...v.1.4.8

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 1 year ago

f3dasm - v.1.4.71

Bugfix:

  • autosummary documentation not build because of conflicting submodule name.

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.7...v.1.4.71

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 1 year ago

f3dasm - v.1.4.7

Features

  • Added storage method for matplotlib figures
  • Added GridSearch sampler*
  • Added helper functions for datageneration with hydra configuration files
  • Added overwrite function to ExperimentData
  • Added callback functionality for optimizers
  • Allow addition of Domains
  • Add differentiable tag to benchmark functions and optimizers
  • Added cluster_parallel mode to `ExperimentData.evaluate()

* only working for categorical or discrete variables!

Bugfixes

  • Fixes #248
  • Fixes #250
  • Fixes #252
  • Fixes #253
  • Fixes #259
  • Fixes #89
  • Fixes #230
  • Fixes #223
  • Fixes #218

What's Changed

  • Fixes #248 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/249
  • Mpvanderschelling/issue250 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/255
  • Improving usability by implementing helper function to convert arbitrary functions to DataGenerators by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/254
  • Documentation is both hosted by GitHub Pages and ReadTheDocs by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/256
  • Implement new x0selection strategy and add selectall_finished functionality by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/260
  • RETRY: refactoring optimization iterate and iterate_scipy by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/262
  • Pr/1.4.7 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/263

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.6...v1.4.7

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 1 year ago

f3dasm - v1.4.6

Major changes

  • Added documentation on SLURM job scheduler. Added sphinx-tabs as dependency when building documentation.
  • WIP: New back-end of _Data that relies on lists instead of pd.DataFrame. This has not yet replaced the pandas back-end but tests are passing with the new _newdata.py module.
  • Removed unused method Domain.from_yaml.
  • Removed unused _Data.fill_output method
  • Output of benchmark functions is now a float instead of np.ndarray[float]. Necessary to pass tests for new back-end, won't affect pandas back-end.

Minor changes

  • Refactoring parts of the ExperimentSample code to be more robust to changes in the back-end
  • Moving factory methods to appropriate modules
  • Removed try_import; import checks are moved to extension packages
  • Added __version__.py file
  • Updated docstrings to remove leading spaces

Bugfixes

  • Correct equality operator of Domain to also compare for output_space attribute
  • Closes #241
  • Closes #191
  • Closes #240
  • Closes #243

What's Changed

  • Newdata by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/245
  • Pr/1.4.6 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/246

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.5...v1.4.6

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling about 2 years ago

f3dasm - v1.4.5

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

  • #224
  • #206
  • #225
  • #227
  • #61
  • #62
  • #73
  • #129
  • #202

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.4...v1.4.5

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling about 2 years ago

f3dasm - v1.4.4

Bugfixes and enhancement featured by @BernardoFerreira

What's Changed

  • Make DataGenerator.run method private by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/197
  • Change the default behaviour of the logger so that it doesn't display messages by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/196
  • Mpvanderschelling/issue189 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/199
  • ExperimentData.store documentation is not correct by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/203
  • Handle similar bounds on add_float to make a constant parameter by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/198
  • Get a way to extract input and output data from ExperimentData by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/200
  • Fixes #194 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/204
  • Pr/1.4.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/210

Important Note: this release has been recreated to support read-the-docs documentation building. Now the (static) documentation of this release will be available even when a newer release comes uit

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.3...v1.4.4

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling about 2 years ago

f3dasm - v1.4.4

Bugfixes and enhancement featured by @BernardoFerreira

What's Changed

  • Make DataGenerator.run method private by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/197
  • Change the default behaviour of the logger so that it doesn't display messages by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/196
  • Mpvanderschelling/issue189 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/199
  • ExperimentData.store documentation is not correct by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/203
  • Handle similar bounds on add_float to make a constant parameter by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/198
  • Get a way to extract input and output data from ExperimentData by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/200
  • Fixes #194 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/204
  • Pr/1.4.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/210

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.4.3...v1.4.4

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling about 2 years ago

f3dasm - v1.4.3

This release will have the following additional features: * Changed source directory structure to have a user API and _src folder * Added .path attribute to ExperimentData to enable relative paths in disk-stored objects * Bugfix at RandomSearch optimizer

Release that will be used in the following two student projects: * ENGN2350 Data-Driven Design and Analysis of Structures and Materials 2023/2024 * TI3165TU Project Capstone Applied AI Project 2023/2024

What's Changed

  • Numeric categorical parameters by @GuillaumeBroggi in https://github.com/bessagroup/f3dasm/pull/135
  • Output-data by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/136
  • restructured ExperimentData.from_yaml by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/137
  • New-way-of-locking by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/138
  • Pr/1.3 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/139
  • Pr/1.3.1 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/140
  • add overwrite run method to function by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/141
  • Changed design to ExperimentSample by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/142
  • Changedgithubworkflows by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/156
  • Link in getting started CONTRIBUTING.md is not working by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/157
  • Mpvanderschelling/issue69 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/158
  • 147-add-an-empty-machine-learning-stub-to-documentation by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/162
  • Fixes #145 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/161
  • add add operator to ExperimentData #163 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/164
  • Addoptimizerto_experimentdata by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/166
  • Mpvanderschelling/issue159 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/160
  • Api-for-importing by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/170
  • Remove directory change in abaqus simulator by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/175
  • Documentation-update by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/176
  • New-sampling-way by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/177
  • Optimizer-api by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/178
  • Final-update-documentation by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/179
  • Pr/1.4 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/180
  • removed ISSUE_TEMPLATE by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/181
  • add gh pages push workflow by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/182
  • gh pages token by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/183
  • bugfixes by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/184
  • Pr/1.4.3 by @mpvanderschelling in https://github.com/bessagroup/f3dasm/pull/185

New Contributors

  • @GuillaumeBroggi made their first contribution in https://github.com/bessagroup/f3dasm/pull/135

Full Changelog: https://github.com/bessagroup/f3dasm/compare/v1.2.0...v1.4.3

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling about 2 years ago

f3dasm - v1.2.0

  • Heavily reduced the number of features and moved it to complementary libraries (f3dasm_simulate, f3dasm_optimize)
  • Added support for Python 3.7
  • Big changes on the documentation side

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 2 years ago

f3dasm - v1.1.0

This release covers the following major changes - Moved the JobQueue object as a private attribute in the new ExperimentData class - Added parallelization decorators - Added hydra to_yaml methods to base classes

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling over 2 years ago

f3dasm - Old version of f3dasm: master branch

This release is the "master branch" code developed until 2020 before Martin took over the main responsibilities of the f3dasm project The purpose of this release is to make sure that the original code is not lost, and users may download this legacy code to reproduce their experiments.

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling almost 3 years ago

f3dasm - Old version of F3DASM: development branch

This release is the "development" code developed until 2020 before Martin took over the main responsibilities of the f3dasm project The purpose of this release is to make sure that the original code is not lost, and users may download this legacy code to reproduce their experiments.

Scientific Software - Peer-reviewed - Python
Published by mpvanderschelling about 3 years ago