Skip to content

Dependency conflict: aiobotocore pins botocore to narrow ranges incompatible with bedrock-agentcore #299

Description

@ravikamz

Body:

## Description

`graphrag-lexical-graph` depends on `llama-index-embeddings-bedrock``aioboto3``aiobotocore` which pins `botocore` to narrow micro-version
ranges (e.g., `>=1.38.23,<1.38.28`). This conflicts with applications using `bedrock-agentcore>=1.9.1` which requires `botocore>=1.43.0`.

This makes it impossible to install `graphrag-lexical-graph` in the same Python environment as `bedrock-agentcore` using standard dependency
resolution.

## Dependency Chain

graphrag-lexical-graph==3.18.3
  └── llama-index-embeddings-bedrock==0.8.0
       └── aioboto3
            └── aiobotocore==2.25.1
                 └── botocore>=1.38.23,<1.38.28  ← CONFLICTS

bedrock-agentcore==1.9.1
  └── botocore>=1.43.0  ← REQUIRES NEWER

## Error Message (uv resolver)

graphrag-lexical-graph==3.18.3 depends on one of:
    botocore>=1.38.23,<1.38.28
    botocore>=1.39.9,<1.39.12
    botocore>=1.40.15,<1.40.19
    botocore>=1.40.37,<1.40.62

And because bedrock-agentcore==1.9.1 depends on botocore>=1.43.0,
graphrag-lexical-graph==3.18.3 and bedrock-agentcore are incompatible.

## Use Case

Integrating graphrag-toolkit retrieval into an application that uses Bedrock AgentCore Runtime (e.g., a serve layer that hosts both the AgentCore app
 and the graphrag retriever in the same process).

## Workaround

Install with lowest resolution:

```bash
pip install --resolution lowest-direct graphrag-lexical-graph==3.18.3

Or with uv:

uv pip install graphrag-lexical-graph==3.18.3 --resolution lowest-direct

This picks compatible versions of aiobotocore that work with both packages.

Suggested Fix

Consider making llama-index-embeddings-bedrock an optional dependency (extras) since not all users need it — users who already have their own
embedding implementation (direct Bedrock calls) don't need the llama-index embedding wrapper and its transitive dependency chain.

Environment

- graphrag-lexical-graph: 3.18.3
- bedrock-agentcore: 1.9.1
- Python: 3.12
- Resolver: uv 0.8.13

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdependenciesPull requests that update a dependency file

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions