• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ReactiveX / RxPY / 29865117778
94%

Build:
DEFAULT BRANCH: master
Ran 21 Jul 2026 08:18PM UTC
Jobs 1
Files 417
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Jul 2026 08:17PM UTC coverage: 93.618% (+0.04%) from 93.574%
29865117778

push

github

web-flow
fix(operators): accept concurrent.futures.Future wherever futures are accepted (#806)

Since the 3.0 rewrite every operator tested for futures with
`isinstance(x, asyncio.Future)`, so a `concurrent.futures.Future` fell
through to `from_(...)` and raised `TypeError: 'Future' object is not
iterable`. RxPY 2 duck-typed futures via `add_done_callback` and accepted
both flavours.

Restore that behaviour: add a public `reactivex.typing.AnyFuture[T]` alias
(`asyncio.Future[T] | concurrent.futures.Future[T]`) and an internal
`is_future()` TypeIs guard, and use them at all 16 isinstance sites --
flat_map, merge, amb, catch, exclusive, skip_until, switch_latest,
take_until, timeout, while_do, case, defer, if_then, zip,
on_error_resume_next and from_future.

`from_future()` already worked with both kinds at runtime; only its
annotation said otherwise. `to_future()` keeps returning an
`asyncio.Future`, since it constructs one.

Also widen the annotations so the pattern type-checks: `flat_map` gains
future-returning overloads, `merge_all` accepts futures as inner sources,
and the `amb`/`take_until`/`timeout` facades now match their impls.

examples/parallel/timer.py works again as written, and gains the
`__main__` guard that ProcessPoolExecutor needs on non-fork start methods.

Fixes #709

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

191 of 191 new or added lines in 23 files covered. (100.0%)

25702 of 27454 relevant lines covered (93.62%)

0.94 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29865117778.1 21 Jul 2026 08:18PM UTC 417
93.62
GitHub Action Run
Source Files on build 29865117778
  • Tree
  • List 417
  • Changed 22
  • Source Changed 0
  • Coverage Changed 22
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 19da6ac1 on github
  • Prev Build on master (#29863867828)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc