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

Define project-wide data models #485

Merged
merged 26 commits into from Sep 30, 2021

Conversation

Sinclert
Copy link
Member

@Sinclert Sinclert commented Sep 30, 2021

This PR completes the remaining tasks of issue #482: the migration of data model property definition from its current state (array-based) to an object oriented design (class-attributes).

🔍 - Scope

This PR introduces a set of data models that are used project-wide. Thanks to their definition, we could expect less bug-leading syntax like object[0] and more meaningful syntax like object.name.

🌿 - Additional Improvements:

  • Typing notations!
  • Enums values for Systematic attributes.

📝 - Commits methodology

Each commit within the refactor has a prefix indicating:

  • models: refers to the creation of the data models.
  • h5py: refers to the adaptation of the HDF5 MadMiner interface functions.
  • internal: refers to the code base migration in order to use the newly defined models ✨ .
  • tests: refers to the small adaptations that tests needed to suffer after adapting the codebase.

🔄 -Compatibility

⚠️ This PR breaks backward compatibility ⚠️

There are multiple public-methods which change their expected arguments:

@Sinclert Sinclert added the internal Refactoring without interface or functionality changes label Sep 30, 2021
@Sinclert Sinclert self-assigned this Sep 30, 2021
@Sinclert Sinclert merged commit 8cb21b9 into madminer-tool:master Sep 30, 2021
@Sinclert Sinclert deleted the project-data-models branch September 30, 2021 14:56
@Sinclert
Copy link
Member Author

Sinclert commented Oct 4, 2021

NOTE:

This PR contained several bugs, fixed in commits d3e8653 and d9ee1e5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Refactoring without interface or functionality changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant