## Pull request checklist
+- PR title: Conventional Commits format (CI-enforced by `pr-lint.yml`).
- Tests: added/updated; `pytest` passes.
- Lint/format: `ruff check .`, `black` pass.
-- Docs: update `README.md` and any Django docs pages if behavior changes.
+- Docs: update `README.md` if behavior changes.
- Templates: update `templates/` if generator output changes.
- No generated artifacts committed.
## Versioning and releases
-- The library version is tracked in `pyproject.toml` (`project.version`). Use SemVer.
-- Workflow:
- - Contributors: branch off `main` (or `dev` if used) and open PRs.
- - Maintainer (release): bump version, tag, and publish to PyPI.
- - Tag on `main`: `git tag -a vX.Y.Z -m "Release vX.Y.Z" && git push --tags`.
+- The version is tracked in `pyproject.toml` (`project.version`) and mirrored in `src/pythonnative/__init__.py` as `__version__`. Both files are updated automatically by [python-semantic-release](https://python-semantic-release.readthedocs.io/).
+- **Automated release pipeline** (on every merge to `main`):
+ 1. `python-semantic-release` scans Conventional Commit messages since the last tag.
+ 2. It determines the next SemVer bump: `feat` → **minor**, `fix`/`perf` → **patch**, `BREAKING CHANGE` → **major** (minor while version < 1.0).
+ 3. Version files are updated, `CHANGELOG.md` is generated, and a tagged release commit (`chore(release): vX.Y.Z`) is pushed.
+ 4. A GitHub Release is created with auto-generated release notes and the built sdist/wheel attached.
+ 5. When drafts are disabled, the package is also published to PyPI via Trusted Publishing.
+- **Draft / published toggle**: the `DRAFT_RELEASE` variable at the top of `.github/workflows/release.yml` controls release mode. Set to `"true"` (the default) for draft GitHub Releases with PyPI publishing skipped; flip to `"false"` to publish releases and upload to PyPI immediately.
+- Commit types that trigger a release: `feat` (minor), `fix` and `perf` (patch), `BREAKING CHANGE` (major). All other types (`build`, `chore`, `ci`, `docs`, `refactor`, `revert`, `style`, `test`) are recorded in the changelog but do **not** trigger a release on their own.
+- Tag format: `v`-prefixed (e.g., `v0.4.0`).
+- Manual version bumps are no longer needed — just merge PRs with valid Conventional Commit titles. For ad-hoc runs, use the workflow's **Run workflow** button (`workflow_dispatch`).
### Branch naming (suggested)
@@ -249,6 +256,13 @@ release/v0.2.0
hotfix/cli-regression
```
+### CI
+
+- **CI** (`ci.yml`): runs formatter, linter, type checker, and tests on every push and PR.
+- **PR Lint** (`pr-lint.yml`): validates the PR title against Conventional Commits format (protects squash merges) and checks individual commit messages via commitlint (protects rebase merges). Recommended: add the **PR title** job as a required status check in branch-protection settings.
+- **Release** (`release.yml`): runs on merge to `main`; computes version, generates changelog, tags, creates GitHub Release, and (when `DRAFT_RELEASE` is `"false"`) publishes to PyPI.
+- **Docs** (`docs.yml`): deploys documentation to GitHub Pages on push to `main`.
+
## Security and provenance
- Avoid bundling secrets or credentials in templates or code.
diff --git a/pyproject.toml b/pyproject.toml
index 0cdbd85..5c99353 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -88,3 +88,30 @@ ignore = []
[tool.black]
line-length = 120
target-version = ['py39']
+
+# ── Semantic Release ────────────────────────────────────────────────
+
+[tool.semantic_release]
+version_toml = ["pyproject.toml:project.version"]
+version_variables = ["src/pythonnative/__init__.py:__version__"]
+commit_message = "chore(release): v{version}"
+tag_format = "v{version}"
+major_on_zero = false
+
+[tool.semantic_release.branches.main]
+match = "main"
+prerelease = false
+
+[tool.semantic_release.changelog]
+changelog_file = "CHANGELOG.md"
+exclude_commit_patterns = [
+ "^chore\\(release\\):",
+]
+
+[tool.semantic_release.commit_parser_options]
+allowed_tags = [
+ "build", "chore", "ci", "docs", "feat", "fix",
+ "perf", "refactor", "revert", "style", "test",
+]
+minor_tags = ["feat"]
+patch_tags = ["fix", "perf"]
From 1cd5393e7bf20d5350052cfaa81fd511dc4ca3ca Mon Sep 17 00:00:00 2001
From: Owen Carey <37121709+owenthcarey@users.noreply.github.com>
Date: Thu, 5 Mar 2026 03:16:31 -0800
Subject: [PATCH 08/12] ci(workflows): fix duplicate release, and use changelog
for release notes
---
.github/workflows/release.yml | 58 +++++++++++++++++++++++++++++------
1 file changed, 48 insertions(+), 10 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 38c8bfe..470fdf4 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -3,17 +3,19 @@ name: Release
on:
push:
branches: [main]
+ release:
+ types: [published]
workflow_dispatch:
# ┌─────────────────────────────────────────────────────────────────┐
# │ DRAFT_RELEASE │
# │ │
-# │ "true" → GitHub Releases are created as drafts and PyPI │
-# │ publishing is skipped (burn-in / review period). │
-# │ "false" → GitHub Releases are published immediately and the │
-# │ package is uploaded to PyPI. │
+# │ "true" → GitHub Releases are created as drafts; review them │
+# │ on GitHub, then click "Publish" to trigger PyPI. │
+# │ "false" → GitHub Releases are published immediately, which │
+# │ automatically triggers the PyPI publish job. │
# │ │
-# │ Flip to "false" once you have verified the release output. │
+# │ Flip to "false" once you are comfortable with the pipeline. │
# └─────────────────────────────────────────────────────────────────┘
env:
DRAFT_RELEASE: "true"
@@ -22,9 +24,7 @@ jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
- if: >-
- github.event_name == 'workflow_dispatch' ||
- !startsWith(github.event.head_commit.message, 'chore(release):')
+ if: github.event_name != 'release'
concurrency:
group: release
cancel-in-progress: false
@@ -51,11 +51,21 @@ jobs:
uses: python-semantic-release/python-semantic-release@v9
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
+ vcs_release: "false"
- name: Build package
if: steps.release.outputs.released == 'true'
run: python -m build
+ - name: Extract changelog for this release
+ if: steps.release.outputs.released == 'true'
+ id: changelog
+ run: |
+ TAG="${{ steps.release.outputs.tag }}"
+ VER="${TAG#v}"
+ # Extract the section between this version's header and the next
+ awk "/^## v${VER//./\\.} /{found=1; next} /^## v[0-9]/{if(found) exit} found" CHANGELOG.md > /tmp/release_notes.md
+
- name: Create GitHub Release
if: steps.release.outputs.released == 'true'
env:
@@ -67,11 +77,39 @@ jobs:
gh release create "${{ steps.release.outputs.tag }}" \
${DRAFT_FLAG:-} \
--title "${{ steps.release.outputs.tag }}" \
- --generate-notes \
+ --notes-file /tmp/release_notes.md \
dist/*
- - name: Publish to PyPI
+ - name: Publish to PyPI (non-draft)
if: steps.release.outputs.released == 'true' && env.DRAFT_RELEASE != 'true'
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
+
+ pypi-publish:
+ name: Publish to PyPI
+ runs-on: ubuntu-latest
+ if: github.event_name == 'release' && github.event.action == 'published'
+ permissions:
+ id-token: write
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.event.release.tag_name }}
+
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.12'
+
+ - name: Install build tools
+ run: python -m pip install -U pip build
+
+ - name: Build package
+ run: python -m build
+
+ - name: Publish to PyPI
+ uses: pypa/gh-action-pypi-publish@release/v1
+ with:
+ skip-existing: true
From 11d50a75dff850a3855a299f38f5885cf15cefc6 Mon Sep 17 00:00:00 2001
From: Owen Carey <37121709+owenthcarey@users.noreply.github.com>
Date: Thu, 5 Mar 2026 03:24:57 -0800
Subject: [PATCH 09/12] ci(workflows): append detailed changes link to release
notes
---
.github/workflows/release.yml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 470fdf4..137ffb9 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -65,6 +65,12 @@ jobs:
VER="${TAG#v}"
# Extract the section between this version's header and the next
awk "/^## v${VER//./\\.} /{found=1; next} /^## v[0-9]/{if(found) exit} found" CHANGELOG.md > /tmp/release_notes.md
+ PREV_TAG=$(git tag --sort=-v:refname | grep -E '^v[0-9]' | sed -n '2p')
+ if [ -n "$PREV_TAG" ]; then
+ REPO="${{ github.repository }}"
+ printf '\n---\n\n**Detailed Changes**: [%s...%s](https://github.com/%s/compare/%s...%s)\n' \
+ "$PREV_TAG" "$TAG" "$REPO" "$PREV_TAG" "$TAG" >> /tmp/release_notes.md
+ fi
- name: Create GitHub Release
if: steps.release.outputs.released == 'true'
From 2766f244f84d359e1ae74a4b029e0701fad4b0be Mon Sep 17 00:00:00 2001
From: Owen Carey <37121709+owenthcarey@users.noreply.github.com>
Date: Thu, 5 Mar 2026 03:32:00 -0800
Subject: [PATCH 10/12] ci(workflows): simplify release pipeline to use
python-semantic-release defaults
---
.github/workflows/release.yml | 76 +----------------------------------
1 file changed, 1 insertion(+), 75 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 137ffb9..20ac529 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -3,28 +3,12 @@ name: Release
on:
push:
branches: [main]
- release:
- types: [published]
workflow_dispatch:
-# ┌─────────────────────────────────────────────────────────────────┐
-# │ DRAFT_RELEASE │
-# │ │
-# │ "true" → GitHub Releases are created as drafts; review them │
-# │ on GitHub, then click "Publish" to trigger PyPI. │
-# │ "false" → GitHub Releases are published immediately, which │
-# │ automatically triggers the PyPI publish job. │
-# │ │
-# │ Flip to "false" once you are comfortable with the pipeline. │
-# └─────────────────────────────────────────────────────────────────┘
-env:
- DRAFT_RELEASE: "true"
-
jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
- if: github.event_name != 'release'
concurrency:
group: release
cancel-in-progress: false
@@ -51,71 +35,13 @@ jobs:
uses: python-semantic-release/python-semantic-release@v9
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- vcs_release: "false"
- name: Build package
if: steps.release.outputs.released == 'true'
run: python -m build
- - name: Extract changelog for this release
- if: steps.release.outputs.released == 'true'
- id: changelog
- run: |
- TAG="${{ steps.release.outputs.tag }}"
- VER="${TAG#v}"
- # Extract the section between this version's header and the next
- awk "/^## v${VER//./\\.} /{found=1; next} /^## v[0-9]/{if(found) exit} found" CHANGELOG.md > /tmp/release_notes.md
- PREV_TAG=$(git tag --sort=-v:refname | grep -E '^v[0-9]' | sed -n '2p')
- if [ -n "$PREV_TAG" ]; then
- REPO="${{ github.repository }}"
- printf '\n---\n\n**Detailed Changes**: [%s...%s](https://github.com/%s/compare/%s...%s)\n' \
- "$PREV_TAG" "$TAG" "$REPO" "$PREV_TAG" "$TAG" >> /tmp/release_notes.md
- fi
-
- - name: Create GitHub Release
- if: steps.release.outputs.released == 'true'
- env:
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- if [ "$DRAFT_RELEASE" = "true" ]; then
- DRAFT_FLAG="--draft"
- fi
- gh release create "${{ steps.release.outputs.tag }}" \
- ${DRAFT_FLAG:-} \
- --title "${{ steps.release.outputs.tag }}" \
- --notes-file /tmp/release_notes.md \
- dist/*
-
- - name: Publish to PyPI (non-draft)
- if: steps.release.outputs.released == 'true' && env.DRAFT_RELEASE != 'true'
- uses: pypa/gh-action-pypi-publish@release/v1
- with:
- skip-existing: true
-
- pypi-publish:
- name: Publish to PyPI
- runs-on: ubuntu-latest
- if: github.event_name == 'release' && github.event.action == 'published'
- permissions:
- id-token: write
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- ref: ${{ github.event.release.tag_name }}
-
- - name: Set up Python
- uses: actions/setup-python@v5
- with:
- python-version: '3.12'
-
- - name: Install build tools
- run: python -m pip install -U pip build
-
- - name: Build package
- run: python -m build
-
- name: Publish to PyPI
+ if: steps.release.outputs.released == 'true'
uses: pypa/gh-action-pypi-publish@release/v1
with:
skip-existing: true
From 7c083f4e38367c6cd4163e0be8c78da1fdf8d3da Mon Sep 17 00:00:00 2001
From: Owen Carey <37121709+owenthcarey@users.noreply.github.com>
Date: Tue, 17 Mar 2026 20:37:14 -0700
Subject: [PATCH 11/12] docs(repo): rewrite README with banner, structured
sections, and badges
---
.gitignore | 3 ++
LICENSE | 2 +-
README.md | 95 ++++++++++++++++++++++++++++++++++-------
docs/assets/banner.jpg | Bin 0 -> 217297 bytes
4 files changed, 84 insertions(+), 16 deletions(-)
create mode 100644 docs/assets/banner.jpg
diff --git a/.gitignore b/.gitignore
index c5de671..4f1c160 100644
--- a/.gitignore
+++ b/.gitignore
@@ -162,3 +162,6 @@ cython_debug/
# Metadata
*_metadata.json
+
+# macOS
+.DS_Store
diff --git a/LICENSE b/LICENSE
index 18fff31..ad12cea 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2025 PythonNative
+Copyright (c) 2026 Owen Carey
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 31f005c..28f1672 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,80 @@
-## PythonNative
-
-[](https://github.com/pythonnative/pythonnative/actions/workflows/ci.yml)
-[](https://github.com/pythonnative/pythonnative/actions/workflows/docs.yml)
-[](https://github.com/pythonnative/pythonnative/actions/workflows/release.yml)
-[](https://pypi.org/project/pythonnative/)
-[](https://pypi.org/project/pythonnative/)
-[](LICENSE)
-[](https://docs.pythonnative.com/)
-
-PythonNative is a cross‑platform toolkit for building native Android and iOS
-apps in Python. It provides a Pythonic API for native UI components,
-lifecycle events, and device capabilities, powered by Rubicon (iOS) and
-Chaquopy (Android). For guides, API reference, and examples, see the
-[docs](https://docs.pythonnative.com/).
+
+
+
+
+
+ Build native Android and iOS apps in Python.
+
+
+
+
+
+
+
+
+
+
+
+
+ Documentation ·
+ Getting Started ·
+ Examples ·
+ Contributing
+
+
+---
+
+## Overview
+
+PythonNative is a cross-platform toolkit for building native Android and iOS apps in Python. It provides a Pythonic API for native UI components, lifecycle events, and device capabilities, powered by Chaquopy on Android and rubicon-objc on iOS. Write your app once in Python and run it on both platforms with genuinely native interfaces.
+
+## Features
+
+- **Cross-platform native UI:** Build Android and iOS apps from a single Python codebase with truly native rendering.
+- **Direct native bindings:** Python calls platform APIs directly through Chaquopy and rubicon-objc, with no JavaScript bridge.
+- **Unified component API:** Components like `Page`, `StackView`, `Label`, `Button`, and `WebView` share a consistent interface across platforms.
+- **CLI scaffolding:** `pn init` creates a ready-to-run project structure; `pn run android` and `pn run ios` build and launch your app.
+- **Page lifecycle:** Hooks for `on_create`, `on_start`, `on_resume`, `on_pause`, `on_stop`, and `on_destroy`, with state save and restore.
+- **Navigation:** Push and pop screens with argument passing for multi-page apps.
+- **Rich component set:** Core views (Label, Button, TextField, ImageView, WebView, Switch, DatePicker, and more) plus Material Design variants.
+- **Bundled templates:** Android Gradle and iOS Xcode templates are included, so scaffolding requires no network access.
+
+## Quick Start
+
+### Installation
+
+```bash
+pip install pythonnative
+```
+
+### Usage
+
+```python
+import pythonnative as pn
+
+
+class MainPage(pn.Page):
+ def __init__(self, native_instance):
+ super().__init__(native_instance)
+
+ def on_create(self):
+ super().on_create()
+ stack = pn.StackView()
+ stack.add_view(pn.Label("Hello from PythonNative!"))
+ button = pn.Button("Tap me")
+ button.set_on_click(lambda: print("Button tapped"))
+ stack.add_view(button)
+ self.set_root_view(stack)
+```
+
+## Documentation
+
+Visit [docs.pythonnative.com](https://docs.pythonnative.com/) for the full documentation, including getting started guides, platform-specific instructions for Android and iOS, API reference, and working examples.
+
+## Contributing
+
+Contributions are welcome. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for setup instructions, coding standards, and guidelines for submitting pull requests.
+
+## License
+
+[MIT](LICENSE)
diff --git a/docs/assets/banner.jpg b/docs/assets/banner.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d7c4c0477c6f669e85980679ed5147f469cccdbf
GIT binary patch
literal 217297
zcmb5VcQ~8x8#bO05nJrth)}ymj2dl>5JhcGj0!^Sq7+rFy+;zGMytf$L{VwA)M%_$
zteP!~qOH=U`}529J%0bZf4)zi0cHSJ7MA~=%mc(c*&u9eAP^fTJ3AP{&B@Kp#mU9R!z;kg!wco*;^G(KhYAV_
z3k!4eiHeB`i3tb^3;pjRKvw1)5E};@8;1}N7mv{Y^YPyx019Dg0HauePyh=Q$O;Ai
zHv*7h#tC8t{x9DD|6m0GSwL)Hb_fS2bKILB0AytWF{5T@=Kz5r06rjqg%t#41Iuc%
z3z!Hxct=2l;7KG7EmOzpt|4JLpU7k~Lj<91=0u@x9?4&Oc8oMfyZCmCD(E<;6xPg&
z5mJZeYQ;}SMW+>)JowC9LYjF+mj5dRW(3Ry{}%#t*peA7GXz!;1jNR|_P<;Be}cv4NaSc
zi|0LgR14~TQi1_V-WE#F$|KWd!L=CMuv$-6OqZZt7Ux-ooNzV{t$=FEz$wNsfj
z@~oVrg=ezQjHrqjYVluBlxQa8Ta_JvHAit0JX_D2K(~88+WmMk+VU#sMB)m&8~LZ&
z)JK{735{pJCjabK68M6+0gQy=Yf=3WTBeBGw2&mCmrqi)S)RP6CW4(i4VY#)&GZOJ
z#{5+NtYvmFa~%5Ioeey$ZkB#P%mPM1BB%l^wh-3)S1#Rsc~|4^Q^^jy3ki|!Z}8_n
z9jn#fH(6{h+*X==RR8W!Pj36s=yo7D*g10>5wZYqPiusRDg1z;=@k@$wPqI*J{8)R
zO)%|*`K!oGJIAteT|QiCem%u)@blqc{@l&YYZCd9ujxDb-~F4$4(_RTJn9X&I*mUJ
z_;bm&VV|eR?fu%5{{X%fPZw&0_Ew&TJb81CcacwLDRNmVq1k5Zf5neh%%-AbEf<3c00{IF_ie1+(l3s{I5M!4v
zw9&g@$HTNX>en3Zlp*JBEAuWP<=#mLZ<6xeEP1k>=A1d9_+z%_qskB=_>Nv?D|tml
zD_%_b&yLh3KcR%`e~Y&452M{VuiJidC>1^^QH5Zah|e!yu)<0HUsQ4kM;95wAdgF9YZi(pKBmgd0~VMsy_G0giUZKs;^+83UeDr2oxs?lxZtRC6NCX+
zXNI*3RLV(5>C2x(olApB1tdy*$3S84Ygq$Ik5o<*F+P(u@WD-5&>anTz6s_JR3&n*
zRs+UXs`%+Lmb)h~b1Q=?FbxFb%Lc>;B#Na1b-D7KQE#ZlF>RYB`Fdp5<@@Rxe`C}y
zf4?7dDJ$}drJvK|x{PV@m>>w2;qQw+>nm~6T1rjNE+~j5W=p6HRJ3fl4xa5>w`t`F
zZLclk=I>v?X+mWg5TM8r(iug8uBBUA!UK;$d`t;aRA1PP(aG+K%Ly*Hjd)Jg2WN
zf-f|+^WpD^`=|JXll1kCw3W3Sap=zrI3x?^t5TKn6GKm14$1@4o=X=&+~xT4!8~27
z
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