Skip to content

chore: Add manifest-server dependency group for independent locking (do not merge)#809

Closed
Aaron ("AJ") Steers (aaronsteers) wants to merge 1 commit intomainfrom
devin/1761175104-manifest-server-dependency-group
Closed

chore: Add manifest-server dependency group for independent locking (do not merge)#809
Aaron ("AJ") Steers (aaronsteers) wants to merge 1 commit intomainfrom
devin/1761175104-manifest-server-dependency-group

Conversation

@aaronsteers
Copy link
Copy Markdown
Member

chore: Add manifest-server dependency group for independent locking (do not merge)

Summary

This PR migrates the manifest-server dependencies (fastapi, uvicorn, ddtrace) from optional dependencies in the main [tool.poetry.dependencies] section to a dedicated Poetry dependency group [tool.poetry.group.manifest-server.dependencies]. The corresponding extra has been removed from [tool.poetry.extras] and the CI configuration updated to reference it as an optional Poetry group instead.

Key changes:

  • Moved fastapi, uvicorn, and ddtrace from optional main dependencies to a new manifest-server group
  • Removed the manifest-server extra definition
  • Updated [tool.airbyte_ci] to include "manifest-server" in optional_poetry_groups instead of poetry_extras
  • Regenerated poetry.lock with the new dependency structure

Goal: Enable independent locking of manifest-server dependencies to avoid constraint conflicts, specifically to allow numpy >=2.0 (currently blocked by langchain constraints from other extras).

Review & Testing Checklist for Human

⚠️ CRITICAL CONCERNS - Please review carefully:

  • Verify numpy upgrade works: Test if numpy can actually be upgraded to >=2.0 with this change (this was the primary goal but wasn't verified)
  • Test manifest-server installation: Confirm the manifest-server can still be installed and used. Note: pip install airbyte-cdk[manifest-server] will NO LONGER WORK - users would need to use Poetry with --with manifest-server
  • Check for breaking changes: This removes a public extra, which is a breaking change for anyone using pip install airbyte-cdk[manifest-server]
  • Verify CI compatibility: Ensure CI workflows properly install manifest-server dependencies with the new group structure
  • Consider alternative approaches: Poetry groups are typically for dev dependencies. Should manifest-server remain as an extra with relaxed constraints instead?

Test Plan

  1. Install the CDK with manifest-server group: poetry install --with manifest-server
  2. Verify the manifest-server CLI works: manifest-server --help
  3. Try upgrading numpy to >=2.0 and check for conflicts
  4. Run existing tests that depend on manifest-server functionality

Notes

⚠️ Important: I'm uncertain this approach fully achieves the stated goal. Poetry groups don't provide truly "independent" locking in the way that separate lock files would. The dependencies are still resolved together with the main dependencies, just organized differently. If the goal is to completely isolate manifest-server dependencies from constraints imposed by langchain (in vector-db-based extra), this may not be sufficient. Consider discussing with the Poetry/dependency management experts on the team before merging.

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Original prompt from AJ Steers
Received message in Slack channel #ask-devin-ai:

@Devin - Can you create a PR against the python CDK to great a new 'manifest-server' dependency group to just include that named extra. Our goal (if we understand this feature correctly) would be to independently lock dependencies only with that extra selected, and ignore other constraints from other extras we aren't using. Specifically, we want to ensure numpy can get a >=2.0 version, which it currently can't due to langchange dependency
Thread URL: https://airbytehq-team.slack.com/archives/C08BHPUMEPJ/p1761174901548599?thread_ts=1761174901.548599

@devin-ai-integration
Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions github-actions bot added the chore label Oct 22, 2025
@github-actions
Copy link
Copy Markdown

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

Testing This CDK Version

You 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/1761175104-manifest-server-dependency-group#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/1761175104-manifest-server-dependency-group

Helpful Resources

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /autofix - Fixes most formatting and linting issues
  • /poetry-lock - Updates poetry.lock file
  • /test - Runs connector tests with the updated CDK
  • /poe build - Regenerate git-committed build artifacts, such as the pydantic models which are generated from the manifest JSON schema in YAML.
  • /poe <command> - Runs any poe command in the CDK environment

📝 Edit this welcome message.

@github-actions
Copy link
Copy Markdown

PyTest Results (Fast)

3 802 tests  ±0   3 790 ✅ ±0   6m 31s ⏱️ -12s
    1 suites ±0      12 💤 ±0 
    1 files   ±0       0 ❌ ±0 

Results for commit 112a453. ± Comparison against base commit 20ae208.

@github-actions
Copy link
Copy Markdown

PyTest Results (Full)

3 805 tests   3 793 ✅  11m 18s ⏱️
    1 suites     12 💤
    1 files        0 ❌

Results for commit 112a453.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant