Skip to content

Commit 9f4135b

Browse files
committed
It's a new world order.
1 parent 9b00000 commit 9f4135b

File tree

126 files changed

+2824
-4331
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+2824
-4331
lines changed

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
insert_final_newline = true
6+
indent_style = space
7+
charset = utf-8
8+
indent_size = 2
9+
10+
[*.py]
11+
indent_size = 4

.github/workflows/ci.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: CI Tests
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
ci_tests:
7+
name: python
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- uses: actions/checkout@v4
12+
13+
- name: Set up Python 3.14.0-rc.2
14+
uses: actions/setup-python@v5
15+
with:
16+
python-version: 3.14.0-rc.2
17+
18+
- name: Install uv
19+
uses: astral-sh/setup-uv@v6
20+
21+
- name: Lint
22+
run: uv run ruff check
23+
24+
- name: Check formatting
25+
run: uv run ruff format --check
26+
27+
- name: Type check
28+
run: uv run pyright
29+
30+
- name: Run tests
31+
run: uv run pytest -v
Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,20 @@ jobs:
2525
name: Build Sphinx documentation
2626
steps:
2727
- uses: actions/checkout@v4
28-
- name: Install the latest version of uv
29-
uses: astral-sh/setup-uv@v6
28+
29+
- name: Set up Python 3.14.0-rc.2
30+
uses: actions/setup-python@v5
3031
with:
31-
version: "latest"
32-
- name: Install Python 3.14
33-
run: |
34-
sudo add-apt-repository ppa:deadsnakes/nightly
35-
sudo apt-get update
36-
sudo apt-get install -y --no-install-recommends python3.14-dev python3.14-venv
37-
python3.14 -m pip install --upgrade pip setuptools
38-
python3.14 -m venv $HOME/venv-python3.14
39-
uv sync
32+
python-version: 3.14.0-rc.2
33+
34+
- name: Install uv
35+
uses: astral-sh/setup-uv@v6
36+
4037
- name: Build the sphinx documentation
4138
run: |
4239
cd docs
4340
uv run sphinx-build . _build
41+
4442
- name: Upload artifact to pages
4543
uses: actions/upload-pages-artifact@v3
4644
with:

.github/workflows/pypi.yml

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,36 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v4
17-
- name: Install the latest version of uv
18-
uses: astral-sh/setup-uv@v6
17+
18+
- name: Set up Python 3.14.0-rc.2
19+
uses: actions/setup-python@v5
1920
with:
20-
version: "latest"
21-
- name: Install Python 3.14
22-
run: |
23-
sudo add-apt-repository ppa:deadsnakes/nightly
24-
sudo apt-get update
25-
sudo apt-get install -y --no-install-recommends python3.14-dev python3.14-venv
26-
python3.14 -m pip install --upgrade pip setuptools
27-
python3.14 -m venv $HOME/venv-python3.14
28-
uv sync
21+
python-version: 3.14.0-rc.2
22+
23+
- name: Install uv
24+
uses: astral-sh/setup-uv@v6
25+
26+
- name: Lint
27+
run: uv run ruff check
28+
29+
- name: Check formatting
30+
run: uv run ruff format --check
31+
32+
- name: Type check
33+
run: uv run pyright
34+
2935
- name: Run tests
30-
run: |
31-
uv run pytest tests examples
36+
run: uv run pytest -v
37+
3238
- name: Build
33-
run: |
34-
uv run python -m hatchling build
39+
run: uv build
40+
3541
- name: Store the distribution packages
3642
uses: actions/upload-artifact@v4
3743
with:
3844
name: python-packages
3945
path: dist/
46+
4047
publish:
4148
name: Publish to PyPI
4249
runs-on: ubuntu-latest
@@ -47,7 +54,7 @@ jobs:
4754
id-token: write
4855
steps:
4956
- name: Download distribution packages
50-
uses: actions/download-artifact@v4
57+
uses: actions/download-artifact@v5
5158
with:
5259
name: python-packages
5360
path: dist/

.github/workflows/pytest.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

.github/workflows/test.txt

Lines changed: 0 additions & 67 deletions
This file was deleted.

.gitignore

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1+
# Python-generated files
12
__pycache__/
2-
env/
3-
test-results/
4-
node_modules/
5-
docs/_build
6-
public/tdom
7-
package.json
8-
package-lock.json
9-
.prettierrc
3+
*.py[oc]
4+
build/
5+
dist/
6+
wheels/
7+
*.egg-info
8+
9+
# Virtual environments
10+
.venv
11+
12+
# Coverage
13+
.coverage
14+
15+
# Sphinx build output
16+
docs/_build/

.junie/guidelines.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,14 @@ First, read `.junie/pep-0750.rst` to learn more about t-strings.
3131
## Project scope
3232

3333
- tdom is an HTML/SVG templating/runtime for Python t-strings (PEP 750),
34-
targeting Python 3.14+, SSR and frontend (MicroPython/WebAssembly).
34+
targeting Python 3.14+ SSR
3535
- Public artifacts: PyPI package, Sphinx docs (GitHub Pages), examples
3636
playground, and browser-based tests via pytest-playwright.
3737

3838
## Supported environments
3939

4040
- Python: 3.14 only (see requires-python in pyproject.toml). Use uv for env
4141
management.
42-
- Frontend: MicroPython WASM artifacts are vendored under static/ and used by
43-
Playwright tests and the examples web app.
4442

4543
## Code style and quality
4644

@@ -95,8 +93,7 @@ First, read `.junie/pep-0750.rst` to learn more about t-strings.
9593
- Branch: feature/<short-description>, fix/<short-description>, docs/<topic>.
9694
- Commits: concise, imperative subject; include context when touching runtime
9795
performance or caching behavior.
98-
- PRs: include rationale, tests, and docs updates; indicate if change impacts
99-
MicroPython/browser behavior.
96+
- PRs: include rationale, tests, and docs updates
10097

10198
## Versioning and release
10299

@@ -118,11 +115,6 @@ First, read `.junie/pep-0750.rst` to learn more about t-strings.
118115
- Maintain listener lifecycle: \_listeners cleared once per render; avoid leaks.
119116
- Keep DOM node shapes and constants stable; update **all** if adding/removing.
120117

121-
## MicroPython notes
122-
123-
- The vendored WASM artifacts in static/ are test fixtures. If updating sources,
124-
ensure examples and integration tests still run without external downloads.
125-
126118
## Contributing checklist (PR ready)
127119

128120
- [ ] Tests added/updated and passing (fast suite mandatory; integration if

.python-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.14.0rc2
1+
3.14

.vscode/extensions.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"recommendations": [
3+
"charliermarsh.ruff",
4+
"editorconfig.editorconfig",
5+
"ms-python.python",
6+
"ms-python.vscode-pylance"
7+
]
8+
}

0 commit comments

Comments
 (0)