Skip to content
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

pipedag compatibility with pydiverse.transform >=0.2 #237

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

Revan1017
Copy link
Contributor

@Revan1017 Revan1017 commented Feb 7, 2025

This PR makes pydiverse.pipedag compatible with pydiverse.transform >0.2.0 while still maintaining support for pydiverse.transform <0.2.0.
However pydiverse.pipedag still doesn't support pydiverse.transform 0.2.0, as it significasntly differs from every other verison in files and functions
Changes:

  • Added a new Tablehook in hooks.py for pydiverse.transform >0.2.0
  • Added a new Tablehook in parquet.py and a Version Detector for pydiverse.transform >0.2.0
  • Detecting Version (old/new) by testing imports (try-except)
  • Added a NotImplementedError("pydiverse.transform 0.2.0 isn't supported"), when pydiverse.transform 0.2.0 is tried to run
  • Updated README.md to inform about incompatibility with pydiverse.transform 0.2.0
  • Updated tests/test_table_hooks/test_pdtransform to also have the version-detection mechanism in order to test correctly
  • Pinned prefect version down due to incompatibility
  • Dropped python 3.9 due to pdt not supporting it anymore
  • Removed ibm-on-osx support because of problems with pixi.lock and pixi.toml

Checklist

  • Added a docs/source/changelog.md entry
  • Added/updated documentation in docs/source/
  • Added/updated examples in docs/source/examples.md

@Revan1017 Revan1017 requested a review from a team as a code owner February 7, 2025 15:11
implement NotImplementedError when pydiyverse.transform 0.2.0 is used
implement NotImplementedError when pydiyverse.transform 0.2.0 is used
…and new pdt; remove support for py 3.9 when using new pdt
…res; remove support for py 3.9 when using new pdt; drop support for osx for the time being (leads to pixi errors due to pypi dependencies); pavel: i don't care anymore
…res; remove support for py 3.9 when using new pdt; drop support for osx for the time being (leads to pixi errors due to pypi dependencies); pavel: i don't care anymore
prefect = ">=2.13.5, <3.0.0"
Copy link

@verticube verticube left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, please add some pointers to the PR description.

I'd appreciate a second opinion from others, e.g., @nicolasmueller

@@ -58,7 +58,6 @@ jobs:
- py312all
- py311all
- py310all
- py39all

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you please add to the PR description why we decided to drop Python 3.9 from the tests?

@@ -37,7 +37,7 @@ kazoo = ">=2.8.0"
dask = ">=2022.1.0"

[feature.prefect.dependencies]
prefect = ">=2.13.5"
prefect = ">=2.13.5, <3.0.0"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and could you please also add a note that/why we pinned the prefect versions?

# ibm_db is not on conda-forge for macOS
# https://github.com/ibmdb/db2drivers/issues/3
ibm-db = ">=3.1.4"
platforms = ["linux-64", "win-64"] # TODO "osx-arm64"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...and that/why we removed ibm-on-osx support?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pavelzw maybe that's also something you could elaborate on. I'm wondering if we should maybe unbundle this particular change. wdyt?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue was that ibm-db on macos didn't have a conda-forge build back then (conda-forge/ibm_db-feedstock#77) and just got one recently in conda-forge/ibm_db-feedstock#79. In a future PR (#231) i will re-add macos support for ibm-db with the new package.

This lead to us using the ibm-db build on pypi for macos (in combination with telling people to install gcc next to clang) and thus activating pypi-dependencies in pixi.
This introduces some issues, namely in some cases (haven't found a minimal reproducer for this issue here, though) where pixi thinks the lockfile is out of date (which leads to pixi install --locked failing). xref prefix-dev/pixi#1295, prefix-dev/pixi#1417

I'm wondering if we should maybe unbundle this particular change

this would require a change of the lockfile which will likely lead to ci breakages. if it's not high effort to fix these breakages (or introduce corresponding pinnings in pixi.toml), we could do it 🤷🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants