chore: remove unused psutil & rapidfuzz dependencies, make google-cloud-secret-manager optional 'dev' extra (WASM compatibility prep)#670
Closed
devin-ai-integration[bot] wants to merge 5 commits intomainfrom
Conversation
…l for WASM compatibility - Remove psutil and rapidfuzz from main dependencies (marked as unused) - Move google-cloud-secret-manager to dev extras group - Add new 'system' extras group for psutil and rapidfuzz - Update deptry configuration comments to reflect optional status This enables airbyte-cdk to be installed in WASM environments like Pyodide by making problematic binary dependencies optional. Co-Authored-By: AJ Steers <aj@airbyte.io>
Automatic code formatting applied during dependency update process. Includes line wrapping and copyright header removal. Co-Authored-By: AJ Steers <aj@airbyte.io>
Contributor
Author
|
Original prompt from AJ Steers: |
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. Testing This CDK VersionYou can test this version of the CDK using the following: # Run the CLI from this branch:
uvx 'git+https://github.com/airbytehq/airbyte-python-cdk.git@devin/1753304576-wasm-compatibility-deps#egg=airbyte-python-cdk[dev]' --help
# Update a connector to use the CDK from this branch ref:
cd airbyte-integrations/connectors/source-example
poe use-cdk-branch devin/1753304576-wasm-compatibility-depsHelpful ResourcesPR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
|
Address PR feedback from @aaronsteers to fully remove psutil and rapidfuzz rather than making them optional dependencies. These packages are unused and were marked as TODO for removal. Changes: - Remove psutil and rapidfuzz from optional dependencies - Remove 'system' extras group (no longer needed) - Update deptry comments to reflect complete removal - Keep google-cloud-secret-manager in dev extras as requested Co-Authored-By: AJ Steers <aj@airbyte.io>
Contributor
Author
|
Closing due to inactivity for more than 7 days. Configure here. |
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.
feat: make psutil, rapidfuzz, and google-cloud-secret-manager optional for WASM compatibility
Summary
This PR makes the airbyte-cdk package compatible with WASM environments like Pyodide by moving problematic binary dependencies to optional extras groups. The main changes:
psutilandrapidfuzzwere marked as TODO for removal and are not used in core declarative manifest executiongoogle-cloud-secret-manageris moved to thedevextras group since it's only needed for development/secret management featuressystemextra forpsutil/rapidfuzzand updateddevextra to includegoogle-cloud-secret-managerThese changes enable
pip install airbyte-cdkto work in Pyodide without requiring binary dependencies that can't be compiled to WASM.Review & Testing Checklist for Human
await micropip.install("airbyte-cdk")works in Pyodide without errorsgoogle-cloud-secret-managerto dev extras doesn't break any secret management features used in productionpoetry run poe check-cito ensure no regressions in test suiteRecommended test plan:
pip install airbyte-cdk[dev]to verify secret manager functionality still works when explicitly installedDiagram
%%{ init : { "theme" : "default" }}%% graph TD pyproject["pyproject.toml<br/>(Main Config)"]:::major-edit poetry_lock["poetry.lock<br/>(Generated)"]:::major-edit schema["declarative_component_schema.py<br/>(Auto-formatted)"]:::minor-edit main_deps["Main Dependencies<br/>(Required for all installs)"]:::context dev_extra["dev extras<br/>(Development features)"]:::context system_extra["system extras<br/>(System monitoring)"]:::context pyproject --> main_deps pyproject --> dev_extra pyproject --> system_extra main_deps -.->|"REMOVED"| psutil_old["psutil"]:::removed main_deps -.->|"REMOVED"| rapidfuzz_old["rapidfuzz"]:::removed main_deps -.->|"MOVED"| gcs_old["google-cloud-secret-manager"]:::removed dev_extra -->|"ADDED"| gcs_new["google-cloud-secret-manager"]:::context system_extra -->|"ADDED"| psutil_new["psutil (optional)"]:::context system_extra -->|"ADDED"| rapidfuzz_new["rapidfuzz (optional)"]:::context subgraph Legend L1[Major Edit]:::major-edit L2[Minor Edit]:::minor-edit L3[Context/No Edit]:::context L4[Removed]:::removed end classDef major-edit fill:#90EE90 classDef minor-edit fill:#87CEEB classDef context fill:#FFFFFF classDef removed fill:#FFB6C1Notes
serpyco-rsdependency refactor was explicitly deferred to a separate session as requesteddeclarative_component_schema.pywere applied automatically during the dependency update process