diff --git a/.changeset/pgen-runenv.md b/.changeset/pgen-runenv.md new file mode 100644 index 0000000..b182aec --- /dev/null +++ b/.changeset/pgen-runenv.md @@ -0,0 +1,6 @@ +--- +'@platforma-open/milaboratories.runenv-python-3.12.10-pgen': minor +'@platforma-open/milaboratories.runenv-python-3': minor +--- + +Add Python 3.12.10 run environment for the Generation Probability block: olga (CDR3 generation probability + its bundled recombination models) with numpy and polars-lts-cpu. macOS-Intel is not built (no llvmlite cp312 wheel). diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 8189c85..045c596 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -108,6 +108,11 @@ jobs: {"os":"macos-15-large", "arch":"amd64", "selector":"./python-3.12.10-clustering"}, {"os":"windows-latest", "arch":"amd64", "selector":"./python-3.12.10-clustering"}, + {"os":"ubuntu-large-arm64", "arch":"arm64", "selector":"./python-3.12.10-pgen"}, + {"os":"ubuntu-large-amd64", "arch":"amd64", "selector":"./python-3.12.10-pgen"}, + {"os":"macos-15", "arch":"arm64", "selector":"./python-3.12.10-pgen"}, + {"os":"windows-latest", "arch":"amd64", "selector":"./python-3.12.10-pgen"}, + {"os":"ubuntu-large-amd64", "arch":"amd64", "selector":"./python-3.12.10-torch-cuda"}, {"os":"macos-15", "arch":"arm64", "selector":"./python-3.12.10-torch-cuda"} ] diff --git a/catalogue/package.json b/catalogue/package.json index 74a2b0b..547ac70 100644 --- a/catalogue/package.json +++ b/catalogue/package.json @@ -41,6 +41,9 @@ }, "3.12.10-clustering": { "reference": "@platforma-open/milaboratories.runenv-python-3.12.10-clustering/dist/tengo/software/main.sw.json" + }, + "3.12.10-pgen": { + "reference": "@platforma-open/milaboratories.runenv-python-3.12.10-pgen/dist/tengo/software/main.sw.json" } } }, @@ -58,7 +61,8 @@ "@platforma-open/milaboratories.runenv-python-3.12.10-scientific-slim": "workspace:*", "@platforma-open/milaboratories.runenv-python-3.12.10-humanness": "workspace:*", "@platforma-open/milaboratories.runenv-python-3.12.10-torch-cuda": "workspace:*", - "@platforma-open/milaboratories.runenv-python-3.12.10-clustering": "workspace:*" + "@platforma-open/milaboratories.runenv-python-3.12.10-clustering": "workspace:*", + "@platforma-open/milaboratories.runenv-python-3.12.10-pgen": "workspace:*" }, "devDependencies": { "@platforma-sdk/package-builder": "catalog:" diff --git a/checker/whitelists/macosx-aarch64.json b/checker/whitelists/macosx-aarch64.json index 48146d2..7f4747e 100644 --- a/checker/whitelists/macosx-aarch64.json +++ b/checker/whitelists/macosx-aarch64.json @@ -3,7 +3,7 @@ "81d243bd2c585b0f4821__mypyc": "invalid decimal literal" }, "numba-0.*-macosx_*_arm64.whl": { - "numba.np.ufunc.omppool": "'/Users/runner/miniconda3/envs/test/lib/libomp.dylib' (no such file)" + "numba.np.ufunc.omppool": "Reason: no LC_RPATH's found" }, "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl": { "numpy.core._umath_tests": "cannot load _umath_tests module" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de19585..063067d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -77,6 +77,9 @@ importers: '@platforma-open/milaboratories.runenv-python-3.12.10-parapred': specifier: workspace:* version: link:../python-3.12.10-parapred + '@platforma-open/milaboratories.runenv-python-3.12.10-pgen': + specifier: workspace:* + version: link:../python-3.12.10-pgen '@platforma-open/milaboratories.runenv-python-3.12.10-rapids': specifier: workspace:* version: link:../python-3.12.10-rapids @@ -178,6 +181,18 @@ importers: specifier: 'catalog:' version: 4.20.6 + python-3.12.10-pgen: + devDependencies: + '@platforma-sdk/package-builder': + specifier: 'catalog:' + version: 3.10.7 + runenv-python-builder: + specifier: workspace:* + version: link:../builder + tsx: + specifier: 'catalog:' + version: 4.20.6 + python-3.12.10-rapids: devDependencies: '@platforma-sdk/package-builder': diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3d46ac5..e144236 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -11,6 +11,7 @@ packages: - python-3.12.10-humanness - python-3.12.10-torch-cuda - python-3.12.10-clustering + - python-3.12.10-pgen - catalogue catalog: diff --git a/python-3.12.10-pgen/CHANGELOG.md b/python-3.12.10-pgen/CHANGELOG.md new file mode 100644 index 0000000..021d3ec --- /dev/null +++ b/python-3.12.10-pgen/CHANGELOG.md @@ -0,0 +1 @@ +# @platforma-open/milaboratories.runenv-python-3.12.10-pgen diff --git a/python-3.12.10-pgen/README.md b/python-3.12.10-pgen/README.md new file mode 100644 index 0000000..29a6b49 --- /dev/null +++ b/python-3.12.10-pgen/README.md @@ -0,0 +1,3 @@ +Python 3.12.10 run environment for the Generation Probability block (`generation-probability`): `olga` (V(D)J generation-probability computation for CDR3s, including its 10 bundled recombination models) plus `numpy` and `polars-lts-cpu` for Parquet I/O, and transitives. + +Note: olga declares `numba` as a hard dependency (pulling `llvmlite`/LLVM), so these are bundled even though the block only uses olga's pure-NumPy `compute_aa_CDR3_pgen` path, not olga's numba fast-path. macOS-Intel (`macosx-x64`) is intentionally not built — `llvmlite` ships no cp312 wheel for that platform. diff --git a/python-3.12.10-pgen/config.json b/python-3.12.10-pgen/config.json new file mode 100644 index 0000000..7e34f1c --- /dev/null +++ b/python-3.12.10-pgen/config.json @@ -0,0 +1,13 @@ +{ + "packages": { + "dependencies": [ + "olga==1.3.0", + "polars-lts-cpu==1.33.1", + "numpy==2.2.6" + ], + "skip": {}, + "overrides": {}, + "platformSpecific": {}, + "buildWheel": {} + } +} diff --git a/python-3.12.10-pgen/package.json b/python-3.12.10-pgen/package.json new file mode 100644 index 0000000..7a2cda8 --- /dev/null +++ b/python-3.12.10-pgen/package.json @@ -0,0 +1,42 @@ +{ + "name": "@platforma-open/milaboratories.runenv-python-3.12.10-pgen", + "version": "0.1.0", + "description": "Python 3.12.10 run environment for the Generation Probability block (olga for CDR3 generation probability + numpy + polars-lts-cpu)", + "scripts": { + "cleanup": "rm -rf ./pkg-*.tgz ./pydist ./dist/ ./build/", + "reset": "pnpm run cleanup && rm -rf ./node_modules ./.turbo", + "build": "pl-py-builder", + "after-prebuild": "pl-pkg publish packages", + "before-publish": "pl-pkg prepublish" + }, + "files": [ + "dist/" + ], + "block-software": { + "entrypoints": { + "main": { + "environment": { + "artifact": { + "type": "environment", + "runtime": "python", + "registry": "platforma-open", + "python-version": "3.12.10", + "roots": { + "linux-x64": "./pydist/linux-x64", + "linux-aarch64": "./pydist/linux-aarch64", + "macosx-aarch64": "./pydist/macosx-aarch64", + "windows-x64": "./pydist/windows-x64" + }, + "binDir": "bin" + } + } + } + } + }, + "license": "UNLICENSED", + "devDependencies": { + "@platforma-sdk/package-builder": "catalog:", + "runenv-python-builder": "workspace:*", + "tsx": "catalog:" + } +}