@styx-api/core 0.5.1 → 0.5.3
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.
- package/dist/index.cjs +22 -11
- package/dist/index.mjs +22 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/backend/python/emit.ts +8 -2
- package/src/backend/python/packaging.ts +20 -9
- package/src/backend/typescript/emit.ts +8 -2
package/dist/index.cjs
CHANGED
|
@@ -3782,7 +3782,8 @@ function emitMetadata$1(ctx, metaConst, cb) {
|
|
|
3782
3782
|
cb.line(`name=${pyStr(name)},`);
|
|
3783
3783
|
cb.line(`package=${pyStr(pkg)},`);
|
|
3784
3784
|
if (ctx.app?.doc?.literature?.length) cb.line(`citations=[${ctx.app.doc.literature.map(pyStr).join(", ")}],`);
|
|
3785
|
-
|
|
3785
|
+
const containerImage = ctx.package?.docker ?? ctx.app?.container?.image;
|
|
3786
|
+
if (containerImage) cb.line(`container_image_tag=${pyStr(containerImage)},`);
|
|
3786
3787
|
});
|
|
3787
3788
|
cb.line(")");
|
|
3788
3789
|
}
|
|
@@ -4510,14 +4511,22 @@ function generateRootInitPy() {
|
|
|
4510
4511
|
}
|
|
4511
4512
|
/**
|
|
4512
4513
|
* Root `pyproject.toml`: a metapackage depending on `styxkit[all]` (the runner
|
|
4513
|
-
* stack it re-exports) plus each per-suite distribution
|
|
4514
|
-
*
|
|
4515
|
-
*
|
|
4516
|
-
* the
|
|
4517
|
-
*
|
|
4518
|
-
*
|
|
4519
|
-
*
|
|
4520
|
-
*
|
|
4514
|
+
* stack it re-exports) plus each per-suite distribution, pinned to this exact
|
|
4515
|
+
* project version (`niwrap_fsl==1.2.3`). The suites all ride the project version
|
|
4516
|
+
* and ship in lockstep, so an exact pin keeps `pip install niwrap==X` consistent:
|
|
4517
|
+
* during the post-release index-propagation window (or any momentary registry
|
|
4518
|
+
* inconsistency) pip errors cleanly instead of silently grafting an older suite
|
|
4519
|
+
* whose layout no longer matches the metapackage. Mirrors the way the CLI pins
|
|
4520
|
+
* `@styx-api/core` exactly.
|
|
4521
|
+
*
|
|
4522
|
+
* `packages` lists only the metapackage's own module so setuptools ships the
|
|
4523
|
+
* styxkit re-export without sweeping the sibling suite directories into this
|
|
4524
|
+
* distribution. The module is the `<project>/` namespace package the suites nest
|
|
4525
|
+
* into, so installing the metapackage makes `<project>.use_docker()` reachable
|
|
4526
|
+
* alongside the suites' `from <project> import <pkg>`. `moduleDir` is the on-disk
|
|
4527
|
+
* source directory; it differs from the import `moduleName` only when a suite is
|
|
4528
|
+
* named after the project, in which case a `package-dir` remap keeps the import
|
|
4529
|
+
* name intact.
|
|
4521
4530
|
*/
|
|
4522
4531
|
function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
4523
4532
|
const cb = new CodeBuilder(" ");
|
|
@@ -4531,7 +4540,8 @@ function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
|
4531
4540
|
cb.line(`requires-python = "${REQUIRES_PYTHON}"`);
|
|
4532
4541
|
cb.line("dependencies = [");
|
|
4533
4542
|
for (const dep of PYTHON_RUNNER_DEPS) cb.line(` "${dep}",`);
|
|
4534
|
-
|
|
4543
|
+
const suitePin = tomlStr(proj.version ?? "0.0.0");
|
|
4544
|
+
for (const dist of distNames) cb.line(` "${tomlStr(dist)}==${suitePin}",`);
|
|
4535
4545
|
cb.line("]");
|
|
4536
4546
|
cb.blank();
|
|
4537
4547
|
cb.line("[tool.setuptools]");
|
|
@@ -6888,7 +6898,8 @@ function emitMetadata(ctx, metaConst, cb) {
|
|
|
6888
6898
|
cb.line(`name: ${JSON.stringify(name)},`);
|
|
6889
6899
|
cb.line(`package: ${JSON.stringify(pkg)},`);
|
|
6890
6900
|
if (ctx.app?.doc?.literature?.length) cb.line(`citations: ${JSON.stringify(ctx.app.doc.literature)},`);
|
|
6891
|
-
|
|
6901
|
+
const containerImage = ctx.package?.docker ?? ctx.app?.container?.image;
|
|
6902
|
+
if (containerImage) cb.line(`container_image_tag: ${JSON.stringify(containerImage)},`);
|
|
6892
6903
|
});
|
|
6893
6904
|
cb.line("};");
|
|
6894
6905
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -3781,7 +3781,8 @@ function emitMetadata$1(ctx, metaConst, cb) {
|
|
|
3781
3781
|
cb.line(`name=${pyStr(name)},`);
|
|
3782
3782
|
cb.line(`package=${pyStr(pkg)},`);
|
|
3783
3783
|
if (ctx.app?.doc?.literature?.length) cb.line(`citations=[${ctx.app.doc.literature.map(pyStr).join(", ")}],`);
|
|
3784
|
-
|
|
3784
|
+
const containerImage = ctx.package?.docker ?? ctx.app?.container?.image;
|
|
3785
|
+
if (containerImage) cb.line(`container_image_tag=${pyStr(containerImage)},`);
|
|
3785
3786
|
});
|
|
3786
3787
|
cb.line(")");
|
|
3787
3788
|
}
|
|
@@ -4509,14 +4510,22 @@ function generateRootInitPy() {
|
|
|
4509
4510
|
}
|
|
4510
4511
|
/**
|
|
4511
4512
|
* Root `pyproject.toml`: a metapackage depending on `styxkit[all]` (the runner
|
|
4512
|
-
* stack it re-exports) plus each per-suite distribution
|
|
4513
|
-
*
|
|
4514
|
-
*
|
|
4515
|
-
* the
|
|
4516
|
-
*
|
|
4517
|
-
*
|
|
4518
|
-
*
|
|
4519
|
-
*
|
|
4513
|
+
* stack it re-exports) plus each per-suite distribution, pinned to this exact
|
|
4514
|
+
* project version (`niwrap_fsl==1.2.3`). The suites all ride the project version
|
|
4515
|
+
* and ship in lockstep, so an exact pin keeps `pip install niwrap==X` consistent:
|
|
4516
|
+
* during the post-release index-propagation window (or any momentary registry
|
|
4517
|
+
* inconsistency) pip errors cleanly instead of silently grafting an older suite
|
|
4518
|
+
* whose layout no longer matches the metapackage. Mirrors the way the CLI pins
|
|
4519
|
+
* `@styx-api/core` exactly.
|
|
4520
|
+
*
|
|
4521
|
+
* `packages` lists only the metapackage's own module so setuptools ships the
|
|
4522
|
+
* styxkit re-export without sweeping the sibling suite directories into this
|
|
4523
|
+
* distribution. The module is the `<project>/` namespace package the suites nest
|
|
4524
|
+
* into, so installing the metapackage makes `<project>.use_docker()` reachable
|
|
4525
|
+
* alongside the suites' `from <project> import <pkg>`. `moduleDir` is the on-disk
|
|
4526
|
+
* source directory; it differs from the import `moduleName` only when a suite is
|
|
4527
|
+
* named after the project, in which case a `package-dir` remap keeps the import
|
|
4528
|
+
* name intact.
|
|
4520
4529
|
*/
|
|
4521
4530
|
function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
4522
4531
|
const cb = new CodeBuilder(" ");
|
|
@@ -4530,7 +4539,8 @@ function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
|
4530
4539
|
cb.line(`requires-python = "${REQUIRES_PYTHON}"`);
|
|
4531
4540
|
cb.line("dependencies = [");
|
|
4532
4541
|
for (const dep of PYTHON_RUNNER_DEPS) cb.line(` "${dep}",`);
|
|
4533
|
-
|
|
4542
|
+
const suitePin = tomlStr(proj.version ?? "0.0.0");
|
|
4543
|
+
for (const dist of distNames) cb.line(` "${tomlStr(dist)}==${suitePin}",`);
|
|
4534
4544
|
cb.line("]");
|
|
4535
4545
|
cb.blank();
|
|
4536
4546
|
cb.line("[tool.setuptools]");
|
|
@@ -6887,7 +6897,8 @@ function emitMetadata(ctx, metaConst, cb) {
|
|
|
6887
6897
|
cb.line(`name: ${JSON.stringify(name)},`);
|
|
6888
6898
|
cb.line(`package: ${JSON.stringify(pkg)},`);
|
|
6889
6899
|
if (ctx.app?.doc?.literature?.length) cb.line(`citations: ${JSON.stringify(ctx.app.doc.literature)},`);
|
|
6890
|
-
|
|
6900
|
+
const containerImage = ctx.package?.docker ?? ctx.app?.container?.image;
|
|
6901
|
+
if (containerImage) cb.line(`container_image_tag: ${JSON.stringify(containerImage)},`);
|
|
6891
6902
|
});
|
|
6892
6903
|
cb.line("};");
|
|
6893
6904
|
}
|