WIP - Sampling and suggestion
Description
In this PR we are adding support for Sampling and improved expectation suggestions.
Sampling You are now able to sample data in the following ways for physical tables.
- Sample using limit
- Sample using random
- Sample using mod
- Sample using a list
- Sample using hash
Suggestions We have moved to using the GE Data Assistant which provides far more suggestions than the Validator implementation.
Additional test coverage has also been added for app.core.runner.
Fixes # (issue)
- When generating suggestions, if an exception was thrown, the suggestions job would fail instead of catching the exception and moving on to the next column/expectation.
Type of change
Please delete options that are not relevant.
- [x] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
Checklist:
- [ ] I have performed a self-review of my own code
- [ ] All GitHub workflows have passed
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] Any dependent changes have been merged and published in downstream modules
A couple updates still need to be made in the UI, specifically, a SQLite icon needs to be added for local development. It should be noted that we do not want to include SQLite for production for security purposes.
Codecov Report
Base: 66.88% // Head: 71.10% // Increases project coverage by +4.21% :tada:
Coverage data is based on head (
f22cabc) compared to base (cd05796). Patch coverage: 71.13% of modified lines in pull request are covered.
Additional details and impacted files
@@ Coverage Diff @@
## main #67 +/- ##
==========================================
+ Coverage 66.88% 71.10% +4.21%
==========================================
Files 67 70 +3
Lines 3053 3267 +214
==========================================
+ Hits 2042 2323 +281
+ Misses 1011 944 -67
| Impacted Files | Coverage Δ | |
|---|---|---|
| backend/app/utils.py | 79.45% <36.36%> (+6.87%) |
:arrow_up: |
| backend/app/core/sample.py | 67.79% <42.10%> (-9.13%) |
:arrow_down: |
| backend/app/models/expectation.py | 84.30% <58.69%> (+0.03%) |
:arrow_up: |
| backend/app/models/dataset.py | 93.54% <85.71%> (-1.00%) |
:arrow_down: |
| backend/app/models/datasource.py | 69.85% <92.85%> (+0.25%) |
:arrow_up: |
| backend/app/core/runner.py | 93.54% <95.65%> (+58.32%) |
:arrow_up: |
| backend/app/api/api_v1/endpoints/dataset.py | 98.36% <100.00%> (+0.13%) |
:arrow_up: |
| backend/app/core/security.py | 58.33% <100.00%> (ø) |
|
| backend/app/logger.py | 100.00% <100.00%> (ø) |
|
| backend/app/models/sampling.py | 100.00% <100.00%> (ø) |
|
| ... and 8 more |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.