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

Legacy to versions #175

Open
alecandido opened this issue Dec 8, 2022 · 2 comments
Open

Legacy to versions #175

alecandido opened this issue Dec 8, 2022 · 2 comments
Assignees
Labels
output Output format and management refactor Refactor code

Comments

@alecandido
Copy link
Member

alecandido commented Dec 8, 2022

At the moment, since we are transitioning, there are a lot of legacy objects:

  • legacy runner
  • legacy runcards
  • legacy output

About the output, there is already an issue discussing the opportunity of versioning it #106
But we need to version all the input and output we use, while the runner is a different story.

So, we need to act in two different ways.
For the IO, we will declare a candidate v1 to the current format, for both inputs (runcards) and output (operator). What is now called legacy will be instead the v0, and all the code dealing with legacy IO will be moved to eko.io.v0.
The only supported actions will be loading and upgrading to v1 format. Everything else will be dropped.
If in future we will come to a v2 version, we will create a eko.io.v1 package, with loaders and upgraders to v2.

The only thing we need to decide is if versioning the input and output together (a single __data_version__, as it is at the moment), or using two separate version numbers.
Only integer versions will be supported, since any compatible change does not require a new version.

About the runner, we will simply reimplement the current one with new elements, and find a better name than legacy (this is already discussed in #138).

@felixhekhorn felixhekhorn added refactor Refactor code output Output format and management labels Dec 12, 2022
@felixhekhorn
Copy link
Contributor

I'm inclined to say let's split input and output - since they are for the most part decoupled. The one and only interaction they have, is that the output should contain the input cards.

The runner version is the program version (so v0.11 atm) and it need to be able to act on both: suitable input and output

@alecandido
Copy link
Member Author

Ok, agreed for input and output, I'll make a proposal for this after #172

There will be an extra piece, i.e. import theory from current NNPDF layout (it will update with the theory db layout itself) to current theory version. At the moment, it is mostly a copy of the v0 theory, with the only difference that v0 theory will be frozen, and it contains a few extra element (that are not present in DB entries).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
output Output format and management refactor Refactor code
Projects
None yet
Development

No branches or pull requests

2 participants