Skip to content

[Feat]: make dependency starlette optional #101

Description

@sll521

Is your feature request related to a problem? Please describe.

we have a project used a lower version starlette>=0.37.2,<0.38.0, but the a2a-sdk use starlette>=0.46.2, confict! My current solution is to directly modify the dependent version using the source code, but upgrading later will be troublesom. If there is a better way, please advise.

Describe the solution you'd like

I hope the SDK can provide a way to solve my problem, below are my some idea:
way 1. use a lower verson of starlette,may cause incompatibility issue
way 2. make starlette optional, then offer an abstract application do not dependent specific web framework,let user extend

Describe alternatives you've considered

No response

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Activity

  1. klauswong commented on Jun 2, 2025

    @klauswong

    Facing the same issue where the dependencies conflict with Chainlit requirements
    As a tmp solution, we forked the a2a-python and lowered the version requirement
    klauswong@f5f7263

  2. added a commit that references this issue on Jun 13, 2025
    e679986
  3. darkhaniop commented on Jun 17, 2025

    @darkhaniop
    Contributor

    @holtskinner, do you mind if I try implementing the second solution instead (or after #193 if it gets merged in the meantime)?

    way 2. make starlette optional, then offer an abstract application do not dependent specific web framework,let user extend

    If we opt for "way 2," we can make both starlette and the newly added FastAPI frameworks optional, so that downstream projects only add dependencies they actually use, instead of carrying all possible frameworks.

    This could be a better approach. What do you think?

  4. holtskinner commented on Jun 17, 2025

    @holtskinner
    Member

    @darkhaniop Go ahead and make a PR for it

  5. added a commit that references this issue on Jun 17, 2025
    8e713b7
  6. added a commit that references this issue on Jun 24, 2025
    8d6fcae
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions