Repository navigation
Release: merge release into main - #105
Open
github-actions[bot] wants to merge 25 commits into
Open
github-actions[bot] wants to merge 25 commits into
github-actions[bot] wants to merge 25 commits into
Conversation
The slot takes the C sources TypedPython generates from its typed IR (no Cython), build flags, module names and a .py fallback per module, and builds CPython extension modules with the target's own toolchain (clang, the Android NDK, Xcode). docs/design/compile-slot.md has the design and the open questions; ExtensionCompiler.kt holds only the types and signatures, with no caller changed. Refs #19
Headers and libpython come in through the request (includeDir, extensionSuffix, libDir, libraryName), filled on the Gradle side from python-multiplatform's CPythonIncludeDirectories (#46, #56); the slot no longer locates or downloads them. Android and Windows requests without libDir are refused. No .py fallback artefact (the fallback lives in the .so). Modules with no generated C ship at bytecode level instead of being refused. Windows/clang-cl is later; macOS first. Refs #19
…s level decision TypedPython designer's review against real output (2026-10-03): - one .c per module; header-only runtime/tp_runtime.h through options.includeDirs, compiled into each extension (Q8); no shared runtime library - -ffp-contract=off -fno-fast-math always: floating-point flags are semantics, never tuning; a later clang-cl adapter maps them (/fp:precise) instead of passing flags verbatim (Q7) - the cache key hashes every header in the unit's -MMD depfile, plus target, minSdk and ABI; TypedPython keeps source->C, the slot C->extension in buildDir; no cache field in the request - Py_mod_gil declared only when the consumer's code is free-threading safe - the ABI tag in the output path (Q2); relative source paths, -ffile-prefix-map, strip, ZERO_AR_DATE (Q4); BundleRequest.pythonAbi (Q5); -arch cross on macOS (Q6); extraction dir before the assets path in __path__ (Q3 constraint) User decision (2026-10-03): mixed = developer modules as bytecode, TypedPython's C not applied, libraries' prebuilt extensions; native = TypedPython's C where produced, a module without C ships as bytecode with a build warning naming it and the reason (BundleRequest.notNativeModules, BundleResult.warnings). mixed never calls the slot. Recorded in docs/SPEC.md, Build Level. Open: Android extraction owner (Q3), libraryName form (Q9), and whether TypedPython can report a reason per module without C.
The designer's answer (2026-10-03): the pipeline knows, per module, whether it was not marked for compilation or marked with nothing compiled, and per function or class why it stayed interpreted. notNativeModules becomes List<NotNativeModule(module, kind, items)> so the bundler formats the warning and file:line stays machine-readable; partially compiled modules are info, not warnings.
Docs: Draft the native compile slot for TypedPython's generated C
Feat: install named requirements into an existing venv via UVBackend (#40)
github-actions
Bot
force-pushed
the
release
branch
from
November 1, 2026 02:04
f6fd1b7 to
ced7886
Compare
Fix: use AMD64 markerMachine for x86_64 Windows in uv 0.13.6 (#107)
github-actions
Bot
force-pushed
the
release
branch
from
November 4, 2026 15:32
ced7886 to
8373e96
Compare
…4-check Feat: pin uv 0.13.6 in CI and reject uv < 0.13.6 for x86_64 Windows (#109)
github-actions
Bot
force-pushed
the
release
branch
from
November 4, 2026 23:00
8373e96 to
3eb6afd
Compare
Feat: implement native compile slot and ResourceBundler native/mixed levels (#20)
github-actions
Bot
force-pushed
the
release
branch
from
November 7, 2026 01:17
3eb6afd to
becb89f
Compare
AGENTS 7: what counts as the owner's decision
github-actions
Bot
force-pushed
the
release
branch
from
November 7, 2026 03:28
becb89f to
61fb592
Compare
AGENTS 3, 10: clean up on merge; agents do not build
github-actions
Bot
force-pushed
the
release
branch
from
November 7, 2026 18:37
61fb592 to
8a84645
Compare
PyPI has 0.2.0, where --version fails, and the guide now starts from uv tool install pypackpack, so the docs say which release the flag needs. The rest of the WIP is kept as is: --version/-v and the v alias, init with --no-workspace, the t suffix in python subcommands, cliVersion and pyproject 0.3.0, and the 0.3.0 release notes (each item checked against its merged PR on develop).
0.3.0 readiness: ppp --version, init never edits an ancestor project, 3.15t versions
github-actions
Bot
force-pushed
the
release
branch
from
November 7, 2026 19:06
8a84645 to
734bfbb
Compare
This branch has not been deployed
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.
Automated sync of
develop(a334dba) intorelease. Markdown outside README.md and docs/ subfolders is removed by .github/scripts/release/sync-release.sh.