diff --git a/.github/workflows/typedpython-pypi.yml b/.github/workflows/typedpython-pypi.yml deleted file mode 100644 index b0f98705..00000000 --- a/.github/workflows/typedpython-pypi.yml +++ /dev/null @@ -1,78 +0,0 @@ -name: TypedPython to PyPI - -# Publishes the `typedpython` package (python-multiplatform-ksp/pyproject.toml) to PyPI. The package -# is versioned on its own, so it has its own tag: `typedpython-v`, pushed by the coordinator -# on a commit of main. PyPI trusted publishing: no token is stored; the `pypi` environment and the -# PyPI project's trusted publisher (this repository, this workflow file, environment `pypi`) must match. -# Only a wheel is published: it is pure Python (`py3-none-any`), and an sdist would carry the whole -# Kotlin module next to it. - -on: - push: - tags: - - 'typedpython-v*' - workflow_dispatch: - inputs: - tag: - description: 'Existing tag to build and publish (e.g. typedpython-v0.1.0)' - required: true - -permissions: - contents: read - -jobs: - build: - name: Build and check the wheel - runs-on: macos-latest - env: - TAG: ${{ github.event.inputs.tag || github.ref_name }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ github.event.inputs.tag || github.ref }} - - - name: Setup uv - uses: astral-sh/setup-uv@v6 - - - name: The tag names the package version - run: | - set -euo pipefail - version="$(sed -nE 's/^version = "(.*)"$/\1/p' python-multiplatform-ksp/pyproject.toml | head -1)" - test "$TAG" = "typedpython-v$version" || { echo "error: tag $TAG does not match typedpython $version" >&2; exit 1; } - - - name: Build - run: uv build --wheel --out-dir dist python-multiplatform-ksp - - - name: The wheel alone compiles the release example - run: | - set -euo pipefail - uv venv -q -p 3.15t "$RUNNER_TEMP/tpenv" - uv pip install -q --python "$RUNNER_TEMP/tpenv/bin/python" dist/typedpython-*.whl - "$RUNNER_TEMP/tpenv/bin/typedpython" demo --out "$RUNNER_TEMP/tpbuild" docs/release/desktop/typedpython/kernels.py 400000 | tee "$RUNNER_TEMP/tp.log" - grep -q '^compiled functions: .*dot' "$RUNNER_TEMP/tp.log" - grep -q '^identical output' "$RUNNER_TEMP/tp.log" - - - uses: actions/upload-artifact@v4 - with: - name: dist - path: dist/ - - publish: - name: Publish to PyPI - needs: build - runs-on: ubuntu-latest - environment: pypi - permissions: - id-token: write - steps: - - uses: actions/download-artifact@v4 - with: - name: dist - path: dist/ - - - name: Setup uv - uses: astral-sh/setup-uv@v6 - - - name: Publish - run: uv publish --trusted-publishing always dist/* diff --git a/docs/INTENT.md b/docs/INTENT.md index 5c45079d..b471a857 100644 --- a/docs/INTENT.md +++ b/docs/INTENT.md @@ -41,9 +41,9 @@ CPython interpreter inside a Kotlin Multiplatform application so that: the embedded CPython, as an extension module (`docs/design/typedpython.md`). TypedPython reaches plain Python users as a **distribution**, not as a new interpreter (maintainer, - 2026-10-30: "배포판 방식을 생각했다는거야. 근데 일단 그렇게 하더라도 typedpython 패키지 형태라면 pypi - 배포를 해야겠지"). The thisisthepy CPython build ships with TypedPython in it, and the same - compiler is an ordinary `typedpython` package on PyPI (`uv add typedpython`). + 2026-10-30: "배포판 방식을 생각했다는거야"). The thisisthepy CPython build ships with TypedPython in + it. The `typedpython` wheel is attached to the GitHub Release and is not published to PyPI + ("그냥 github release로만 해도 충분한거라는거지 ... 그냥 우리 배포판으로 배포하면 되는거"). 5. **High-performance kernels are written in Python too** (TypedPython tier 2). The maintainer first asked to explore it ("GPU 관련 최적화까지도 별도 언어 없이 지원할 방안을 모색해보자") and on