-
Notifications
You must be signed in to change notification settings - Fork 116
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
Clean bifurcation of contract mgmt versus connection functionality #402
Comments
I agree. Maybe the first step is to have separate test case in Github Actions that validates that contract management commands runs without extras. To be specific, these commands should be tested:
|
This looks right (full disclosure: I'm still ramping up on your tool). |
I added additional integration tests that test the non-extra version of the CLI in https://github.com/datacontract/datacontract-cli/blob/main/.github/workflows/ci.yaml |
First: thanks for the effort on this tool! Is coming in handy for me on a current project as we embrace the spec in earnest.
It seems like the optional feature-level installation via pip is intended to pick and choose which data sources to make available for testing connections. This makes sense, but I wonder if the central contract mgmt and this connectivity functionality can be further delineated without too much trouble.
I noticed this when doing
pip install datacontract-cli
(no features specified) and then trying to run datacontract:It looks like the above may be fixed in the next release, based on release notes. But for me, I then manually ran
pip install deltalake
and that got me past this error to this one:'check_soda_execute' seems to have dependencies on connection-related modules under 'soda'. This seems to violate the implied segregation of contract mgmt and connectivity functionality.
If I pass no source-centric feature flags, it seems like no sources/connections config should be needed to run the tool. This would also assist greatly in running a lighter-weight version of datacontract-cli as a centralized service, where it would only be performing contract management. We are currently planning on running it as a centralized service, anyway; it's just pretty meaty with connection-related application code it will never use.
Perhaps 'check_soda_execute' should truly be a [graceful] check or else conditionally called based on command line flag, availability of 'server' information in the contract, etc.
Thanks again.
The text was updated successfully, but these errors were encountered: