-
Notifications
You must be signed in to change notification settings - Fork 1
Dependencies: Migrate from zyp to tikray
#105
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
Conversation
|
Warning Rate limit exceeded@amotl has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 12 minutes and 26 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (46)
## Walkthrough
This change migrates the project from using the "zyp" transformation engine to the "tikray" engine. All code, documentation, configuration, and tests referencing "zyp" are either updated to use "tikray" or removed. The migration includes dependency changes, codebase cleanup, documentation rewrites, and test suite updates or deletions.
## Changes
| File(s) / Path(s) | Change Summary |
|-----------------------------------------------------------|------------------------------------------------------------------------------------------------|
| CHANGES.md, README.md, doc/index.md, doc/transform.md | Updated documentation and changelog to reference "tikray" instead of "zyp"; added new doc page.|
| doc/zyp/* (backlog.md, examples.md, index.md, research.md)| Deleted all Zyp-specific documentation and research files. |
| pyproject.toml | Replaced "zyp" optional dependency group with "tikray"; updated keywords and dependency lists. |
| src/commons_codec/transform/mongodb.py | Updated comment to reference Tikray types instead of Zyp. |
| src/zyp/* (all files) | Deleted all Zyp source code: transformation logic, models, utils, function definitions. |
| tests/transform/conftest.py | Added "from.generic" to RESET_TABLES for test setup. |
| tests/transform/mongodb/test_mongodb_convert.py | Updated imports and docstrings from zyp.model to tikray.model. |
| tests/transform/mongodb/test_mongodb_full.py | Updated imports from zyp.model to tikray.model. |
| tests/transform/test_cratedb.py | Updated Treatment import from zyp.model.treatment to tikray.model.treatment. |
| tests/zyp/* (all files, including integration and data) | Deleted all Zyp-specific tests, fixtures, and transformation configuration files. |
| .github/workflows/tests.yml | Removed test-zyp job; updated test-mongodb job to use tikray extras; added timezone setting step.|
## Sequence Diagram(s)
```mermaid
sequenceDiagram
participant User
participant Project
participant Tikray
participant MongoDBConverter
User->>Project: Requests data transformation
Project->>Tikray: Delegates transformation logic
Tikray-->>Project: Returns transformed data
Project->>MongoDBConverter: Uses Tikray types for decoding
MongoDBConverter-->>Project: Returns decoded documents
Project-->>User: Returns final resultsPoem
|
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.
Actionable comments posted: 2
♻️ Duplicate comments (1)
tests/transform/test_cratedb.py (1)
2-2: Same missing dependency problem
from tikray.model.treatment import Treatmentfails for the same reason as above.
Fix is identical: ensuretikrayis installed in the runtime environment.🧰 Tools
🪛 GitHub Actions: Tests
[error] 2-2: ModuleNotFoundError: No module named 'tikray' when importing 'tikray.model.treatment.Treatment'. This caused test collection to fail.
🧹 Nitpick comments (2)
doc/transform.md (1)
1-6: Nitpick: expand docs for discoverabilityA one-liner points to external docs, but users unfamiliar with Tikray might appreciate a sentence on why the migration happened or an example link to a basic “Hello World” transformation.
Optional improvement:
-Data transformations are delegated to [tikray]. +Data transformations are now delegated to [tikray], an external library that +implements the same rule-based pipeline formerly shipped as **zyp**. +See the Tikray documentation for usage examples and migration tips.pyproject.toml (1)
36-36: Optional: Alphabetize keywords
Consider sorting thekeywordslist to maintain readability and consistency.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (45)
CHANGES.md(1 hunks)README.md(3 hunks)doc/index.md(1 hunks)doc/transform.md(1 hunks)doc/zyp/backlog.md(0 hunks)doc/zyp/examples.md(0 hunks)doc/zyp/index.md(0 hunks)doc/zyp/research.md(0 hunks)pyproject.toml(3 hunks)src/commons_codec/transform/mongodb.py(1 hunks)src/zyp/__init__.py(0 hunks)src/zyp/function.jq(0 hunks)src/zyp/function.py(0 hunks)src/zyp/model/__init__.py(0 hunks)src/zyp/model/base.py(0 hunks)src/zyp/model/bucket.py(0 hunks)src/zyp/model/collection.py(0 hunks)src/zyp/model/fluent.py(0 hunks)src/zyp/model/moksha.py(0 hunks)src/zyp/model/project.py(0 hunks)src/zyp/model/treatment.py(0 hunks)src/zyp/util/data.py(0 hunks)src/zyp/util/dictx.py(0 hunks)src/zyp/util/expression.py(0 hunks)src/zyp/util/locator.py(0 hunks)tests/transform/conftest.py(1 hunks)tests/transform/mongodb/test_mongodb_convert.py(2 hunks)tests/transform/mongodb/test_mongodb_full.py(1 hunks)tests/transform/test_cratedb.py(1 hunks)tests/zyp/conftest.py(0 hunks)tests/zyp/integration/conftest.py(0 hunks)tests/zyp/moksha/test_jq.py(0 hunks)tests/zyp/moksha/test_model.py(0 hunks)tests/zyp/moksha/test_transon.py(0 hunks)tests/zyp/test_bucket.py(0 hunks)tests/zyp/test_collection.py(0 hunks)tests/zyp/test_function.py(0 hunks)tests/zyp/test_locator.py(0 hunks)tests/zyp/test_model.py(0 hunks)tests/zyp/test_project.py(0 hunks)tests/zyp/test_treatment.py(0 hunks)tests/zyp/test_util.py(0 hunks)tests/zyp/transformation-bucket.json(0 hunks)tests/zyp/transformation-collection-treatment.yaml(0 hunks)tests/zyp/transformation-collection.yaml(0 hunks)
💤 Files with no reviewable changes (35)
- tests/zyp/transformation-collection-treatment.yaml
- tests/zyp/conftest.py
- tests/zyp/test_model.py
- tests/zyp/transformation-bucket.json
- tests/zyp/test_util.py
- src/zyp/init.py
- tests/zyp/test_locator.py
- src/zyp/model/project.py
- src/zyp/model/init.py
- tests/zyp/integration/conftest.py
- src/zyp/util/data.py
- tests/zyp/test_project.py
- src/zyp/util/expression.py
- tests/zyp/transformation-collection.yaml
- tests/zyp/moksha/test_transon.py
- src/zyp/model/fluent.py
- doc/zyp/backlog.md
- tests/zyp/test_bucket.py
- doc/zyp/research.md
- tests/zyp/test_function.py
- src/zyp/model/collection.py
- doc/zyp/index.md
- src/zyp/util/locator.py
- src/zyp/function.jq
- src/zyp/function.py
- tests/zyp/test_treatment.py
- src/zyp/model/bucket.py
- tests/zyp/test_collection.py
- src/zyp/model/base.py
- tests/zyp/moksha/test_jq.py
- tests/zyp/moksha/test_model.py
- src/zyp/util/dictx.py
- src/zyp/model/treatment.py
- doc/zyp/examples.md
- src/zyp/model/moksha.py
🧰 Additional context used
🪛 GitHub Actions: Tests
tests/transform/mongodb/test_mongodb_full.py
[error] 5-5: ModuleNotFoundError: No module named 'tikray' when importing 'tikray.model.collection'.
tests/transform/test_cratedb.py
[error] 2-2: ModuleNotFoundError: No module named 'tikray' when importing 'tikray.model.treatment.Treatment'. This caused test collection to fail.
tests/transform/mongodb/test_mongodb_convert.py
[error] 10-10: ModuleNotFoundError: No module named 'tikray' when importing 'tikray.model.bucket'.
🔇 Additional comments (7)
tests/transform/conftest.py (1)
6-10: Constant list updated – looks correctAdding
"from.generic"toRESET_TABLESkeeps the fixture consistent with the new tests that write to that table. No functional or stylistic concerns spotted.CHANGES.md (1)
4-5: Changelog entry goodEntry is concise and matches the actual change set. No issues.
doc/index.md (1)
37-37:✅ Verification successful
Ensure 'transform' documentation file exists
Confirm thatdoc/transform.mdis present and included in the Sphinx build so this toctree entry resolves correctly.
🏁 Script executed:
#!/bin/bash # Verify that transform.md exists under doc/ fd -e md transform.md doc/Length of output: 45
🏁 Script executed:
#!/bin/bash # Locate the Sphinx configuration file cfg=$(fd -e py conf.py . | head -n1) echo "Using config file: $cfg" # Check source_suffix settings for Markdown support grep -n "source_suffix" "$cfg" || echo "⚠️ No 'source_suffix' entry found in $cfg" # Check for Markdown parser extensions grep -n "extensions" -n "$cfg" grep -n "recommonmark" "$cfg" || echo "ℹ️ 'recommonmark' not configured" grep -n "myst_parser" "$cfg" || echo "ℹ️ 'myst_parser' not configured"Length of output: 546
✅ ‘transform.md’ presence and Markdown support verified
- Found
doc/transform.mdin the repository.myst_parseris enabled indoc/conf.py, so Sphinx will recognize and include.mdfiles without an explicitsource_suffix.The
transformentry in your toctree will resolve correctly.src/commons_codec/transform/mongodb.py (1)
56-56: Verify reference to Tikray types in doc comment
Ensure thattikray.model.baseactually exports the intended type definitions and adjust the comment if the path differs.tests/transform/mongodb/test_mongodb_convert.py (1)
283-285: Docstring updated correctly
The test description now references Tikray instead of Zyp.README.md (1)
31-34: All Tikray references in README are consistent
Renaming has been applied correctly, and the pip extras align withpyproject.toml.Also applies to: 37-40, 54-55, 81-83
pyproject.toml (1)
116-118:⚠️ Potential issueFix recursive extra dependency in
[project.optional-dependencies]
Theallextra currently refers back tocommons-codec[mongodb,tikray], creating a self-referential loop. Instead, enumerate the actual optional deps:- optional-dependencies.all = [ - "commons-codec[mongodb,tikray]", - ] + optional-dependencies.all = [ + "pymongo<4.13", + "tikray<0.3", +]Likely an incorrect or invalid review comment.
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.github/workflows/tests.yml (1)
6-6: Specify pull_request branch filters
The workflow triggers on all PR branches by default; consider limiting tomainto reduce unnecessary runs.-pull_request: +pull_request: + branches: [ main ]
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (46)
.github/workflows/tests.yml(2 hunks)CHANGES.md(1 hunks)README.md(3 hunks)doc/index.md(1 hunks)doc/transform.md(1 hunks)doc/zyp/backlog.md(0 hunks)doc/zyp/examples.md(0 hunks)doc/zyp/index.md(0 hunks)doc/zyp/research.md(0 hunks)pyproject.toml(3 hunks)src/commons_codec/transform/mongodb.py(1 hunks)src/zyp/__init__.py(0 hunks)src/zyp/function.jq(0 hunks)src/zyp/function.py(0 hunks)src/zyp/model/__init__.py(0 hunks)src/zyp/model/base.py(0 hunks)src/zyp/model/bucket.py(0 hunks)src/zyp/model/collection.py(0 hunks)src/zyp/model/fluent.py(0 hunks)src/zyp/model/moksha.py(0 hunks)src/zyp/model/project.py(0 hunks)src/zyp/model/treatment.py(0 hunks)src/zyp/util/data.py(0 hunks)src/zyp/util/dictx.py(0 hunks)src/zyp/util/expression.py(0 hunks)src/zyp/util/locator.py(0 hunks)tests/transform/conftest.py(1 hunks)tests/transform/mongodb/test_mongodb_convert.py(2 hunks)tests/transform/mongodb/test_mongodb_full.py(1 hunks)tests/transform/test_cratedb.py(1 hunks)tests/zyp/conftest.py(0 hunks)tests/zyp/integration/conftest.py(0 hunks)tests/zyp/moksha/test_jq.py(0 hunks)tests/zyp/moksha/test_model.py(0 hunks)tests/zyp/moksha/test_transon.py(0 hunks)tests/zyp/test_bucket.py(0 hunks)tests/zyp/test_collection.py(0 hunks)tests/zyp/test_function.py(0 hunks)tests/zyp/test_locator.py(0 hunks)tests/zyp/test_model.py(0 hunks)tests/zyp/test_project.py(0 hunks)tests/zyp/test_treatment.py(0 hunks)tests/zyp/test_util.py(0 hunks)tests/zyp/transformation-bucket.json(0 hunks)tests/zyp/transformation-collection-treatment.yaml(0 hunks)tests/zyp/transformation-collection.yaml(0 hunks)
💤 Files with no reviewable changes (35)
- tests/zyp/transformation-bucket.json
- tests/zyp/integration/conftest.py
- tests/zyp/transformation-collection-treatment.yaml
- tests/zyp/test_project.py
- src/zyp/model/project.py
- src/zyp/util/data.py
- src/zyp/model/init.py
- tests/zyp/conftest.py
- src/zyp/util/expression.py
- doc/zyp/research.md
- src/zyp/function.jq
- doc/zyp/backlog.md
- tests/zyp/transformation-collection.yaml
- tests/zyp/test_function.py
- tests/zyp/test_util.py
- tests/zyp/test_locator.py
- tests/zyp/test_bucket.py
- src/zyp/init.py
- src/zyp/util/locator.py
- src/zyp/model/fluent.py
- doc/zyp/index.md
- tests/zyp/moksha/test_transon.py
- tests/zyp/test_model.py
- src/zyp/model/treatment.py
- src/zyp/function.py
- tests/zyp/test_treatment.py
- src/zyp/util/dictx.py
- src/zyp/model/bucket.py
- src/zyp/model/moksha.py
- src/zyp/model/collection.py
- tests/zyp/test_collection.py
- doc/zyp/examples.md
- tests/zyp/moksha/test_model.py
- src/zyp/model/base.py
- tests/zyp/moksha/test_jq.py
🚧 Files skipped from review as they are similar to previous changes (10)
- tests/transform/mongodb/test_mongodb_full.py
- tests/transform/conftest.py
- tests/transform/test_cratedb.py
- doc/transform.md
- doc/index.md
- CHANGES.md
- README.md
- tests/transform/mongodb/test_mongodb_convert.py
- src/commons_codec/transform/mongodb.py
- pyproject.toml
🔇 Additional comments (2)
.github/workflows/tests.yml (2)
54-60: Add timezone normalization step
Introducing theszenius/set-timezoneaction ensures consistent timezone handling across runners, stabilizing date/time-sensitive tests.
171-171:✅ Verification successful
Verify extras group includes
tikray
Ensure thetikrayextra is defined inpyproject.tomlorsetup.cfgto avoid install failures.
🏁 Script executed:
#!/bin/bash # Check for 'tikray' in extras definition rg -A 3 "\[tool\." pyproject.toml | rg "tikray"Length of output: 47
🏁 Script executed:
#!/bin/bash # Search for any occurrence of 'tikray' across the repo rg -n "tikray" . # Check PEP 621 optional-dependencies in pyproject.toml rg -A5 "\[project\.optional-dependencies\]" pyproject.toml | rg "tikray" # Check Poetry extras definitions in pyproject.toml rg -A5 "\[tool\.poetry\.extras\]" pyproject.toml | rg "tikray" # Check setup.cfg for extras_require containing 'tikray' rg -A5 "extras_require" setup.cfg | rg "tikray" # Check setup.py for extras_require definitions rg -A5 "extras_require" setup.py | rg "tikray"Length of output: 1659
tikrayextra confirmed in pyproject.toml
Thetikrayoptional-dependency is already defined underproject.optional-dependenciesin pyproject.toml (around line 148), so installing with.[mongodb,tikray,develop,test]will succeed. No further changes needed.
a634fd1 to
ba392ef
Compare
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (46)
.github/workflows/tests.yml(2 hunks)CHANGES.md(1 hunks)README.md(3 hunks)doc/index.md(1 hunks)doc/transform.md(1 hunks)doc/zyp/backlog.md(0 hunks)doc/zyp/examples.md(0 hunks)doc/zyp/index.md(0 hunks)doc/zyp/research.md(0 hunks)pyproject.toml(4 hunks)src/commons_codec/transform/mongodb.py(1 hunks)src/zyp/__init__.py(0 hunks)src/zyp/function.jq(0 hunks)src/zyp/function.py(0 hunks)src/zyp/model/__init__.py(0 hunks)src/zyp/model/base.py(0 hunks)src/zyp/model/bucket.py(0 hunks)src/zyp/model/collection.py(0 hunks)src/zyp/model/fluent.py(0 hunks)src/zyp/model/moksha.py(0 hunks)src/zyp/model/project.py(0 hunks)src/zyp/model/treatment.py(0 hunks)src/zyp/util/data.py(0 hunks)src/zyp/util/dictx.py(0 hunks)src/zyp/util/expression.py(0 hunks)src/zyp/util/locator.py(0 hunks)tests/transform/conftest.py(1 hunks)tests/transform/mongodb/test_mongodb_convert.py(2 hunks)tests/transform/mongodb/test_mongodb_full.py(1 hunks)tests/transform/test_cratedb.py(1 hunks)tests/zyp/conftest.py(0 hunks)tests/zyp/integration/conftest.py(0 hunks)tests/zyp/moksha/test_jq.py(0 hunks)tests/zyp/moksha/test_model.py(0 hunks)tests/zyp/moksha/test_transon.py(0 hunks)tests/zyp/test_bucket.py(0 hunks)tests/zyp/test_collection.py(0 hunks)tests/zyp/test_function.py(0 hunks)tests/zyp/test_locator.py(0 hunks)tests/zyp/test_model.py(0 hunks)tests/zyp/test_project.py(0 hunks)tests/zyp/test_treatment.py(0 hunks)tests/zyp/test_util.py(0 hunks)tests/zyp/transformation-bucket.json(0 hunks)tests/zyp/transformation-collection-treatment.yaml(0 hunks)tests/zyp/transformation-collection.yaml(0 hunks)
💤 Files with no reviewable changes (35)
- tests/zyp/test_project.py
- tests/zyp/transformation-collection-treatment.yaml
- tests/zyp/conftest.py
- tests/zyp/transformation-bucket.json
- tests/zyp/integration/conftest.py
- tests/zyp/test_model.py
- tests/zyp/test_locator.py
- tests/zyp/moksha/test_transon.py
- src/zyp/util/expression.py
- src/zyp/model/project.py
- src/zyp/util/data.py
- src/zyp/model/fluent.py
- tests/zyp/transformation-collection.yaml
- tests/zyp/test_bucket.py
- src/zyp/util/locator.py
- tests/zyp/test_function.py
- src/zyp/model/treatment.py
- doc/zyp/research.md
- doc/zyp/backlog.md
- src/zyp/function.jq
- src/zyp/model/collection.py
- tests/zyp/test_util.py
- tests/zyp/test_treatment.py
- src/zyp/function.py
- src/zyp/model/init.py
- tests/zyp/test_collection.py
- doc/zyp/index.md
- src/zyp/model/bucket.py
- tests/zyp/moksha/test_model.py
- tests/zyp/moksha/test_jq.py
- src/zyp/util/dictx.py
- src/zyp/model/moksha.py
- doc/zyp/examples.md
- src/zyp/init.py
- src/zyp/model/base.py
✅ Files skipped from review due to trivial changes (1)
- tests/transform/mongodb/test_mongodb_full.py
🚧 Files skipped from review as they are similar to previous changes (9)
- doc/transform.md
- tests/transform/conftest.py
- doc/index.md
- CHANGES.md
- README.md
- src/commons_codec/transform/mongodb.py
- tests/transform/mongodb/test_mongodb_convert.py
- tests/transform/test_cratedb.py
- pyproject.toml
🔇 Additional comments (2)
.github/workflows/tests.yml (2)
6-6: Verify pull_request trigger configuration
Thepushevent is scoped tomain, butpull_requesthas no branch filters. If you only want CI to run on PRs targetingmain, consider addingbranches: [ main ]underpull_request.
171-171:✅ Verification successful
Confirm presence of
tikrayextra in project metadata
This job now installs thetikrayextra, but please verify thatpyproject.toml(or your project’s metadata) defines an optional-dependency group namedtikray.
🏁 Script executed:
#!/bin/bash # Description: Check if `tikray` optional-dependency is declared rg --fixed-strings "tikray" -n pyproject.tomlLength of output: 164
Confirmed:
tikrayextra is declared in pyproject.toml
Verified that your project metadata defines anoptional-dependencies.tikraygroup:
- pyproject.toml, lines 148–149:
optional-dependencies.tikray = [
"tikray>=0.2.2,<0.3",
]No further action needed.
7bc0693 to
1d62c76
Compare
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (46)
.github/workflows/tests.yml(3 hunks)CHANGES.md(1 hunks)README.md(3 hunks)doc/index.md(1 hunks)doc/transform.md(1 hunks)doc/zyp/backlog.md(0 hunks)doc/zyp/examples.md(0 hunks)doc/zyp/index.md(0 hunks)doc/zyp/research.md(0 hunks)pyproject.toml(4 hunks)src/commons_codec/transform/mongodb.py(1 hunks)src/zyp/__init__.py(0 hunks)src/zyp/function.jq(0 hunks)src/zyp/function.py(0 hunks)src/zyp/model/__init__.py(0 hunks)src/zyp/model/base.py(0 hunks)src/zyp/model/bucket.py(0 hunks)src/zyp/model/collection.py(0 hunks)src/zyp/model/fluent.py(0 hunks)src/zyp/model/moksha.py(0 hunks)src/zyp/model/project.py(0 hunks)src/zyp/model/treatment.py(0 hunks)src/zyp/util/data.py(0 hunks)src/zyp/util/dictx.py(0 hunks)src/zyp/util/expression.py(0 hunks)src/zyp/util/locator.py(0 hunks)tests/transform/conftest.py(1 hunks)tests/transform/mongodb/test_mongodb_convert.py(2 hunks)tests/transform/mongodb/test_mongodb_full.py(1 hunks)tests/transform/test_cratedb.py(1 hunks)tests/zyp/conftest.py(0 hunks)tests/zyp/integration/conftest.py(0 hunks)tests/zyp/moksha/test_jq.py(0 hunks)tests/zyp/moksha/test_model.py(0 hunks)tests/zyp/moksha/test_transon.py(0 hunks)tests/zyp/test_bucket.py(0 hunks)tests/zyp/test_collection.py(0 hunks)tests/zyp/test_function.py(0 hunks)tests/zyp/test_locator.py(0 hunks)tests/zyp/test_model.py(0 hunks)tests/zyp/test_project.py(0 hunks)tests/zyp/test_treatment.py(0 hunks)tests/zyp/test_util.py(0 hunks)tests/zyp/transformation-bucket.json(0 hunks)tests/zyp/transformation-collection-treatment.yaml(0 hunks)tests/zyp/transformation-collection.yaml(0 hunks)
💤 Files with no reviewable changes (35)
- tests/zyp/transformation-collection-treatment.yaml
- tests/zyp/conftest.py
- tests/zyp/transformation-bucket.json
- tests/zyp/test_model.py
- tests/zyp/integration/conftest.py
- tests/zyp/test_util.py
- src/zyp/init.py
- tests/zyp/test_project.py
- tests/zyp/test_locator.py
- src/zyp/model/init.py
- src/zyp/model/project.py
- src/zyp/util/expression.py
- tests/zyp/test_bucket.py
- src/zyp/util/locator.py
- tests/zyp/test_function.py
- src/zyp/function.jq
- tests/zyp/transformation-collection.yaml
- src/zyp/model/collection.py
- tests/zyp/test_treatment.py
- src/zyp/model/fluent.py
- doc/zyp/backlog.md
- src/zyp/model/treatment.py
- doc/zyp/research.md
- doc/zyp/examples.md
- tests/zyp/moksha/test_transon.py
- src/zyp/model/base.py
- tests/zyp/test_collection.py
- src/zyp/model/bucket.py
- src/zyp/function.py
- doc/zyp/index.md
- tests/zyp/moksha/test_jq.py
- src/zyp/util/dictx.py
- src/zyp/model/moksha.py
- src/zyp/util/data.py
- tests/zyp/moksha/test_model.py
🚧 Files skipped from review as they are similar to previous changes (10)
- CHANGES.md
- doc/transform.md
- tests/transform/conftest.py
- tests/transform/mongodb/test_mongodb_convert.py
- README.md
- doc/index.md
- src/commons_codec/transform/mongodb.py
- tests/transform/mongodb/test_mongodb_full.py
- pyproject.toml
- tests/transform/test_cratedb.py
🔇 Additional comments (3)
.github/workflows/tests.yml (3)
6-6: Enable CI on Pull Requests
The addition of thepull_requesttrigger ensures the workflow runs on PRs, aligning with best CI practices.
171-171:✅ Verification successful
Validate the
tikrayextra in project configuration
The install step now references thetikrayextra. Confirm that yourpyproject.tomlorsetup.cfgdefines an optional-dependencies group namedtikray, or the install will fail.You can run this script to check for the
tikrayextra:
🏁 Script executed:
#!/bin/bash # Search for 'tikray' in optional dependencies rg -A 5 'tikray' pyproject.toml setup.cfgLength of output: 833
tikray extra verified in pyproject.toml
Theoptional-dependencies.tikraygroup is defined inpyproject.toml(includes"tikray>=0.2.2,<0.3"), so the workflow install step will succeed.
143-143:✅ Verification successful
Confirm dropping Python 3.8 for MongoDB job
Thetest-mongodbmatrix no longer includes Python 3.8, while the other jobs still test it. Ensure this exclusion is intentional (e.g., due totikraycompatibility or other requirements).Run this script to verify
tikray’s supported Python versions on PyPI:
🏁 Script executed:
#!/bin/bash # Verify supported Python versions of tikray on PyPI curl -s https://pypi.org/pypi/tikray/json | jq '.info.classifiers[]' | grep 'Programming Language :: Python'Length of output: 514
🏁 Script executed:
#!/bin/bash # List all python-version matrices in the workflow grep -R "python-version" -n .github/workflows/tests.yml || echo "No matches found"Length of output: 901
Dropping Python 3.8 for the MongoDB job is intentional
tikray’s classifiers on PyPI only list support for Python 3.9 through 3.13 (and “Python 3 Only”), so excluding 3.8 from thetest-mongodbmatrix aligns with its compatibility requirements. No changes needed.
It's effectively the same, but provided using a dedicated package now. https://tikray.readthedocs.io/
It's effectively the same, but provided using a dedicated package now.
PyPI: https://pypi.org/project/tikray/
Documentation: https://tikray.readthedocs.io/