Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
eafc8c5
Initial bindings support
kunitoki Jul 3, 2025
d01c2c3
More work on demos
kunitoki Jul 3, 2025
629a600
Merge branch 'main' into dev/python
kunitoki Jul 3, 2025
376f755
More work
kunitoki Jul 3, 2025
d996a80
More tweaks
kunitoki Jul 3, 2025
84fe9b1
Improve building of python modules
kunitoki Jul 3, 2025
7c7a6e4
Fix build failures
kunitoki Jul 3, 2025
6b9cb6b
More testing
kunitoki Jul 3, 2025
fede9ca
Only use python for desktops (we need to build it for ios/android/was…
kunitoki Jul 3, 2025
3b369df
Code formatting
yup-bot Jul 3, 2025
41ff473
More tweaks
kunitoki Jul 3, 2025
1c9a8e7
Build wheels
kunitoki Jul 3, 2025
b280451
Only execute unit tests on desktop
kunitoki Jul 3, 2025
dc6addc
Change folder
kunitoki Jul 3, 2025
a34a159
Change name
kunitoki Jul 3, 2025
df779f6
Skip yup_python on non desktop
kunitoki Jul 3, 2025
fc37cf6
More fixes
kunitoki Jul 3, 2025
1b1aebf
Fix python
kunitoki Jul 3, 2025
c58308f
Fix it
kunitoki Jul 3, 2025
7950d61
Stick a compiler flag for linux
kunitoki Jul 3, 2025
fa7a13d
Skipping arm64 tests
kunitoki Jul 3, 2025
af26687
Fix universal building
kunitoki Jul 3, 2025
e847f77
Don't include python
kunitoki Jul 3, 2025
cfd8689
Fix it
kunitoki Jul 3, 2025
f2c998b
More stuff
kunitoki Jul 3, 2025
e1d201d
Fix issues
kunitoki Jul 3, 2025
eb88c2f
Fix issue
kunitoki Jul 3, 2025
3ec7767
Fixes
kunitoki Jul 3, 2025
af7699c
Fix issue
kunitoki Jul 3, 2025
d8341fd
Updated pytests
kunitoki Jul 4, 2025
54d4c5a
API visibility
kunitoki Jul 4, 2025
0301191
More tweakings
kunitoki Jul 4, 2025
3785e86
Improve
kunitoki Jul 4, 2025
928b503
Code formatting
yup-bot Jul 4, 2025
48fb0fa
More fixes
kunitoki Jul 4, 2025
8429e00
More tweaks
kunitoki Jul 4, 2025
ac919ba
More tweaks
kunitoki Jul 4, 2025
8b4b95f
More tweaks
kunitoki Jul 4, 2025
ecd83a5
Code formatting
yup-bot Jul 4, 2025
accd333
Skip x86_64 tests
kunitoki Jul 4, 2025
605117f
Fix building
kunitoki Jul 4, 2025
f505f24
Use xcode 16 and fi wheel building
kunitoki Jul 4, 2025
53c2851
Updates to jobs
kunitoki Jul 4, 2025
c5fddd1
More tweaks to python
kunitoki Jul 4, 2025
a914eef
Merge python + c++
kunitoki Jul 4, 2025
713688d
Fix linux building
kunitoki Jul 4, 2025
fafdfe8
Fix issue on linux cibuildwheel
kunitoki Jul 4, 2025
16b9f51
Fix linux
kunitoki Jul 4, 2025
f5059ac
More tweaks
kunitoki Jul 4, 2025
818719f
Again blindly fix on linux
kunitoki Jul 4, 2025
d63f115
Try to fix it
kunitoki Jul 4, 2025
5e26542
More ci fixes
kunitoki Jul 4, 2025
403bd63
More tweaks
kunitoki Jul 4, 2025
7720890
More tweaks
kunitoki Jul 4, 2025
46a69a5
Try again
kunitoki Jul 4, 2025
56f9e4b
More work
kunitoki Jul 4, 2025
940b819
More retries
kunitoki Jul 4, 2025
849d1de
Fix issue
kunitoki Jul 4, 2025
1459e13
Try coverage
kunitoki Jul 4, 2025
7e262f6
Avoid generating cruft
kunitoki Jul 4, 2025
cf14111
Fix it !
kunitoki Jul 4, 2025
dcb55d1
Testing
kunitoki Jul 4, 2025
57e91ad
Blind test
kunitoki Jul 4, 2025
27e85c1
Fix location of lconv
kunitoki Jul 4, 2025
f5f53a0
Fix it
kunitoki Jul 4, 2025
10883f7
Fix
kunitoki Jul 4, 2025
36bb157
Remove pybind11
kunitoki Jul 5, 2025
dc3aea9
Fix coverage
kunitoki Jul 5, 2025
9d9ac9c
Fix coverage
kunitoki Jul 5, 2025
09a0aba
Fix missing package
kunitoki Jul 5, 2025
3064662
More tweaks
kunitoki Jul 5, 2025
e2f0884
Fixes
kunitoki Jul 5, 2025
08ca401
Blindly lcov
kunitoki Jul 5, 2025
dec88ed
Fix it
kunitoki Jul 5, 2025
510c5dd
Fix
kunitoki Jul 5, 2025
72b93b9
Fix issues
kunitoki Jul 5, 2025
807d9e4
Fix issue
kunitoki Jul 5, 2025
58dee19
Fix issue
kunitoki Jul 5, 2025
54ca12e
Changes
kunitoki Jul 5, 2025
a6be0cf
String indent / dedent
kunitoki Jul 5, 2025
d3bc8d8
Avoid installing unneeded packages
kunitoki Jul 5, 2025
f70b0d7
More tweaks
kunitoki Jul 5, 2025
7288642
More tweaks
kunitoki Jul 5, 2025
61f0308
More work on python coverage
kunitoki Jul 7, 2025
3f51349
Code formatting
yup-bot Jul 7, 2025
ad75aaf
Remove coverage report from python
kunitoki Jul 7, 2025
bcb01a4
More tweaks
kunitoki Jul 7, 2025
e7ea35f
Code formatting
yup-bot Jul 7, 2025
4b7cbe5
Missing yup
kunitoki Jul 7, 2025
e993b50
More work
kunitoki Jul 7, 2025
8cf8636
More tweaks
kunitoki Jul 7, 2025
da35ab0
More tweaks
kunitoki Jul 7, 2025
ade7ca4
Add more output
kunitoki Jul 7, 2025
44e09d7
More tweaks
kunitoki Jul 7, 2025
e9c4ccf
Fix issues
kunitoki Jul 7, 2025
e48aac5
More tweaks
kunitoki Jul 7, 2025
71d3173
Code formatting
yup-bot Jul 7, 2025
80a138b
Fix
kunitoki Jul 7, 2025
6b70f33
More tests
kunitoki Jul 7, 2025
fedc30a
Fix python running locally on linux
kunitoki Jul 7, 2025
d169c6f
More work
kunitoki Jul 7, 2025
2ebbb3d
Try root
kunitoki Jul 7, 2025
7f27a06
Fix issues
kunitoki Jul 7, 2025
5219b3b
Add more to path
kunitoki Jul 7, 2025
d5bc1b6
Fix
kunitoki Jul 7, 2025
9105676
Failing tests
kunitoki Jul 7, 2025
1170a6f
Fix pybind11 formatting
kunitoki Jul 7, 2025
f235d12
More python bindings
kunitoki Jul 7, 2025
933a44f
More work
kunitoki Jul 7, 2025
2a450d9
More ports from popsicle
kunitoki Jul 7, 2025
4d80422
More work
kunitoki Jul 7, 2025
ee0cb0e
More work
kunitoki Jul 7, 2025
c522ffb
More tests
kunitoki Jul 7, 2025
e826394
Code formatting
yup-bot Jul 7, 2025
6a9f82c
More work on point
kunitoki Jul 7, 2025
074b9d9
Disable clang format on pybind
kunitoki Jul 7, 2025
70997c9
Fix coverage
kunitoki Jul 8, 2025
41e3a4a
More APIs
kunitoki Jul 8, 2025
2289030
Code formatting
yup-bot Jul 8, 2025
aad5d28
More work
kunitoki Jul 8, 2025
9799605
Remove cruft
kunitoki Jul 8, 2025
169f39e
Ignore stubgen errors
kunitoki Jul 8, 2025
0aaaac9
Avoid formatting bindings
kunitoki Jul 9, 2025
ddc571c
More bindings work
kunitoki Jul 9, 2025
925f810
More path work
kunitoki Jul 9, 2025
8394a54
Make it work
kunitoki Jul 9, 2025
4536943
More tweaks
kunitoki Jul 9, 2025
d4f1a4b
More stuff
kunitoki Jul 9, 2025
5c3dc30
Merge branch 'main' into dev/python
kunitoki Jul 9, 2025
5a5ea5a
More tweaks
kunitoki Jul 9, 2025
599bfe2
Code formatting
yup-bot Jul 9, 2025
622e364
More exposure
kunitoki Jul 9, 2025
0db12ec
Code formatting
yup-bot Jul 9, 2025
2ce45ac
Forgot a clamp
kunitoki Jul 9, 2025
a72d502
More work
kunitoki Jul 10, 2025
1e6e050
More testing
kunitoki Jul 10, 2025
c89b0cc
Code formatting
yup-bot Jul 10, 2025
3f503f5
More work on python lifecycle
kunitoki Jul 10, 2025
f9b8496
More examples
kunitoki Jul 10, 2025
8d5333b
Code formatting
yup-bot Jul 10, 2025
a585858
Make yup_events tests working
kunitoki Jul 10, 2025
27347a4
Fix python embeddable
kunitoki Jul 10, 2025
9c39a6b
Make tests to work
kunitoki Jul 10, 2025
2fb4cea
More tests
kunitoki Jul 10, 2025
655b797
Disable temporarily yup_events python tests
kunitoki Jul 10, 2025
554958b
Fix warnings
kunitoki Jul 10, 2025
13c5fa9
More coverage
kunitoki Jul 11, 2025
cb6a458
More test coverage
kunitoki Jul 11, 2025
df32186
More point and math
kunitoki Jul 11, 2025
108514a
More math
kunitoki Jul 11, 2025
34d333e
Code formatting
yup-bot Jul 11, 2025
40d6f16
Update test_XmlElement.py
kunitoki Jul 11, 2025
c2c0734
Fix issues
kunitoki Jul 11, 2025
81db844
More coverage
kunitoki Jul 11, 2025
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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
2 changes: 2 additions & 0 deletions .github/workflows/build_ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:
- "**/modules/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_emscripten.*"
- "!**/native/*_linux.*"
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/build_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ on:
- "**/modules/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_apple.*"
- "!**/native/*_emscripten.*"
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/build_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ on:
- "**/modules/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_emscripten.*"
- "!**/native/*_linux.*"
Expand All @@ -20,12 +22,9 @@ on:
- "**"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
DEVELOPER_DIR: /Applications/Xcode_15.1.app/Contents/Developer

jobs:
configure:
runs-on: macos-latest
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/build_wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ on:
- "**/modules/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_apple.*"
- "!**/native/*_linux.*"
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/build_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ on:
- "**/modules/**"
- "**/tests/**"
- "**/thirdparty/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_apple.*"
- "!**/native/*_emscripten.*"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/clang_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
**/*.hpp
**/*.mm
**/*.m
!**/pybind11/**
!**/thirdparty/**

- name: Run clang-format
Expand Down
20 changes: 13 additions & 7 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:
- "**/cmake/**"
- "**/modules/**"
- "**/tests/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_apple.*"
- "!**/native/*_emscripten.*"
Expand All @@ -26,6 +28,8 @@ on:
- "**/cmake/**"
- "**/modules/**"
- "**/tests/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_apple.*"
- "!**/native/*_emscripten.*"
Expand All @@ -46,10 +50,10 @@ env:
libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype6-dev
libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev
libxrandr-dev libxrender-dev libglu1-mesa-dev libegl1-mesa-dev mesa-common-dev lcov
IGNORE_ERRORS: "mismatch,gcov,source,negative,unused,empty"
IGNORE_ERRORS: "mismatch,gcov,source,negative,unused,empty,format,corrupt"

jobs:
coverage:
cpp-coverage:
runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -79,25 +83,27 @@ jobs:
working-directory: ${{ runner.workspace }}/build
run: cmake --build . --target coverage_clean

- name: Run Tests
- name: Run C++ Tests
working-directory: ${{ runner.workspace }}/build/tests/Debug
run: ./yup_tests --gtest_output=xml:test_results.xml

- name: Generate Combined Coverage Report
- name: Generate C++ Coverage Report
working-directory: ${{ runner.workspace }}/build
run: |
lcov --directory . --capture --output-file coverage/coverage.info --ignore-errors mismatch,gcov,source,negative,unused,empty
mkdir -p coverage
lcov --directory . --capture --output-file coverage/coverage.info --ignore-errors ${IGNORE_ERRORS}
lcov --remove coverage/coverage.info \
"*/pybind11/*" \
"*/thirdparty/*" \
"*/build/*" \
"*/tests/*" \
"*/usr/*" \
"*/opt/*" \
"*/CMakeFiles/*" \
--output-file coverage/coverage_final.info --ignore-errors mismatch,gcov,source,negative,unused,empty
--output-file coverage/coverage_final.info --ignore-errors ${IGNORE_ERRORS}
lcov --list coverage/coverage_final.info

- name: Upload Overall Coverage to Codecov
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
77 changes: 77 additions & 0 deletions .github/workflows/python_linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Linux Python

on:
push:
paths:
- "CMakeLists.txt"
- "**/workflows/python_linux.yml"
- "**/cmake/**"
- "**/modules/**"
- "**/thirdparty/**"
- "**/python/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_apple.*"
- "!**/native/*_emscripten.*"
- "!**/native/*_ios.*"
- "!**/native/*_mac.*"
- "!**/native/*_wasm.*"
- "!**/native/*_windows.*"
branches:
- "**"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build_python:
name: build_cp${{matrix.python}}-${{ matrix.platform_id }}
runs-on: ${{ matrix.os }}
continue-on-error: false

strategy:
fail-fast: true
matrix:
include:
- { os: ubuntu-latest, python: 311, platform_id: manylinux_x86_64, cibw_archs: x86_64 }
#- { os: ubuntu-latest, python: 311, platform_id: manylinux_aarch64, cibw_archs: aarch64 }

steps:
- uses: actions/checkout@v4

- name: Set up QEMU
if: matrix.cibw_archs == 'aarch64'
uses: docker/setup-qemu-action@v3
with:
platforms: arm64

- name: Setup and install python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Build wheels
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_ARCHS: ${{matrix.cibw_archs}}
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_TEST_SKIP: "*-manylinux_aarch64"
CIBW_DEBUG_TRACEBACK: TRUE
CIBW_ENVIRONMENT: CIBW_DEBUG_TRACEBACK=TRUE
with:
package-dir: python

- name: Store failures artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: compare-data
path: |
./python/wheelhouse/compare_data/
!./python/wheelhouse/compare_data/.gitignore
if-no-files-found: ignore
retention-days: 5
compression-level: 0
overwrite: true
70 changes: 70 additions & 0 deletions .github/workflows/python_macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: MacOS Python

on:
push:
paths:
- "CMakeLists.txt"
- "**/workflows/python_macos.yml"
- "**/cmake/**"
- "**/modules/**"
- "**/thirdparty/**"
- "**/python/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_emscripten.*"
- "!**/native/*_linux.*"
- "!**/native/*_ios.*"
- "!**/native/*_wasm.*"
- "!**/native/*_windows.*"
branches:
- "**"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build_python:
name: build_cp${{matrix.python}}-${{ matrix.platform_id }}
runs-on: ${{ matrix.os }}
continue-on-error: false

strategy:
fail-fast: true
matrix:
include:
- { os: macos-15, python: 311, platform_id: macosx_universal2, cibw_archs: universal2 }

steps:
- uses: actions/checkout@v4

- name: Setup and install python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Build wheels
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_ARCHS: ${{matrix.cibw_archs}}
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
#CIBW_TEST_SKIP: "*-macosx_x86_64 *-macosx_universal2:x86_64"
CIBW_DEBUG_TRACEBACK: TRUE
CIBW_ENVIRONMENT: |
CIBW_DEBUG_TRACEBACK=TRUE MACOSX_DEPLOYMENT_TARGET=11.0 YUP_OSX_DEPLOYMENT_TARGET=11.0 YUP_OSX_ARCHITECTURES="x86_64;arm64"
with:
package-dir: python

- name: Store failures artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: compare-data
path: |
python/tests/compare_data/
!python/tests/compare_data/.gitignore
if-no-files-found: ignore
retention-days: 5
compression-level: 0
overwrite: true
72 changes: 72 additions & 0 deletions .github/workflows/python_windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Windows Python

on:
push:
paths:
- "CMakeLists.txt"
- "**/workflows/python_windows.yml"
- "**/cmake/**"
- "**/modules/**"
- "**/thirdparty/**"
- "**/python/**"
- "!**/native/generated/**"
- "!**/native/java*/**"
- "!**/native/*_android.*"
- "!**/native/*_apple.*"
- "!**/native/*_emscripten.*"
- "!**/native/*_linux.*"
- "!**/native/*_ios.*"
- "!**/native/*_mac.*"
- "!**/native/*_posix.*"
- "!**/native/*_wasm.*"
branches:
- "**"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build_python:
name: build_cp${{matrix.python}}-${{ matrix.platform_id }}
runs-on: ${{ matrix.os }}
continue-on-error: false

strategy:
fail-fast: true
matrix:
include:
- { os: windows-latest, python: 311, platform_id: win_amd64, cibw_archs: AMD64 }
- { os: windows-latest, python: 311, platform_id: win_arm64, cibw_archs: ARM64 }

steps:
- uses: actions/checkout@v4

- name: Setup and install python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Build wheels
uses: pypa/cibuildwheel@v3.0.0
env:
CIBW_ARCHS: ${{matrix.cibw_archs}}
CIBW_BUILD: cp${{ matrix.python }}-${{ matrix.platform_id }}
CIBW_TEST_SKIP: "*-win_arm64"
CIBW_DEBUG_TRACEBACK: TRUE
CIBW_ENVIRONMENT: CIBW_DEBUG_TRACEBACK=TRUE
with:
package-dir: python

- name: Store failures artifacts
if: failure()
uses: actions/upload-artifact@v4
with:
name: compare-data
path: |
python/tests/compare_data/
!python/tests/compare_data/.gitignore
if-no-files-found: ignore
retention-days: 5
compression-level: 0
overwrite: true
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@ cmake-build*
out/*

# Ides
.vscode/
.vscode
.idea
.vs
Loading
Loading