Skip to content

Commit

Permalink
build(compare-meshes): add pixi python configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
thewtex committed Oct 24, 2024
1 parent 4e7bcc2 commit 649ef6b
Show file tree
Hide file tree
Showing 9 changed files with 8,385 additions and 20 deletions.
1 change: 1 addition & 0 deletions packages/compare-meshes/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ test
typescript/src/version.ts
typescript/dist
typescript/demo-app
pyodide/
1 change: 1 addition & 0 deletions packages/compare-meshes/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
git-checks=false
17 changes: 6 additions & 11 deletions packages/compare-meshes/package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
{
"name": "@itk-wasm/compare-meshes-build",
"version": "0.1.0",
"version": "0.4.1",
"private": true,
"packageManager": "[email protected]",
"description": "Scripts to generate compare-meshes itk-wasm artifacts.",
"description": "@itk-wasm/compare-meshes build configuration.",
"type": "module",
"itk-wasm": {
"emscripten-docker-image": "itkwasm/emscripten:latest",
Expand All @@ -28,22 +27,18 @@
"bindgen:typescript": "itk-wasm pnpm-script bindgen:typescript",
"bindgen:python": "itk-wasm pnpm-script bindgen:python",
"build:gen:typescript": "itk-wasm pnpm-script build:gen:typescript",
"build:gen:python": "itk-wasm pnpm-script build:gen:python",
"build:micromamba": "itk-wasm pnpm-script build:micromamba",
"build:python:versionSync": "itk-wasm pnpm-script build:python:versionSync",
"publish:python": "itk-wasm pnpm-script publish:python",
"build:gen:python": "pnpm build:wasi && pnpm bindgen:python",
"test": "pnpm test:data:download && pnpm build:gen:python && pnpm test:python",
"test:data:download": "dam download test/data test/data.tar.gz bafkreidioh62iouwzrrpavx7g72fdjxze7gp4cqpf36t4pdafcpcmx4zye https://github.com/InsightSoftwareConsortium/ITK-Wasm/releases/download/itk-wasm-v1.0.0-b.171/itkwasm-compare-meshes-test-data.tar.gz",
"test:data:pack": "dam pack test/data test/data.tar.gz",
"test:python:wasi": "itk-wasm pnpm-script test:python:wasi",
"test:python:emscripten": "itk-wasm pnpm-script test:python:emscripten",
"test:python:dispatch": "itk-wasm pnpm-script test:python:emscripten",
"test:python:wasi": "pnpm test:data:download && pixi run test-wasi",
"test:python:emscripten": "pnpm test:data:download && pixi run test-emscripten",
"test:python:dispatch": "pnpm test:data:download && pixi run test-dispatch",
"test:python": "itk-wasm pnpm-script test:python",
"test:wasi": "itk-wasm pnpm-script test:wasi"
},
"devDependencies": {
"@itk-wasm/dam": "^1.1.1",
"@thewtex/setup-micromamba": "^1.9.7",
"itk-wasm": "workspace:^",
"@itk-wasm/mesh-io-build": "workspace:^",
"@itk-wasm/compare-meshes-build": "workspace:^"
Expand Down
8,235 changes: 8,235 additions & 0 deletions packages/compare-meshes/pixi.lock

Large diffs are not rendered by default.

140 changes: 140 additions & 0 deletions packages/compare-meshes/pixi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
[project]
authors = ["Matt McCormick <[email protected]>"]
channels = ["conda-forge"]
description = "Compare meshes with a tolerance for regression testing."
name = "compare-meshes"
platforms = ["win-64", "linux-64", "linux-aarch64", "osx-arm64"]
version = "0.1.0"

[tasks]

[dependencies]
python = "3.12.*"
pnpm = ">=9.12.1,<10"
hatch = ">=1.13.0,<2"
pip = ">=24.2,<25"

[target.win-64.dependencies]
m2w64-jq = ">=1.6.0,<2"

[target.unix.dependencies]
jq = ">=1.7.1,<2"

[tasks.version-sync-typescript]
cmd = '''version=$(cat package.json | jq .version) &&
jq ".version = $version" typescript/package.json > typescript/package.json.tmp &&
mv typescript/package.json.tmp typescript/package.json'''

[tasks.version-sync-python-wasi]
cmd = '''version=$(cat ../../package.json | jq -r .version) &&
echo "version is $version" &&
hatch version $version'''
cwd = "python/itkwasm-compare-meshes-wasi"

[tasks.version-sync-python-emscripten]
cmd = '''version=$(cat ../../package.json | jq -r .version) &&
hatch version $version'''
cwd = "python/itkwasm-compare-meshes-emscripten"

[tasks.version-sync-python-dispatch]
cmd = '''version=$(cat ../../package.json | jq -r .version) &&
hatch version $version'''
cwd = "python/itkwasm-compare-meshes"

[tasks.version-sync]
depends-on = ["version-sync-typescript", "version-sync-python-wasi", "version-sync-python-emscripten", "version-sync-python-dispatch"]
description = "Synchronize package versions"

[tasks.publish-typescript]
cmd = "pnpm publish --filter \"{typescript}\""

[tasks.publish-python-user-check]
cmd = "if [ -n \"$HATCH_INDEX_USER\"]; then echo \"HATCH_INDEX_USER is set\"; else echo \"HATCH_INDEX_USER is not set\"; exit 1; fi"

[tasks.publish-python-wasi]
cmd = '''hatch build &&
hatch publish'''
cwd = "python/itkwasm-compare-meshes-wasi"

[tasks.publish-python-emscripten]
cmd = '''hatch build &&
hatch publish'''
cwd = "python/itkwasm-compare-meshes-emscripten"

[tasks.publish-python-dispatch]
cmd = '''hatch build &&
hatch publish'''
cwd = "python/itkwasm-compare-meshes"

[tasks.publish]
depends-on = ["publish-typescript", "publish-python-wasi", "publish-python-emscripten", "publish-python-dispatch"]
description = "Synchronize package versions"

[feature.python.dependencies]
pytest = ">=8.3.3,<9"

[feature.python.pypi-dependencies]
itkwasm-compare-meshes-wasi = { path = "python/itkwasm-compare-meshes-wasi", editable = true }
itkwasm-compare-meshes = { path = "python/itkwasm-compare-meshes", editable = true }
pyodide-py = ">=0.26.3, <0.27"
pytest-pyodide = ">=0.58.3, <0.59"
itk-webassemblyinterface = ">=1.0b175, <2"
itkwasm-image-io = ">=1.3.0, <2"

[feature.python.tasks.test-wasi]
cmd = "pytest"
cwd = "python/itkwasm-compare-meshes-wasi"
description = "Run tests for itkwasm-compare-meshes-wasi"

[feature.python.tasks.download-pyodide]
cmd = '''curl -L https://github.com/pyodide/pyodide/releases/download/0.26.3/pyodide-0.26.3.tar.bz2 -o pyodide.tar.bz2 &&
tar xjf pyodide.tar.bz2 &&
rm pyodide.tar.bz2'''
outputs = ["pyodide"]
description = "Download Pyodide"

[feature.python.tasks.test-emscripten]
cmd = '''mkdir -p dist/pyodide &&
cp -r ../../pyodide dist/ &&
hatch build -t wheel ./dist/pyodide/ &&
pytest --dist-dir=./dist/pyodide --rt=chrome'''
cwd = "python/itkwasm-compare-meshes-emscripten"
depends-on = ["download-pyodide"]
description = "Run tests for itkwasm-compare-meshes-emscripten"

[feature.python.tasks.serve-emscripten]
cmd = '''mkdir -p dist/pyodide &&
cp -r ../../pyodide dist/ &&
hatch build -t wheel ./dist/pyodide/ &&
echo \"\nVisit http://localhost:8877/console.html\n\" &&
python -m http.server --directory=./dist/pyodide 8877'''
cwd = "python/itkwasm-compare-meshes-emscripten"
depends-on = ["download-pyodide"]
description = "Serve itkwasm-compare-meshes-emscripten for development"

[feature.python.tasks.test-dispatch]
cmd = '''mkdir -p dist/pyodide &&
cp -r ../../pyodide dist/ &&
hatch build -t wheel ./dist/pyodide/ &&
cp ../itkwasm-compare-meshes-emscripten/dist/pyodide/itkwasm_compare_meshes_emscripten*.whl ./dist/pyodide/ &&
pytest --dist-dir=./dist/pyodide --rt=chrome'''
cwd = "python/itkwasm-compare-meshes"
depends-on = ["download-pyodide"]
description = "Run tests for itkwasm-compare-meshes"

[feature.python.tasks.serve-dispatch]
cmd = '''mkdir -p dist/pyodide &&
cp -r ../../pyodide dist/ &&
hatch build -t wheel ./dist/pyodide/ &&
echo \"\nVisit http://localhost:8877/console.html\n\" &&
python -m http.server --directory=./dist/pyodide 8877'''
cwd = "python/itkwasm-compare-meshes"
depends-on = ["download-pyodide"]
description = "Serve itkwasm-compare-meshes for development"

[feature.python.tasks.test-python]
depends-on = ["test-wasi", "test-emscripten", "test-dispatch"]
description = "Run tests for all Python packages"

[environments]
python = ["python"]
2 changes: 0 additions & 2 deletions packages/compare-meshes/pnpm-workspace.yaml

This file was deleted.

3 changes: 1 addition & 2 deletions packages/compare-meshes/typescript/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "@itk-wasm/compare-meshes",
"version": "0.4.0",
"packageManager": "[email protected]",
"description": "Compare meshes and polydata for regression testing.",
"type": "module",
"module": "./dist/index.js",
Expand Down Expand Up @@ -37,7 +36,7 @@
"itk-wasm": "workspace:^"
},
"devDependencies": {
"@itk-wasm/mesh-io": "workspace:^",
"@itk-wasm/mesh-io": "workspace:*",
"@itk-wasm/demo-app": "workspace:*",
"@types/node": "^20.2.5",
"esbuild": "^0.19.8",
Expand Down
1 change: 0 additions & 1 deletion packages/mesh-io/typescript/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "@itk-wasm/mesh-io",
"version": "1.4.1",
"packageManager": "[email protected]",
"description": "Input and output for scientific and medical image file formats.",
"type": "module",
"module": "./dist/index.js",
Expand Down
5 changes: 1 addition & 4 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 649ef6b

Please sign in to comment.