Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions PROJECT.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,9 +128,9 @@ python3 .github/scripts/check_guide.py # 가이드: HTML 파싱, 링
- 배포 방법: 릴리스할 커밋에 태그 `v0.1.0a1` 로 GitHub Release 를 게시하면(알파는 pre-release 표시)
`publish-pypi.yml` 이 Release 태그와 `pyproject.toml` 버전을 대조하고, sdist·wheel 을 빌드하고,
`twine check`·새 venv 스모크를 거쳐 트러스티드 퍼블리싱으로 올린다. 태그만 푸시해서는 아무것도
올라가지 않는다(같은 버전은 PyPI 에 다시 올릴 수 없으므로 의도적인 단계로 둠). **현황: 업로드 전.**
Release 게시는 메인테이너 승인을 기다린다. GitHub 환경 `pypi`(`v*` 태그만 허용)는 만들었고, PyPI
pending publisher 는 메인테이너가 등록한다.
올라가지 않는다(같은 버전은 PyPI 에 다시 올릴 수 없으므로 의도적인 단계로 둠). **현황: 0.1.0a1 배포됨**(2026-10-03, develop `134a641` 에서 pre-release
`v0.1.0a1`, publish-pypi run 37120641414; https://pypi.org/project/pythonx-compose/). 새 venv 에서
`pip install pythonx-compose==0.1.0a1` 후 import 스모크 통과.

### 결정됨 (2026-10-03, `docs/INTENT.md` §5)

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ Each module is a real file whose `__init__.py` calls one re-export rule; names r
## 🚀 Quick start

> [!NOTE]
> `pythonx-compose` is **pre-alpha**. The first alpha, `0.1.0a1`, is released to PyPI when the
> maintainer tags it; a pre-release needs `pip install --pre pythonx-compose`.
> `pythonx-compose` is an **alpha**. `0.1.0a1` is on [PyPI](https://pypi.org/project/pythonx-compose/);
> as a pre-release it installs with `pip install --pre pythonx-compose`.

From a clone, to run the tests:

Expand Down
4 changes: 3 additions & 1 deletion docs/SPEC.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ in §9 and are not counted as features.

## 1. Distribution

### S1.1 Installed as `pythonx-compose`, importing `pythonx.compose` — `partial`
### S1.1 Installed as `pythonx-compose`, importing `pythonx.compose` — `implemented`

`pyproject.toml` declares `name = "pythonx-compose"`, version `0.1.0a1`, setuptools build,
`requires-python >= 3.11` (the runtime reads the manifest with `tomllib`), and
Expand All @@ -57,6 +57,8 @@ in §9 and are not counted as features.
pypi.org cannot resolve relative ones), `license = "MIT"` with `LICENSE`, the two authors as
`LICENSE` names them (no emails), keywords, classifiers (Alpha, Python 3.11-3.13, Typed) and
project URLs. `build-system.requires` is `setuptools>=77`, which understands that license form.
- **0.1.0a1 is on PyPI** (2026-10-03: pre-release `v0.1.0a1` on develop `134a641`, publish-pypi run
37120641414; a fresh-venv `pip install pythonx-compose==0.1.0a1` imports cleanly).
- Released by publishing a GitHub Release tagged `v<version>` (`.github/workflows/publish-pypi.yml`,
trigger `release: published`; a bare tag push publishes nothing): the workflow checks the
Release's tag equals `v` + the `pyproject.toml` version (`.github/scripts/check_release_version.py`,
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/getting-started.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<header class="page-head wrap"><p class="kicker"><span data-lang="en">Getting started</span><span data-lang="ko">시작하기</span></p><h1><span data-lang="en">From clone to first call</span><span data-lang="ko">클론부터 첫 호출까지</span></h1><p class="lead"><span data-lang="en">Five minutes, honest about what runs.</span><span data-lang="ko">5 분, 동작하는 범위를 솔직하게.</span></p></header>

<div class="wrap doc narrow">
<div class="note"><p data-lang="en">pythonx-compose is pre-alpha. The first alpha, 0.1.0a1, is released to PyPI when the maintainer tags it; install a pre-release with <code>pip install --pre pythonx-compose</code>. This page shows how to get the source, run the tests, and what you can call today.</p><p data-lang="ko">pythonx-compose 는 pre-alpha 입니다. 첫 알파 0.1.0a1 은 메인테이너가 태그를 달면 PyPI 에 배포되며, 프리릴리스는 <code>pip install --pre pythonx-compose</code> 로 설치합니다. 이 페이지는 소스를 받고, 테스트를 돌리고, 지금 호출할 수 있는 것을 보여줍니다.</p></div>
<div class="note"><p data-lang="en">pythonx-compose is an alpha: 0.1.0a1 is on PyPI. As a pre-release it installs with <code>pip install --pre pythonx-compose</code>. This page shows how to get the source, run the tests, and what you can call today.</p><p data-lang="ko">pythonx-compose 는 알파 단계이며 0.1.0a1 이 PyPI 에 있습니다. 프리릴리스이므로 <code>pip install --pre pythonx-compose</code> 로 설치합니다. 이 페이지는 소스를 받고, 테스트를 돌리고, 지금 호출할 수 있는 것을 보여줍니다.</p></div>

<section class="flush">
<h2><span data-lang="en">1. Get the source</span><span data-lang="ko">1. 소스 받기</span></h2>
Expand Down
2 changes: 1 addition & 1 deletion docs/guide/status.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
</section>
<section>
<h2>FAQ</h2>
<details><summary><span data-lang="en">Can I pip install it?</span><span data-lang="ko">pip 으로 설치할 수 있나요?</span></summary><p data-lang="en">Yes, once the maintainer tags the first alpha: <code>pip install --pre pythonx-compose</code> (version 0.1.0a1). Until it is out, clone the repository.</p><p data-lang="ko">메인테이너가 첫 알파를 태그하면 가능합니다: <code>pip install --pre pythonx-compose</code> (버전 0.1.0a1). 배포 전에는 저장소를 클론하세요.</p></details><details><summary><span data-lang="en">Do I need to know Kotlin?</span><span data-lang="ko">Kotlin 을 알아야 하나요?</span></summary><p data-lang="en">No. The widgets and parameters are Compose's, so Compose documentation applies — read <code>onClick</code> as <code>on_click</code>.</p><p data-lang="ko">아니요. 위젯과 매개변수가 Compose 의 것이므로 Compose 문서가 그대로 적용됩니다 — <code>onClick</code> 을 <code>on_click</code> 으로 읽으면 됩니다.</p></details><details><summary><span data-lang="en">Does it run on its own?</span><span data-lang="ko">단독으로 실행되나요?</span></summary><p data-lang="en">No. It runs inside an app that embeds CPython through python-multiplatform.</p><p data-lang="ko">아니요. python-multiplatform 으로 CPython 을 임베딩한 앱 안에서 동작합니다.</p></details><details><summary><span data-lang="en">Why not look classes up at run time?</span><span data-lang="ko">왜 런타임에 클래스를 찾지 않나요?</span></summary><p data-lang="en">GraalVM native images and Kotlin/Native have no reflection, so bindings are generated at build time.</p><p data-lang="ko">GraalVM 네이티브 이미지와 Kotlin/Native 에는 리플렉션이 없으므로, 바인딩을 빌드 타임에 생성합니다.</p></details><details><summary><span data-lang="en">What happened to the <code>test/</code> directory?</span><span data-lang="ko"><code>test/</code> 디렉터리는 어떻게 되었나요?</span></summary><p data-lang="en">It no longer exists. It was a 2023–2024 Kotlin Multiplatform sample from the project's first generation, and it was deleted; the tag <code>archive/pre-restructure</code> keeps it.</p><p data-lang="ko">더 이상 없습니다. 프로젝트 첫 세대의 2023–2024 Kotlin Multiplatform 샘플이었고 삭제되었으며, 태그 <code>archive/pre-restructure</code> 로 되찾을 수 있습니다.</p></details>
<details><summary><span data-lang="en">Can I pip install it?</span><span data-lang="ko">pip 으로 설치할 수 있나요?</span></summary><p data-lang="en">Yes: <code>pip install --pre pythonx-compose</code> installs 0.1.0a1, the first alpha. It needs a host app that embeds python-multiplatform to resolve Compose names.</p><p data-lang="ko">네: <code>pip install --pre pythonx-compose</code> 로 첫 알파 0.1.0a1 을 설치합니다. Compose 이름을 쓰려면 python-multiplatform 을 품은 호스트 앱이 필요합니다.</p></details><details><summary><span data-lang="en">Do I need to know Kotlin?</span><span data-lang="ko">Kotlin 을 알아야 하나요?</span></summary><p data-lang="en">No. The widgets and parameters are Compose's, so Compose documentation applies — read <code>onClick</code> as <code>on_click</code>.</p><p data-lang="ko">아니요. 위젯과 매개변수가 Compose 의 것이므로 Compose 문서가 그대로 적용됩니다 — <code>onClick</code> 을 <code>on_click</code> 으로 읽으면 됩니다.</p></details><details><summary><span data-lang="en">Does it run on its own?</span><span data-lang="ko">단독으로 실행되나요?</span></summary><p data-lang="en">No. It runs inside an app that embeds CPython through python-multiplatform.</p><p data-lang="ko">아니요. python-multiplatform 으로 CPython 을 임베딩한 앱 안에서 동작합니다.</p></details><details><summary><span data-lang="en">Why not look classes up at run time?</span><span data-lang="ko">왜 런타임에 클래스를 찾지 않나요?</span></summary><p data-lang="en">GraalVM native images and Kotlin/Native have no reflection, so bindings are generated at build time.</p><p data-lang="ko">GraalVM 네이티브 이미지와 Kotlin/Native 에는 리플렉션이 없으므로, 바인딩을 빌드 타임에 생성합니다.</p></details><details><summary><span data-lang="en">What happened to the <code>test/</code> directory?</span><span data-lang="ko"><code>test/</code> 디렉터리는 어떻게 되었나요?</span></summary><p data-lang="en">It no longer exists. It was a 2023–2024 Kotlin Multiplatform sample from the project's first generation, and it was deleted; the tag <code>archive/pre-restructure</code> keeps it.</p><p data-lang="ko">더 이상 없습니다. 프로젝트 첫 세대의 2023–2024 Kotlin Multiplatform 샘플이었고 삭제되었으며, 태그 <code>archive/pre-restructure</code> 로 되찾을 수 있습니다.</p></details>
<div class="pager"><a href="ecosystem.html">← <span data-lang="en">Ecosystem</span><span data-lang="ko">생태계</span></a><span></span></div>
</section>
</div>
Expand Down
4 changes: 2 additions & 2 deletions docs/locale/README_ko.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ flowchart LR
## 🚀 빠른 시작

> [!NOTE]
> `pythonx-compose` 는 **pre-alpha** 단계입니다. 첫 알파 `0.1.0a1` 은 메인테이너가 태그를 달면 PyPI 에
> 배포되며, 프리릴리스이므로 `pip install --pre pythonx-compose` 로 설치합니다.
> `pythonx-compose` 는 **알파** 단계입니다. `0.1.0a1` 이 [PyPI](https://pypi.org/project/pythonx-compose/) 에
> 있으며, 프리릴리스이므로 `pip install --pre pythonx-compose` 로 설치합니다.

클론에서 테스트를 돌리려면:

Expand Down
Loading