Skip to content

chore: add Python and conda dependencies#2

Merged
ameynert merged 3 commits intomainfrom
am_01_deps
Apr 13, 2026
Merged

chore: add Python and conda dependencies#2
ameynert merged 3 commits intomainfrom
am_01_deps

Conversation

@ameynert
Copy link
Copy Markdown
Collaborator

@ameynert ameynert commented Apr 10, 2026

Summary

  • Adds hail, polars, duckdb, pandas, pydantic, and tqdm as Python dependencies in divref/pyproject.toml
  • Adds mypy ignore_missing_imports overrides for hail and tqdm (no upstream type stubs available)
  • Adds openjdk>=11 as a conda dependency via a new hail pixi feature, included in the default environment
  • Updates uv.lock and pixi.lock to reflect the new dependencies

Test plan

  • pixi run fix-and-check-all passes

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Added new dependencies for data processing frameworks (duckdb, hail, pandas, polars, pydantic, tqdm)
    • Updated environment configuration to support additional optional features

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 10, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0de32b46-b171-4468-bd93-d36741bee9d7

📥 Commits

Reviewing files that changed from the base of the PR and between 6ba933e and 319a9d5.

⛔ Files ignored due to path filters (2)
  • divref/uv.lock is excluded by !**/*.lock
  • pixi.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • divref/pyproject.toml
  • pixi.toml
✅ Files skipped from review due to trivial changes (1)
  • pixi.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • divref/pyproject.toml

📝 Walkthrough

Walkthrough

The project configuration was expanded to include new data processing dependencies (duckdb, hail, pandas, polars, pydantic, tqdm) in pyproject.toml, with corresponding MyPy configuration updates to handle missing type stubs. The pixi environment was updated to enable hail feature support with openjdk runtime requirement.

Changes

Cohort / File(s) Summary
Dependency Management
divref/pyproject.toml
Added six new Python dependencies (duckdb>=1.0, hail>=0.2, pandas>=2.0, polars>=1.0, pydantic>=2.0, tqdm>=4.0) to expand data processing capabilities. Extended MyPy overrides to ignore missing imports for hail and tqdm packages.
Environment Configuration
pixi.toml
Introduced hail feature dependency block specifying openjdk (>=11) runtime requirement. Updated default pixi environment to activate both snakemake and hail features.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐰 Whiskers twitching with delight,
New dependencies hop into sight—
Hail, duckdb, pandas in a row,
Java and tools help gardens grow!
Environment configured just right, 🌱

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately summarizes the main change: adding Python and conda dependencies to the project.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch am_01_deps

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a 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

🧹 Nitpick comments (1)
.github/workflows/workflow_linting.yml (1)

3-5: Consider running this lint workflow on pull_request as well.

push-only triggers can miss PR-time feedback paths (especially fork PRs).

Suggested trigger update
 on:
   push:
+  pull_request:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/workflow_linting.yml around lines 3 - 5, The workflow
currently only triggers on the push event (the on: push: block); update the
trigger to include pull_request as well so the lint job runs on PRs (including
fork PRs) — e.g., modify the on: block to list both push and pull_request events
(or use on: [push, pull_request]) so the CI provides PR-time lint feedback.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@CONTRIBUTING.md`:
- Around line 49-59: The two headings using "######" should be changed to the
correct hierarchical level to avoid an h6 jump: update the headings "For Running
Individual Toolkit Checks" and "For Running All Toolkit Checks" to match the
surrounding section level (e.g., change the leading "######" to "###" or the
appropriate number of '#' to follow the previous heading level), ensuring
consistent incremental heading levels throughout CONTRIBUTING.md.

In `@pixi.toml`:
- Around line 16-31: The workspace lock file pixi.lock is out of sync with the
updated manifest (pixi.toml) where features/environments/tasks were changed;
regenerate the lock and commit it: run the pixi lock command against the current
manifest state (e.g., run "pixi lock" or the project's prescribed lock
generation command), verify the lock updates include the new
feature.hail.dependencies/openjdk and environments.default entries, then add and
commit the updated pixi.lock so CI no longer fails with --locked installs.

---

Nitpick comments:
In @.github/workflows/workflow_linting.yml:
- Around line 3-5: The workflow currently only triggers on the push event (the
on: push: block); update the trigger to include pull_request as well so the lint
job runs on PRs (including fork PRs) — e.g., modify the on: block to list both
push and pull_request events (or use on: [push, pull_request]) so the CI
provides PR-time lint feedback.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 1b26f066-efba-430a-ac47-4da7ad6b6564

📥 Commits

Reviewing files that changed from the base of the PR and between 6c46d1e and 6ba933e.

⛔ Files ignored due to path filters (2)
  • divref/uv.lock is excluded by !**/*.lock
  • pixi.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • .github/workflows/python_package.yml
  • .github/workflows/workflow_linting.yml
  • CONTRIBUTING.md
  • divref/pyproject.toml
  • pixi.toml
  • workflows/download.smk

Comment on lines +16 to +31
[feature.hail.dependencies]
openjdk = ">=11"

[environments]
default = { features = ["snakemake"] }
default = { features = ["snakemake", "hail"] }

[tasks]
check-toolkit = "uv run --directory divref poe check-all"
fix-and-check-toolkit = "uv run --directory divref poe fix-and-check-all"

check-lock = "pixi lock --check"

check-all = [
{ task = "check-toolkit" },
{ task = "check-lock" },
]
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

pixi.lock is out of sync with the workspace manifest.

The pipeline failure indicates --locked installs are currently broken after these feature/environment changes. Please regenerate and commit an updated pixi.lock from this exact manifest state.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pixi.toml` around lines 16 - 31, The workspace lock file pixi.lock is out of
sync with the updated manifest (pixi.toml) where features/environments/tasks
were changed; regenerate the lock and commit it: run the pixi lock command
against the current manifest state (e.g., run "pixi lock" or the project's
prescribed lock generation command), verify the lock updates include the new
feature.hail.dependencies/openjdk and environments.default entries, then add and
commit the updated pixi.lock so CI no longer fails with --locked installs.

@ameynert ameynert temporarily deployed to github-actions-snakemake-linting April 10, 2026 23:14 — with GitHub Actions Inactive
ameynert and others added 3 commits April 13, 2026 11:12
Add hail, polars, duckdb, pandas, pydantic, and tqdm as Python
dependencies in divref/pyproject.toml. Add mypy ignore_missing_imports
overrides for hail and tqdm (no type stubs). Add openjdk>=11 as a
conda dependency in a new pixi 'hail' feature and include it in the
default environment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ameynert ameynert temporarily deployed to github-actions-snakemake-linting April 13, 2026 18:12 — with GitHub Actions Inactive
@ameynert ameynert merged commit ffffd2f into main Apr 13, 2026
4 checks passed
@ameynert ameynert deleted the am_01_deps branch April 13, 2026 18:13
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.

1 participant