You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Most long lines were in commented-out code that was never converted from JavaScript (old RxJS test stubs). These dead comment blocks were removed from:
test_doaction.py — ~270 lines of unconverted JavaScript test stubs
test_replay.py — 3 commented-out test methods with very long assert lines
test_takelastbuffer.py — 2 commented-out test functions
test_startwith.py — 1 commented-out test with syntax error
Module docstrings in test_mathematical_fluent.py, test_multicasting_fluent.py, test_method_chaining.py, and test_filtering_fluent.py were wrapped to fit 88 chars.
Active code in test_starmap.py was reformatted with line continuations.
Auto-fixed (63 → 89 via --fix and --unsafe-fixes)
I001 (13): import sorting
UP032 (28): f-string upgrades
UP004 (6): useless object base class
E714 (5): not x is → x is not
UP045 (4): Optional[X] → X | None
UP006 (3): List[X] → list[X]
E711 (1): != None → is not None
F401 (1): unused import
UP031 (16): %-format → f-string (unsafe-fix)
F841 (7): unused local variable removals
UP008 (2): super(Class, self) → super()
E731 (12): lambda assignment → def
UP035 (4): deprecated typing imports
pyproject.toml
Removed tests/test_observable from [tool.ruff]exclude list. Updated comment to reflect stage completion.
changes.md
Added changelog entry for this PR. Also resolved pre-existing merge conflict markers (both concurrent entries are preserved).
Verification
uv run ruff check tests/ → All checks passed (0 errors)
uv run pytest tests/test_observable/ → 1270 passed
What's next
tests/test_observable/ and tests/test_subject/ still in pyright exclude list — fixing those requires type annotations on callback parameters (larger effort, separate PRs)
Warning
Protected Files
This was originally intended as a pull request, but the patch modifies protected files. These files may affect project dependencies, CI/CD pipelines, or agent behaviour. Please review the changes carefully before creating the pull request.
🤖 This PR was created by Repo Assist, an automated AI assistant.
Summary
This PR fixes all 152 ruff lint errors in
tests/test_observable/and removes the directory from the ruffexcludelist inpyproject.toml.Changes
tests/test_observable/— ruff lint fixesE741 — Ambiguous variable name
l(13 occurrences)Renamed
l→leftoritemsin:test_amb.py,test_skipuntil.py,test_takeuntil.py— observable namedleft(matching theleft_msgsvariable already in scope)test_groupjoin.py— function parameterl→timers(a list of timer observables)test_timeinterval.py— collectionl→itemsE721 — Type comparison (1 occurrence)
test_fromfuture.py:type(err) == asyncio.CancelledError→isinstance(err, asyncio.CancelledError)E501 — Line too long (36 occurrences)
Most long lines were in commented-out code that was never converted from JavaScript (old RxJS test stubs). These dead comment blocks were removed from:
test_doaction.py— ~270 lines of unconverted JavaScript test stubstest_replay.py— 3 commented-out test methods with very long assert linestest_takelastbuffer.py— 2 commented-out test functionstest_startwith.py— 1 commented-out test with syntax errorModule docstrings in
test_mathematical_fluent.py,test_multicasting_fluent.py,test_method_chaining.py, andtest_filtering_fluent.pywere wrapped to fit 88 chars.Active code in
test_starmap.pywas reformatted with line continuations.Auto-fixed (63 → 89 via
--fixand--unsafe-fixes)I001(13): import sortingUP032(28): f-string upgradesUP004(6): uselessobjectbase classE714(5):not x is→x is notUP045(4):Optional[X]→X | NoneUP006(3):List[X]→list[X]E711(1):!= None→is not NoneF401(1): unused importUP031(16):%-format → f-string (unsafe-fix)F841(7): unused local variable removalsUP008(2):super(Class, self)→super()E731(12): lambda assignment →defUP035(4): deprecatedtypingimportspyproject.tomlRemoved
tests/test_observablefrom[tool.ruff]excludelist. Updated comment to reflect stage completion.changes.mdAdded changelog entry for this PR. Also resolved pre-existing merge conflict markers (both concurrent entries are preserved).
Verification
uv run ruff check tests/→ All checks passed (0 errors)uv run pytest tests/test_observable/→ 1270 passedWhat's next
tests/test_observable/andtests/test_subject/still in pyrightexcludelist — fixing those requires type annotations on callback parameters (larger effort, separate PRs)Warning
Protected Files
This was originally intended as a pull request, but the patch modifies protected files. These files may affect project dependencies, CI/CD pipelines, or agent behaviour. Please review the changes carefully before creating the pull request.
Click here to create the pull request once you have reviewed the changes
Protected files
pyproject.tomlTo route changes like this to a review issue instead of blocking, configure
protected-files: fallback-to-issuein your workflow configuration.Note
🔒 Integrity filter blocked 72 items
The following items were blocked because they don't meet the GitHub integrity level.
list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".tapoperator #750list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".AsyncIOScheduler.nowreturns a datetime in 1970. #734list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".now()implementation breaksschedule_absolute()compatibility. #724list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".list_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter: