Skip to content

Python 3.14 compatibility#125

Merged
ImLucasBrown merged 2 commits intodevfrom
py_314
Feb 13, 2026
Merged

Python 3.14 compatibility#125
ImLucasBrown merged 2 commits intodevfrom
py_314

Conversation

@ImLucasBrown
Copy link
Member

Summary

  • Plugin loader: Skip non-.py files to avoid crashes on stale .pyc bytecode (e.g. Python 2.7 magic numbers)
  • Node internals: Use a class-defined _NodeSpec for INTERNAL_ATTRS.BUILTINS so __firstlineno__ and __static_attributes__ (added in Python 3.12+ via PEP 669) are properly filtered from user attributes
  • setup.py: Bump python_requires upper bound from <3.12 to <3.15

Test plan

  • All 105 tests pass on Python 3.14
  • Verify tests still pass on Python 3.9, 3.10, 3.11 (CI matrix)

🤖 Generated with Claude Code

ImLucasBrown and others added 2 commits February 13, 2026 11:54
* Skip non-.py files in plugin loader to avoid crashes on stale .pyc bytecode
* Use class-defined _NodeSpec for INTERNAL_ATTRS.BUILTINS so __firstlineno__ and __static_attributes__ (added in Python 3.12+) are properly filtered
* Bump python_requires upper bound from <3.12 to <3.15

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ZachGray
Copy link

Looks simple enough to me

@ImLucasBrown
Copy link
Member Author

Confirmed working UI in 3.14.2 all tests pass in this and editor repo.

@ImLucasBrown ImLucasBrown merged commit 3fdb228 into dev Feb 13, 2026
16 checks passed
@ImLucasBrown ImLucasBrown deleted the py_314 branch February 13, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments