Skip to content

fix(protogen): map Python dependency imports - #52

Merged
paralin merged 1 commit into
masterfrom
fix/python-proto-deps
Aug 12, 2026
Merged

paralin merged 1 commit into
masterfrom
fix/python-proto-deps

Conversation

@paralin

@paralin paralin commented Aug 12, 2026 •

Copy link
Copy Markdown
Member

Python files generated for one module import dependency schemas through their Go module paths. The dependency wheels install those schemas under module-relative Python packages instead, so a consumer wheel can build successfully and then fail during import.

Read module roots from vendor/modules.txt and replace the longest matching prefix with the dependency package path. Require a dot boundary so similarly named and undeclared modules remain unchanged.

Include the selected StarPC Python plugin and its frozen uv.lock in the cache fingerprint. Record the new fingerprint only after generation succeeds, and ignore Python lock changes when the Python plugin is not selected.

Install uv in CI before the Go suite runs its generated Python import check. Generated cross-module imports now resolve without aliases, and plugin changes cannot reuse stale service code.

@paralin
paralin force-pushed the fix/python-proto-deps branch from 17484f7 to 4470038 Compare August 12, 2026 03:09
Python files generated for one module import dependency schemas through their
Go module paths. The dependency wheels install those schemas under
module-relative Python packages instead, so a consumer wheel can build
successfully and then fail during import.

Read module roots from vendor/modules.txt and replace the longest matching
prefix with the dependency package path. Require a dot boundary so similarly
named and undeclared modules remain unchanged.

Include the selected StarPC Python plugin and its frozen uv.lock in the cache
fingerprint. Record the new fingerprint only after generation succeeds, and
ignore Python lock changes when the Python plugin is not selected.

Install uv in CI before the Go suite runs its generated Python import check.
Generated cross-module imports now resolve without aliases, and plugin changes
cannot reuse stale service code.

Signed-off-by: Christian Stewart <christian@aperture.us>
@paralin
paralin force-pushed the fix/python-proto-deps branch from 4470038 to cd54850 Compare August 12, 2026 03:15
@paralin
paralin merged commit a170e5b into master Aug 12, 2026
7 of 8 checks passed
@paralin
paralin deleted the fix/python-proto-deps branch August 12, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant