-
-
Notifications
You must be signed in to change notification settings - Fork 7
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
Validation using dataclasses #52
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Oz Tiram <oz.tiram@gmail.com>
Validate Packages properly in the default section
These tests are now found in tests/test_models_sources.py
These are now found tests/test_models_meta.py. Also fixes for the class Meta as required for the tests to pass.
Fix the Hash class so the tests pass again.
Also fix the class and tests.
These tests are now in tests/test_models_sourcecollection.py
JSON encoding is working, but the test still fails.
3 failing integration tests ...
matteius
approved these changes
Jan 12, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Awesome work Oz!!!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR replaces the validation with built-in dataclasses validation.
The amount of code is reduced significantly, while mostly preserving the API.
The biggest change for the API is that earlier, you could do:
Now, you must use unpacking:
Also, I grouped all the models in just one file, as I don't see the point in breaking a file which is ~350 lines long to multiple lines.
All the previous tests are passing, and some new tests are added.
Docs are updated too.
Using this version of Plette is going to break things for upstream users (e.g. Pipenv). However, I believe that the only change that these upstream users will need to implement is the unpacking. Users who just use the high level APIs as in
plette.pipfiles.Pipfile.load
andplette.pipfiles.Pipfile.dump
won't see a change.