Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Streaming Event type, type hint, should support union type

Open Beginner friendly
#607 12 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

@mvanhorn is already working on this.

Since Apr 8, 2026.

  • #672 by @leobin001 — closed without merging
  • #732 by @mvanhorn — open
  • #754 by @Ghraven — closed without merging
  • #813 by @ThyTran1402 — open
  • #845 by @mirakour — open
  • #864 by @Mr-Neutr0n — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
66/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
python

Research direction

Locate the streaming_action.pydantic entry point and its stream_type annotation, then inspect how the annotation is validated or exposed to type checkers. Confirm the existing behavior with the union example from the issue and add or update focused coverage if the surrounding tests provide a suitable location. Done means union types of BaseModel variants are accepted without the type hint being reported as invalid.

Written by the indexing model from the issue text.

Description

area/streaming area/typing good first issue help wanted kind/bug priority/high

Current behavior

When it's a union type it complains:

union = MyModel1 | MyModel2

@streaming_action.pydantic(
    reads=[...],
    writes=[...],
    state_input_type=..., 
    state_output_type=...
    stream_type=union, # type hint says this is invalid
)

because it is typed with :

stream_type: Union[Type["BaseModel"], Type[dict]],

Library & System Information

Latest burr

Expected behavior

It should be fine.

Additional context

The fix I think is to expand that stream type to handle a union of BaseModel types.

Dominant language
Python
Stars
2.6k
Forks
199
Avg merge
3d 10h
Merged PRs (30d)
6

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/burr

All issues in apache/burr

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.