Repository navigation
build: declare Cython as a build dependency - #7
Merged
Merged
Conversation
`pip install .` failed with "No module named 'Cython'": setup.py imports Cython to compile selected modules, but pyproject.toml had no [build-system] table, so pip's isolated build environment never had it. pyproject.toml now declares setuptools, wheel, and Cython>=3. CI gains a package job (Python 3.12) that installs the package as a consumer would and imports the installed modules from outside the checkout. middleware.auth and middleware.policy are left out of that check: they still import the nonexistent omnibioai_security_sdk package, the known layout issue described in README.md, which this change does not address. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016nxi4bp7DP1ancERNUUfzj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem:
pip install .failed withModuleNotFoundError: No module named 'Cython'.setup.pyimports Cython to compile selected modules, butpyproject.tomlhad no[build-system]table, so pip's isolated build environment never had it.Changes
pyproject.toml: declares the build requirements (setuptools>=68,wheel,Cython>=3).packagejob (Python 3.12) installs the package the way a consumer would, then imports the installed modules from outside the checkout, so they resolve from site-packages. The modules checked areauth.service,iam.client,iam.cache,policy.client,core.config,core.context,audit.clientandmiddleware.s2s.Not addressed here: the known layout issue in the README's package layout note.
middleware.authandmiddleware.policyimport the nonexistentomnibioai_security_sdkpackage, so they still fail to import after install, and they are excluded from the new check. Separately,exceptions.py(a top-level module) is not included byfind_packages(). Both need a decision about the package layout.Verified locally
pip install .succeeds on Python 3.11 and 3.12, and the Cython modules install as compiled.sofiles.ruff check .and all 103 tests still pass.🤖 Generated with Claude Code
https://claude.ai/code/session_016nxi4bp7DP1ancERNUUfzj
Generated by Claude Code