From ea51619590a9b4c3011730622f0ebfc737671eff Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 19 Jul 2026 07:21:20 +0000 Subject: [PATCH 1/3] Update from copier (2026-07-19T07:21:20) Signed-off-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- .copier-answers.yaml | 2 +- .github/workflows/build.yaml | 5 +---- .github/workflows/docs.yaml | 3 ++- Cargo.toml | 5 +++++ js/Cargo.toml | 5 +++++ js/package.json | 2 +- pyproject.toml | 30 +++++++++++++++++++++++++----- rust/Makefile | 2 +- 8 files changed, 41 insertions(+), 13 deletions(-) diff --git a/.copier-answers.yaml b/.copier-answers.yaml index eeb3299..e28e1be 100644 --- a/.copier-answers.yaml +++ b/.copier-answers.yaml @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier -_commit: 392c67f +_commit: '4875149' _src_path: https://github.com/python-project-templates/base.git add_docs: true add_extension: rustjswasm diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index db62ff1..aa9f943 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -31,7 +31,6 @@ jobs: matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ["3.11"] - cibuildwheel: ["cp311"] node-version: [22.x] steps: @@ -83,7 +82,7 @@ jobs: token: ${{ secrets.CODECOV_TOKEN }} - name: Set up QEMU - uses: docker/setup-qemu-action@v4 + uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0 with: platforms: all if: runner.os == 'Linux' && runner.arch == 'X64' @@ -96,8 +95,6 @@ jobs: make dist-py-wheel make dist-check shell: bash - env: - CIBW_BUILD: "${{ matrix.cibuildwheel }}-manylinux*" if: matrix.os == 'ubuntu-latest' - name: Make dist (Macos / Windows) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 52cc534..084c79f 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -32,7 +32,8 @@ jobs: - name: Install from wheel run: | - uv pip install dist/*.whl --target . + uv pip install dist/*.whl + uv pip install dist/*.whl --target . --no-deps uv pip install yardang if: github.event_name == 'workflow_run' diff --git a/Cargo.toml b/Cargo.toml index 860f31f..f29c299 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ path = "rust/python/lib.rs" crate-type = ["cdylib"] [dependencies] +<<<<<<< before updating # Aliased to avoid clashing with this crate's own lib name (`crowdsource`). crowdsource_core = { path = "./rust", version = "*", package = "crowdsource" } pyo3 = { version = "0.28.2", features = ["abi3", "extension-module", "multiple-pymethods"] } @@ -18,6 +19,10 @@ tokio = { version = "1", features = ["rt-multi-thread", "net", "time"] } serde = "1.0" serde_json = "1.0" uuid = "1" +======= +crowdsource = { path = "./rust", version = "*" } +pyo3 = { version = "0.29.0", features = ["abi3", "extension-module", "multiple-pymethods"] } +>>>>>>> after updating [profile.release] panic = 'abort' diff --git a/js/Cargo.toml b/js/Cargo.toml index c2fcd2f..5b9dba5 100644 --- a/js/Cargo.toml +++ b/js/Cargo.toml @@ -12,6 +12,7 @@ path = "src/rust/lib.rs" crate-type = ["cdylib"] [dependencies] +<<<<<<< before updating # The core's `client` feature compiles its reqwest transport against the browser # fetch backend on wasm (no rustls), so the wasm shell wraps the real Client. crowdsource = { path = "../rust", version = "*", default-features = false, features = ["client"] } @@ -23,3 +24,7 @@ serde_json = "1.0" js-sys = "0.3" uuid = "1" getrandom = { version = "0.2", features = ["js"] } +======= +crowdsource = { path = "../rust", version = "*" } +wasm-bindgen = "=0.2.126" +>>>>>>> after updating diff --git a/js/package.json b/js/package.json index b8028cb..f5d5e26 100644 --- a/js/package.json +++ b/js/package.json @@ -37,7 +37,7 @@ "access": "public" }, "scripts": { - "setup": "cargo install -f wasm-bindgen-cli --version 0.2.121 --locked", + "setup": "cargo install -f wasm-bindgen-cli --version 0.2.126 --locked", "build:debug": "node build.mjs --debug", "build:rust": "cargo build --release --all-features --target wasm32-unknown-unknown", "build:wasm-bindgen": "wasm-bindgen ../target/wasm32-unknown-unknown/release/crowdsource.wasm --out-dir ./dist/pkg --target web", diff --git a/pyproject.toml b/pyproject.toml index 33b903f..713b59c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,9 +14,15 @@ authors = [ description = "API client and CLI for recurring prediction competitions, live forecasting benchmarks, and AI agent submissions." readme = "README.md" license = { text = "Apache-2.0" } +<<<<<<< before updating version = "0.2.0" requires-python = ">=3.10" keywords = ["forecasting", "prediction-competitions", "ai-agents", "llm", "benchmarks", "kaggle-alternative", "mcp", "time-series"] +======= +version = "0.1.0" +requires-python = ">=3.11" +keywords = [] +>>>>>>> after updating classifiers = [ "Development Status :: 3 - Alpha", @@ -25,7 +31,6 @@ classifiers = [ "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", @@ -100,7 +105,7 @@ search = 'version = "{current_version}"' replace = 'version = "{new_version}"' [tool.cibuildwheel] -build = "cp310-*" +build = "cp311-*" test-command = "pytest -vvv {project}/crowdsource/tests" test-extras = "develop" @@ -136,6 +141,17 @@ exclude_also = [ ignore_errors = true fail_under = 50 +[tool.hatch.build] +artifacts = [ + "crowdsource/*.dll", + "crowdsource/*.dylib", + "crowdsource/*.so", + "crowdsource/extension", +] + +[tool.hatch.build.sources] +src = "/" + [tool.hatch.build.hooks.hatch-js] path = "js" build_cmd = "build" @@ -173,9 +189,6 @@ exclude = [ packages = [ "crowdsource", ] -artifacts = [ - "crowdsource/extension/**/*", -] exclude = [ "js", "rust", @@ -215,3 +228,10 @@ section-order = [ "F401", "F403", ] + +[tool.yardang] +title = "crowdsource" +root = "README.md" +pages = [] +use-autoapi = true + diff --git a/rust/Makefile b/rust/Makefile index fc5aac5..e9771a2 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -5,7 +5,7 @@ requirements: ## install required dev dependencies rustup component add clippy cargo install --force --locked cargo-nextest cargo install --force --locked cargo-llvm-cov - cargo install --force --locked wasm-bindgen-cli --version 0.2.121 + cargo install --force --locked wasm-bindgen-cli --version 0.2.126 rustup target add wasm32-unknown-unknown develop: requirements ## install required dev dependencies From 90324ceb9edce96a4c649ba2266cfb2b2643ad2b Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sun, 19 Jul 2026 11:49:19 -0400 Subject: [PATCH 2/3] Resolve copier update conflicts Keep the repo's real dependency lists (the template stubs dropped tokio/serde/pythonize/uuid etc.) and version 0.2.0/keywords; adopt requires-python >=3.11 to match the already-applied 3.10 drop. --- Cargo.toml | 5 ----- js/Cargo.toml | 5 ----- pyproject.toml | 8 +------- 3 files changed, 1 insertion(+), 17 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index f29c299..860f31f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,6 @@ path = "rust/python/lib.rs" crate-type = ["cdylib"] [dependencies] -<<<<<<< before updating # Aliased to avoid clashing with this crate's own lib name (`crowdsource`). crowdsource_core = { path = "./rust", version = "*", package = "crowdsource" } pyo3 = { version = "0.28.2", features = ["abi3", "extension-module", "multiple-pymethods"] } @@ -19,10 +18,6 @@ tokio = { version = "1", features = ["rt-multi-thread", "net", "time"] } serde = "1.0" serde_json = "1.0" uuid = "1" -======= -crowdsource = { path = "./rust", version = "*" } -pyo3 = { version = "0.29.0", features = ["abi3", "extension-module", "multiple-pymethods"] } ->>>>>>> after updating [profile.release] panic = 'abort' diff --git a/js/Cargo.toml b/js/Cargo.toml index 5b9dba5..c2fcd2f 100644 --- a/js/Cargo.toml +++ b/js/Cargo.toml @@ -12,7 +12,6 @@ path = "src/rust/lib.rs" crate-type = ["cdylib"] [dependencies] -<<<<<<< before updating # The core's `client` feature compiles its reqwest transport against the browser # fetch backend on wasm (no rustls), so the wasm shell wraps the real Client. crowdsource = { path = "../rust", version = "*", default-features = false, features = ["client"] } @@ -24,7 +23,3 @@ serde_json = "1.0" js-sys = "0.3" uuid = "1" getrandom = { version = "0.2", features = ["js"] } -======= -crowdsource = { path = "../rust", version = "*" } -wasm-bindgen = "=0.2.126" ->>>>>>> after updating diff --git a/pyproject.toml b/pyproject.toml index 713b59c..4053d69 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,15 +14,9 @@ authors = [ description = "API client and CLI for recurring prediction competitions, live forecasting benchmarks, and AI agent submissions." readme = "README.md" license = { text = "Apache-2.0" } -<<<<<<< before updating version = "0.2.0" -requires-python = ">=3.10" -keywords = ["forecasting", "prediction-competitions", "ai-agents", "llm", "benchmarks", "kaggle-alternative", "mcp", "time-series"] -======= -version = "0.1.0" requires-python = ">=3.11" -keywords = [] ->>>>>>> after updating +keywords = ["forecasting", "prediction-competitions", "ai-agents", "llm", "benchmarks", "kaggle-alternative", "mcp", "time-series"] classifiers = [ "Development Status :: 3 - Alpha", From 1f0e25e6326199e0f2317b285ce899269b63eb39 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sun, 19 Jul 2026 12:05:28 -0400 Subject: [PATCH 3/3] Bump wasm-bindgen to 0.2.126 to match CLI schema CI installs wasm-bindgen-cli 0.2.126; the =0.2.121 pin produced a schema-version mismatch during the wasm build. Adopt the template's =0.2.126 bump and refresh the lockfile. --- Cargo.lock | 29 ++++++++++++++--------------- js/Cargo.toml | 2 +- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4f2f048..8d660b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -624,13 +624,12 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "js-sys" -version = "0.3.98" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08" +checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102" dependencies = [ "cfg-if", "futures-util", - "once_cell", "wasm-bindgen", ] @@ -1427,9 +1426,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.121" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790" +checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4" dependencies = [ "cfg-if", "once_cell", @@ -1440,9 +1439,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.71" +version = "0.4.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96492d0d3ffba25305a7dc88720d250b1401d7edca02cc3bcd50633b424673b8" +checksum = "c62df1340f32221cb9c54d6a27b030e3dba64361d4a95bed55f9aacb44da291d" dependencies = [ "js-sys", "wasm-bindgen", @@ -1450,9 +1449,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.121" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578" +checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1460,9 +1459,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.121" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2" +checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e" dependencies = [ "bumpalo", "proc-macro2", @@ -1473,18 +1472,18 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.121" +version = "0.2.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441" +checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24" dependencies = [ "unicode-ident", ] [[package]] name = "web-sys" -version = "0.3.98" +version = "0.3.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b572dff8bcf38bad0fa19729c89bb5748b2b9b1d8be70cf90df697e3a8f32aa" +checksum = "8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/js/Cargo.toml b/js/Cargo.toml index c2fcd2f..ef59f81 100644 --- a/js/Cargo.toml +++ b/js/Cargo.toml @@ -15,7 +15,7 @@ crate-type = ["cdylib"] # The core's `client` feature compiles its reqwest transport against the browser # fetch backend on wasm (no rustls), so the wasm shell wraps the real Client. crowdsource = { path = "../rust", version = "*", default-features = false, features = ["client"] } -wasm-bindgen = "=0.2.121" +wasm-bindgen = "=0.2.126" wasm-bindgen-futures = "0.4" serde-wasm-bindgen = "0.6" serde = "1.0"