Skip to content

Feat: Restore the binder's Pythonic names (snake_case members and keywords) - #138

Merged
b-re-w merged 5 commits into
developfrom
feat/restore-pythonic-names
Oct 3, 2026
Merged

b-re-w merged 5 commits into
developfrom
feat/restore-pythonic-names

Conversation

@b-re-w

@b-re-w b-re-w commented Oct 3, 2026

Copy link
Copy Markdown
Member

Closes #131

Feature restored (SPEC U-12, U-8, B-7; AGENTS §12.1 corrected: namespaces are never renamed, member/function/parameter names are converted). 238119b had removed this by over-reading §12.1.

  • On Kotlin-named modules: module functions, overloads (padding_from_baseline__TextUnit), object functions (Arrangement.spaced_by), extension methods, properties (read/write) and all keyword arguments are reachable by snake_case; capitalised names and namespaces are unchanged; Kotlin names keep working and stay what dir() lists.
  • Rule identical to pythonx-compose's _reexport.py (toURLString -> to_url_string); an ambiguous alias is not served.
  • inspect.signature shows snake keywords; describe() adds python_name; stubs carry both.
  • Resolvers (add_member_resolver) are asked first; PythonxComposeCompatibilityTest pins pythonx-compose 0.1.0a1 behaviour.

Verification (coordinator, after merging develop, separate modules): plugin 274/0, desktopTest 607/0, ksp artifact 35/0, app 79/0, compose 118 (one intermittent recomposition test failed in one run; the two recomposition test classes ran 4x alone and the full compose suite 2x on both this branch and develop with 0 failures), androidNative OK.

@b-re-w
b-re-w merged commit 452cc80 into develop Oct 3, 2026
@b-re-w
b-re-w deleted the feat/restore-pythonic-names branch October 3, 2026 14:50
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.

1 participant