chromonic 0.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- chromonic-0.0.1/.github/workflows/release.yml +91 -0
- chromonic-0.0.1/.gitignore +14 -0
- chromonic-0.0.1/Cargo.lock +853 -0
- chromonic-0.0.1/Cargo.toml +14 -0
- chromonic-0.0.1/Makefile +28 -0
- chromonic-0.0.1/PKG-INFO +15 -0
- chromonic-0.0.1/PLAN.md +3 -0
- chromonic-0.0.1/README.md +88 -0
- chromonic-0.0.1/benchmarks/README.md +166 -0
- chromonic-0.0.1/benchmarks/compare_particles.py +81 -0
- chromonic-0.0.1/benchmarks/profile_browse.py +116 -0
- chromonic-0.0.1/benchmarks/profile_browse2.py +142 -0
- chromonic-0.0.1/benchmarks/results/500-nodes-after.json +141 -0
- chromonic-0.0.1/benchmarks/results/500-nodes-before.json +81 -0
- chromonic-0.0.1/benchmarks/results/google-after.json +123 -0
- chromonic-0.0.1/benchmarks/results/google-before.json +53 -0
- chromonic-0.0.1/benchmarks/results/particles-gpu.json +177 -0
- chromonic-0.0.1/benchmarks/smoke_native.py +74 -0
- chromonic-0.0.1/chromonic.png +0 -0
- chromonic-0.0.1/dist/chromonic-0.0.1-cp313-cp313-macosx_11_0_arm64.whl +0 -0
- chromonic-0.0.1/examples/animate.py +65 -0
- chromonic-0.0.1/examples/browse.py +31 -0
- chromonic-0.0.1/examples/browse2.py +33 -0
- chromonic-0.0.1/examples/containing_block_and_select_demo.py +74 -0
- chromonic-0.0.1/examples/hello_canvas.py +490 -0
- chromonic-0.0.1/examples/inline_flow_demo.py +56 -0
- chromonic-0.0.1/examples/interactive_canvas.py +1021 -0
- chromonic-0.0.1/examples/lazy_images_demo.py +103 -0
- chromonic-0.0.1/examples/live.py +56 -0
- chromonic-0.0.1/examples/parley_demo.py +43 -0
- chromonic-0.0.1/examples/particles.py +153 -0
- chromonic-0.0.1/examples/particles2.py +183 -0
- chromonic-0.0.1/examples/particles_test.py +558 -0
- chromonic-0.0.1/examples/particles_variation.py +321 -0
- chromonic-0.0.1/examples/poc.py +144 -0
- chromonic-0.0.1/examples/pyscript_app.py +19 -0
- chromonic-0.0.1/examples/pyscript_demo.py +67 -0
- chromonic-0.0.1/examples/pyscript_page.html +12 -0
- chromonic-0.0.1/examples/pyscript_src_demo.py +34 -0
- chromonic-0.0.1/examples/ua_and_images_demo.py +80 -0
- chromonic-0.0.1/examples/wrap_and_fonts_demo.py +44 -0
- chromonic-0.0.1/pyproject.toml +30 -0
- chromonic-0.0.1/python/chromonic/__init__.py +40 -0
- chromonic-0.0.1/python/chromonic/browser.py +357 -0
- chromonic-0.0.1/python/chromonic/browser_images.py +177 -0
- chromonic-0.0.1/python/chromonic/canvas2d.py +107 -0
- chromonic-0.0.1/python/chromonic/domonic_canvas_patch.py +74 -0
- chromonic-0.0.1/python/chromonic/fonts.py +174 -0
- chromonic-0.0.1/python/chromonic/hittest.py +32 -0
- chromonic-0.0.1/python/chromonic/native_browser.py +465 -0
- chromonic-0.0.1/python/chromonic/paint.py +281 -0
- chromonic-0.0.1/python/chromonic/pyscript.py +167 -0
- chromonic-0.0.1/python/chromonic/style_bridge.py +165 -0
- chromonic-0.0.1/python/chromonic/tree.py +1729 -0
- chromonic-0.0.1/python/chromonic/ua_style.py +133 -0
- chromonic-0.0.1/python/chromonic/webfonts.py +215 -0
- chromonic-0.0.1/python/chromonic/window.py +204 -0
- chromonic-0.0.1/src/lib.rs +592 -0
- chromonic-0.0.1/tests/layout/README.md +119 -0
- chromonic-0.0.1/tests/layout/conftest.py +4 -0
- chromonic-0.0.1/tests/layout/fixtures/block_flow.html +5 -0
- chromonic-0.0.1/tests/layout/fixtures/box_model.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/flex.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/grid.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/images.html +5 -0
- chromonic-0.0.1/tests/layout/fixtures/inline_rich.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/inline_text.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/lists_tables.html +3 -0
- chromonic-0.0.1/tests/layout/fixtures/min_max_sizes.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/nested_blocks.html +3 -0
- chromonic-0.0.1/tests/layout/fixtures/overflow.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/paint_styles.html +3 -0
- chromonic-0.0.1/tests/layout/fixtures/percentages.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/position_stack.html +3 -0
- chromonic-0.0.1/tests/layout/fixtures/positioning.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/typography.html +4 -0
- chromonic-0.0.1/tests/layout/fixtures/ua_defaults.html +1 -0
- chromonic-0.0.1/tests/layout/fixtures/viewport_inheritance.html +3 -0
- chromonic-0.0.1/tests/layout/harness/__init__.py +1 -0
- chromonic-0.0.1/tests/layout/harness/chrome_runner.py +156 -0
- chromonic-0.0.1/tests/layout/harness/compare.py +155 -0
- chromonic-0.0.1/tests/layout/harness/native_runner.py +150 -0
- chromonic-0.0.1/tests/layout/harness/run_suite.py +83 -0
- chromonic-0.0.1/tests/layout/harness/schema.py +36 -0
- chromonic-0.0.1/tests/layout/pages/catalog_page.html +3 -0
- chromonic-0.0.1/tests/layout/pages/docs_page.html +4 -0
- chromonic-0.0.1/tests/layout/pages/news_page.html +3 -0
- chromonic-0.0.1/tests/layout/test_comparison.py +120 -0
- chromonic-0.0.1/tests/test_canvas2d.py +82 -0
- chromonic-0.0.1/tests/test_chromonic.py +1785 -0
- chromonic-0.0.1/tests/test_native_browser.py +394 -0
- chromonic-0.0.1/tests/test_particles2.py +53 -0
- chromonic-0.0.1/tests/test_webfonts.py +162 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
name: Release to PyPI
|
|
2
|
+
|
|
3
|
+
"on":
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
wheels:
|
|
9
|
+
name: Build wheel (${{ matrix.os }}, Python ${{ matrix.python }})
|
|
10
|
+
runs-on: ${{ matrix.os }}
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
matrix:
|
|
14
|
+
os:
|
|
15
|
+
- ubuntu-latest
|
|
16
|
+
- windows-latest
|
|
17
|
+
- macos-13
|
|
18
|
+
- macos-14
|
|
19
|
+
python:
|
|
20
|
+
- "3.10"
|
|
21
|
+
- "3.11"
|
|
22
|
+
- "3.12"
|
|
23
|
+
- "3.13"
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- uses: actions/setup-python@v5
|
|
29
|
+
with:
|
|
30
|
+
python-version: ${{ matrix.python }}
|
|
31
|
+
|
|
32
|
+
- name: Install maturin
|
|
33
|
+
run: python -m pip install "maturin>=1.7,<2"
|
|
34
|
+
|
|
35
|
+
- name: Build wheel
|
|
36
|
+
run: maturin build --release --out dist --interpreter python
|
|
37
|
+
|
|
38
|
+
- uses: actions/upload-artifact@v4
|
|
39
|
+
with:
|
|
40
|
+
name: wheels-${{ matrix.os }}-${{ matrix.python }}
|
|
41
|
+
path: dist/*
|
|
42
|
+
|
|
43
|
+
sdist:
|
|
44
|
+
name: Build sdist
|
|
45
|
+
runs-on: ubuntu-latest
|
|
46
|
+
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/checkout@v4
|
|
49
|
+
|
|
50
|
+
- uses: actions/setup-python@v5
|
|
51
|
+
with:
|
|
52
|
+
python-version: "3.13"
|
|
53
|
+
|
|
54
|
+
- name: Install maturin
|
|
55
|
+
run: python -m pip install "maturin>=1.7,<2"
|
|
56
|
+
|
|
57
|
+
- name: Build sdist
|
|
58
|
+
run: maturin sdist --out dist
|
|
59
|
+
|
|
60
|
+
- uses: actions/upload-artifact@v4
|
|
61
|
+
with:
|
|
62
|
+
name: sdist
|
|
63
|
+
path: dist/*
|
|
64
|
+
|
|
65
|
+
publish:
|
|
66
|
+
name: Publish to PyPI
|
|
67
|
+
needs:
|
|
68
|
+
- wheels
|
|
69
|
+
- sdist
|
|
70
|
+
runs-on: ubuntu-latest
|
|
71
|
+
environment:
|
|
72
|
+
name: pypi
|
|
73
|
+
permissions:
|
|
74
|
+
id-token: write
|
|
75
|
+
|
|
76
|
+
steps:
|
|
77
|
+
- uses: actions/download-artifact@v4
|
|
78
|
+
with:
|
|
79
|
+
pattern: wheels-*
|
|
80
|
+
path: dist
|
|
81
|
+
merge-multiple: true
|
|
82
|
+
|
|
83
|
+
- uses: actions/download-artifact@v4
|
|
84
|
+
with:
|
|
85
|
+
name: sdist
|
|
86
|
+
path: dist
|
|
87
|
+
|
|
88
|
+
- name: Show artifacts
|
|
89
|
+
run: ls -lah dist
|
|
90
|
+
|
|
91
|
+
- uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/target/
|
|
2
|
+
.venv/
|
|
3
|
+
.pytest_cache/
|
|
4
|
+
tests/layout/artifacts/
|
|
5
|
+
__pycache__/
|
|
6
|
+
*.pyc
|
|
7
|
+
python/chromonic/*.so
|
|
8
|
+
python/chromonic/*.pyd
|
|
9
|
+
|
|
10
|
+
.DS_Store
|
|
11
|
+
|
|
12
|
+
# Cargo.lock IS committed (pins the exact dependency versions this POC was
|
|
13
|
+
# built and verified against) -- examples/poc.png and examples/poc_mutated.png ARE committed -- they're
|
|
14
|
+
# what the README embeds -- so nothing under examples/ is ignored here.
|