Fix: Add missing dependencies jmespath and pyparsing to pyproject.toml#380
Merged
ghanse merged 1 commit intodatabrickslabs:masterfrom Feb 3, 2026
Conversation
The package imports jmespath in utils.py and pyparsing in schema_parser.py but these dependencies were not declared in pyproject.toml, causing ModuleNotFoundError on fresh installations. This fix adds both missing dependencies: - jmespath>=1.0.0 (used in dbldatagen/utils.py) - pyparsing>=3.0.0 (used in dbldatagen/schema_parser.py) Fixes: Missing dependency declarations Impact: Users no longer need to manually install these packages
ghanse
approved these changes
Feb 3, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #380 +/- ##
=======================================
Coverage 92.12% 92.12%
=======================================
Files 47 47
Lines 4217 4217
Branches 766 766
=======================================
Hits 3885 3885
Misses 186 186
Partials 146 146 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This file contains hidden or 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
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.
Fix: Add missing dependencies jmespath and pyparsing
Closes #379
Description
This PR fixes missing dependency declarations in
pyproject.toml. The package importsjmespathandpyparsingin its source code but doesn't declare them as dependencies, causingModuleNotFoundErroron fresh installations.Changes
Added two missing dependencies to
pyproject.toml:dependencies = [ "databricks-sdk~=0.57", + "jmespath>=1.0.0", + "pyparsing>=3.0.0", ]Evidence of Missing Dependencies
File:
dbldatagen/utils.py(line 18)File:
dbldatagen/schema_parser.py(line 10)These imports exist in the codebase but the packages are not declared as dependencies in
pyproject.toml, causing failures on fresh installations.Impact
Before This Fix:
ModuleNotFoundErrorAfter This Fix:
Testing
✅ Tested in production environment where the missing dependencies were discovered
✅ Fresh virtual environment installation now works correctly
✅ All features using
jmespathandpyparsingfunction properly✅ No breaking changes to existing functionality
✅ Backward compatible - existing installations unaffected
Why These Version Constraints?
jmespath>=1.0.0- Stable, mature package (current: 1.0.1)pyparsing>=3.0.0- Current stable major version (3.x series)Using
>=provides flexibility while ensuring minimum required versions are met. Both packages are mature with stable APIs.Verification Steps
Before this fix:
After this fix:
Related Issue
Fixes #379 - Missing dependencies: jmespath and pyparsing not declared in pyproject.toml
Checklist
Additional Notes
This is a critical fix that affects all fresh installations of the package. The change is minimal (2 lines) but has significant impact on usability and reliability. Both
jmespathandpyparsingare mature, widely-used packages with minimal maintenance burden.The fix has been tested in production environments where the missing dependencies were initially discovered, and all functionality works as expected.