Skip to content

Add Python native operator dependencies - #2167

Merged
Yicong-Huang merged 4 commits into
masterfrom
yicong-add-operator-dependencies
Sep 28, 2023
Merged

Add Python native operator dependencies#2167
Yicong-Huang merged 4 commits into
masterfrom
yicong-add-operator-dependencies

Conversation

@Yicong-Huang

Copy link
Copy Markdown
Contributor

Following up on #2157, this PR adds a dependency file operator-requirements.txt, which declares the dependencies used in native Python operators.

@Yicong-Huang
Yicong-Huang requested a review from kunwp1 September 27, 2023 13:23
@Yicong-Huang Yicong-Huang self-assigned this Sep 27, 2023
@Yicong-Huang Yicong-Huang added the dependencies Pull requests that update a dependency file label Sep 27, 2023
Comment thread core/amber/operator-requirements.txt
@Yicong-Huang
Yicong-Huang requested a review from kunwp1 September 28, 2023 00:57

@kunwp1 kunwp1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

@Yicong-Huang
Yicong-Huang merged commit fd76920 into master Sep 28, 2023
@Yicong-Huang
Yicong-Huang deleted the yicong-add-operator-dependencies branch September 28, 2023 06:18
yangzhang75 pushed a commit to yangzhang75/texera that referenced this pull request Jun 22, 2026
Following up on apache#2157, this PR adds a dependency file
`operator-requirements.txt`, which declares the dependencies used in
native Python operators.
mengw15 pushed a commit to mengw15/texeraFork that referenced this pull request Jul 5, 2026
### What changes were proposed in this PR?

Removes three Python packages that nothing uses and moves `ruff` to the
dev-only requirements file:

| Package | File | Why it can go |
| --- | --- | --- |
| `Deprecated==1.2.14` | requirements.txt | Last import removed in
apache#2847; no installed package requires it |
| `protobuf==7.34.1` | requirements.txt | No `google.protobuf` import
anywhere; betterproto 2.0 runtime does not depend on it (only its
optional extras do) |
| `pybase64==1.3.2` | operator-requirements.txt | Added in apache#2167, but
the operator templates have always used the stdlib `base64` (see
`ImageUtility.scala` in that PR) — zero references to `pybase64` in the
entire git history |
| `ruff==0.14.7` | requirements.txt → dev-requirements.txt | Lint tool,
not a runtime dependency; keeping it in requirements.txt wrongly puts it
in LICENSE-binary-python |

Follow-up changes required by the move/removals:
- `.github/workflows/build.yml`: the "Lint with Ruff" step now runs
after "Install dev dependencies", since ruff comes from
dev-requirements.txt.
- `amber/LICENSE-binary-python`: dropped the four matching entries.
`wrapt` stays — it is still a hard dependency of `aiobotocore`, not just
of `Deprecated`.
- Added `# Not imported directly: ...` comments to the transitive pins
(`setuptools`, `python-dateutil`, `s3fs`/`aiobotocore`,
`SQLAlchemy`/`pg8000`, `scikit-image`) so they don't look unused in
future audits.

### Any related issues, documentation, discussions?

Closes apache#6101

### How was this PR tested?

Uninstalled the three packages from the local venv (`pip uninstall -y
protobuf Deprecated pybase64`), then ran the existing test suite and the
same lint commands CI runs:

```
cd amber && pytest -m "not integration" -q
# 551 passed, 1 deselected in 64s
cd amber && ruff check src/main/python src/test/python && ruff format --check src/main/python src/test/python
# All checks passed! 190 files already formatted
```

No new tests: dependency-manifest-only change; CI's
`check_binary_deps.py` license gate verifies the LICENSE-binary-python
entries match the installed set.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (claude-fable-5)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ModuleNotFoundError: No module named 'plotly' when using the visualization operator

2 participants