@styx-api/core 0.5.1 → 0.5.2
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 +18 -9
- package/dist/index.mjs +18 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/backend/python/packaging.ts +20 -9
package/dist/index.cjs
CHANGED
|
@@ -4510,14 +4510,22 @@ function generateRootInitPy() {
|
|
|
4510
4510
|
}
|
|
4511
4511
|
/**
|
|
4512
4512
|
* 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
|
-
*
|
|
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.
|
|
4521
4529
|
*/
|
|
4522
4530
|
function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
4523
4531
|
const cb = new CodeBuilder(" ");
|
|
@@ -4531,7 +4539,8 @@ function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
|
4531
4539
|
cb.line(`requires-python = "${REQUIRES_PYTHON}"`);
|
|
4532
4540
|
cb.line("dependencies = [");
|
|
4533
4541
|
for (const dep of PYTHON_RUNNER_DEPS) cb.line(` "${dep}",`);
|
|
4534
|
-
|
|
4542
|
+
const suitePin = tomlStr(proj.version ?? "0.0.0");
|
|
4543
|
+
for (const dist of distNames) cb.line(` "${tomlStr(dist)}==${suitePin}",`);
|
|
4535
4544
|
cb.line("]");
|
|
4536
4545
|
cb.blank();
|
|
4537
4546
|
cb.line("[tool.setuptools]");
|
package/dist/index.mjs
CHANGED
|
@@ -4509,14 +4509,22 @@ function generateRootInitPy() {
|
|
|
4509
4509
|
}
|
|
4510
4510
|
/**
|
|
4511
4511
|
* 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
|
-
*
|
|
4512
|
+
* stack it re-exports) plus each per-suite distribution, pinned to this exact
|
|
4513
|
+
* project version (`niwrap_fsl==1.2.3`). The suites all ride the project version
|
|
4514
|
+
* and ship in lockstep, so an exact pin keeps `pip install niwrap==X` consistent:
|
|
4515
|
+
* during the post-release index-propagation window (or any momentary registry
|
|
4516
|
+
* inconsistency) pip errors cleanly instead of silently grafting an older suite
|
|
4517
|
+
* whose layout no longer matches the metapackage. Mirrors the way the CLI pins
|
|
4518
|
+
* `@styx-api/core` exactly.
|
|
4519
|
+
*
|
|
4520
|
+
* `packages` lists only the metapackage's own module so setuptools ships the
|
|
4521
|
+
* styxkit re-export without sweeping the sibling suite directories into this
|
|
4522
|
+
* distribution. The module is the `<project>/` namespace package the suites nest
|
|
4523
|
+
* into, so installing the metapackage makes `<project>.use_docker()` reachable
|
|
4524
|
+
* alongside the suites' `from <project> import <pkg>`. `moduleDir` is the on-disk
|
|
4525
|
+
* source directory; it differs from the import `moduleName` only when a suite is
|
|
4526
|
+
* named after the project, in which case a `package-dir` remap keeps the import
|
|
4527
|
+
* name intact.
|
|
4520
4528
|
*/
|
|
4521
4529
|
function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
4522
4530
|
const cb = new CodeBuilder(" ");
|
|
@@ -4530,7 +4538,8 @@ function generateRootPyproject(proj, distNames, moduleName, moduleDir) {
|
|
|
4530
4538
|
cb.line(`requires-python = "${REQUIRES_PYTHON}"`);
|
|
4531
4539
|
cb.line("dependencies = [");
|
|
4532
4540
|
for (const dep of PYTHON_RUNNER_DEPS) cb.line(` "${dep}",`);
|
|
4533
|
-
|
|
4541
|
+
const suitePin = tomlStr(proj.version ?? "0.0.0");
|
|
4542
|
+
for (const dist of distNames) cb.line(` "${tomlStr(dist)}==${suitePin}",`);
|
|
4534
4543
|
cb.line("]");
|
|
4535
4544
|
cb.blank();
|
|
4536
4545
|
cb.line("[tool.setuptools]");
|