pynect 0.2.9 → 0.2.10

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.
Files changed (86) hide show
  1. package/README.md +29 -34
  2. package/SECURITY.md +6 -6
  3. package/dist/cli/codegen.js +3 -3
  4. package/dist/cli/codegen.js.map +1 -1
  5. package/dist/cli/sync.d.ts.map +1 -1
  6. package/dist/cli/sync.js +38 -19
  7. package/dist/cli/sync.js.map +1 -1
  8. package/dist/config/project.d.ts +4 -54
  9. package/dist/config/project.d.ts.map +1 -1
  10. package/dist/config/project.js +56 -123
  11. package/dist/config/project.js.map +1 -1
  12. package/dist/core/isolated-worker.js +4 -4
  13. package/dist/core/isolated-worker.js.map +1 -1
  14. package/dist/core/py-proxy.d.ts +2 -1
  15. package/dist/core/py-proxy.d.ts.map +1 -1
  16. package/dist/core/py-proxy.js +24 -9
  17. package/dist/core/py-proxy.js.map +1 -1
  18. package/dist/core/py-runtime.d.ts +1 -9
  19. package/dist/core/py-runtime.d.ts.map +1 -1
  20. package/dist/core/py-runtime.js +34 -128
  21. package/dist/core/py-runtime.js.map +1 -1
  22. package/dist/core/pynect-callback.d.ts +5 -14
  23. package/dist/core/pynect-callback.d.ts.map +1 -1
  24. package/dist/core/pynect-callback.js +33 -80
  25. package/dist/core/pynect-callback.js.map +1 -1
  26. package/dist/env/project-environment.d.ts +9 -30
  27. package/dist/env/project-environment.d.ts.map +1 -1
  28. package/dist/env/project-environment.js +32 -217
  29. package/dist/env/project-environment.js.map +1 -1
  30. package/dist/env/python.d.ts +16 -0
  31. package/dist/env/python.d.ts.map +1 -0
  32. package/dist/env/python.js +9 -0
  33. package/dist/env/python.js.map +1 -0
  34. package/dist/index.d.ts +8 -29
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +5 -39
  37. package/dist/index.js.map +1 -1
  38. package/dist/types/config.d.ts +8 -85
  39. package/dist/types/config.d.ts.map +1 -1
  40. package/dist/types/config.js +11 -15
  41. package/dist/types/config.js.map +1 -1
  42. package/dist/types/index.d.ts +1 -1
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/index.js.map +1 -1
  45. package/package.json +3 -4
  46. package/prebuilds/darwin-arm64/pynect-prebuild.json +1 -1
  47. package/prebuilds/darwin-arm64/pynect_addon.node +0 -0
  48. package/prebuilds/darwin-x64/pynect-prebuild.json +1 -1
  49. package/prebuilds/darwin-x64/pynect_addon.node +0 -0
  50. package/prebuilds/linux-arm64/pynect-prebuild.json +1 -1
  51. package/prebuilds/linux-x64/pynect-prebuild.json +1 -1
  52. package/prebuilds/win32-arm64/pynect-prebuild.json +1 -1
  53. package/prebuilds/win32-arm64/pynect_addon.node +0 -0
  54. package/prebuilds/win32-x64/pynect-prebuild.json +1 -1
  55. package/prebuilds/win32-x64/pynect_addon.node +0 -0
  56. package/python/pynect_runtime.py +1 -1
  57. package/scripts/build-native.js +4 -3
  58. package/scripts/postinstall.js +2 -2
  59. package/scripts/python.js +33 -0
  60. package/scripts/smoke-python-boundary.js +38 -57
  61. package/dist/env/executables.d.ts +0 -3
  62. package/dist/env/executables.d.ts.map +0 -1
  63. package/dist/env/executables.js +0 -14
  64. package/dist/env/executables.js.map +0 -1
  65. package/dist/env/package-installer.d.ts +0 -232
  66. package/dist/env/package-installer.d.ts.map +0 -1
  67. package/dist/env/package-installer.js +0 -615
  68. package/dist/env/package-installer.js.map +0 -1
  69. package/dist/env/pyfig-adapter.d.ts +0 -38
  70. package/dist/env/pyfig-adapter.d.ts.map +0 -1
  71. package/dist/env/pyfig-adapter.js +0 -10
  72. package/dist/env/pyfig-adapter.js.map +0 -1
  73. package/dist/env/python-detector.d.ts +0 -48
  74. package/dist/env/python-detector.d.ts.map +0 -1
  75. package/dist/env/python-detector.js +0 -182
  76. package/dist/env/python-detector.js.map +0 -1
  77. package/dist/env/python-provisioner.d.ts +0 -16
  78. package/dist/env/python-provisioner.d.ts.map +0 -1
  79. package/dist/env/python-provisioner.js +0 -42
  80. package/dist/env/python-provisioner.js.map +0 -1
  81. package/dist/env/venv-manager.d.ts +0 -56
  82. package/dist/env/venv-manager.d.ts.map +0 -1
  83. package/dist/env/venv-manager.js +0 -160
  84. package/dist/env/venv-manager.js.map +0 -1
  85. package/scripts/pyfig.js +0 -142
  86. package/scripts/python-provisioner.js +0 -23
package/README.md CHANGED
@@ -10,7 +10,7 @@ Python remains responsible for normalization and validation. If Pydantic 1 or 2
10
10
  bun add --trust pynect
11
11
  ```
12
12
 
13
- Declare application Python dependencies. Pynect's trusted postinstall creates the uv project and synchronizes the locked environment:
13
+ Declare application Python dependencies. Pynect's trusted postinstall aggregates reachable package manifests and asks Pyfig to prepare the content-addressed environment:
14
14
 
15
15
  ```json
16
16
  {
@@ -23,7 +23,7 @@ Declare application Python dependencies. Pynect's trusted postinstall creates th
23
23
  }
24
24
  ```
25
25
 
26
- The `pynect` value is a JSON projection of the generated `pyproject.toml`. Omitted
26
+ The `pynect` value mirrors the relevant `pyproject.toml` tables in JSON. Omitted
27
27
  `schemaVersion` means the latest schema supported by the installed Pynect release.
28
28
  The same shape is accepted programmatically:
29
29
 
@@ -35,15 +35,12 @@ await init({
35
35
  'requires-python': '>=3.11,<3.13',
36
36
  dependencies: ['pydantic>=2,<3'],
37
37
  },
38
- tool: {
39
- pynect: { autoSync: 'if-missing' },
40
- },
41
38
  });
42
39
  ```
43
40
 
44
41
  When lifecycle scripts are disabled or Pynect is not trusted, run `bunx --bun pynect sync` explicitly.
45
42
 
46
- Current Bun releases and Node.js 22 or newer are supported. Bun-only systems do not need a `node` executable. A preinstalled Python or uv is also unnecessary: Pynect uses Pyfig 0.6 to reuse a compatible application environment or create `<project-root>/node_modules/.pyfig/venv`, installing compatible uv and managed GIL-enabled Python releases when necessary. One CPython Stable ABI prebuild supports GIL-enabled Python 3.10 and newer on each packaged platform and architecture. Incompatible platform baselines fall back to compiling with the active JavaScript runtime from `process.execPath` and require a C++ toolchain.
43
+ Current Bun releases and Node.js 22 or newer are supported. Bun-only systems do not need a `node` executable. A preinstalled Python or uv is also unnecessary: Pynect uses Pyfig 0.7 to reuse a compatible application environment or create a content-addressed environment below `<project-root>/node_modules/.pyfig/venvs`, installing compatible uv and managed GIL-enabled Python releases when necessary. One CPython Stable ABI prebuild supports GIL-enabled Python 3.10 and newer on each packaged platform and architecture. Incompatible platform baselines fall back to compiling with the active JavaScript runtime from `process.execPath` and require a C++ toolchain.
47
44
 
48
45
  ## Quick start
49
46
 
@@ -77,7 +74,7 @@ console.log(await calculator.add(2, 3));
77
74
 
78
75
  ## JavaScript callbacks
79
76
 
80
- Python `Callable[...]` parameters generate as branded `PynectCallback` values. Create them inside `withCallbacks()` so registrations cannot leak when work succeeds, throws, or is cancelled:
77
+ Python `Callable[...]` parameters generate as `PynectCallback` function types. Pass a synchronous or asynchronous JavaScript function directly; Pynect registers it for that Python call and releases it when the returned promise settles:
81
78
 
82
79
  ```python
83
80
  from collections.abc import Callable
@@ -87,18 +84,18 @@ def transform(values: list[int], apply: Callable[[int], int]) -> list[int]:
87
84
  ```
88
85
 
89
86
  ```ts
90
- import { importModule, withCallbacks } from 'pynect';
87
+ import { importModule } from 'pynect';
91
88
 
92
89
  const transforms = await importModule('transforms');
93
- const result = await withCallbacks(async ctx => {
94
- const double = ctx.callback((value: number) => value * 2);
95
- return transforms.transform([1, 2, 3], double);
96
- });
90
+ const result = await transforms.transform(
91
+ [1, 2, 3],
92
+ (value: number) => value * 2,
93
+ );
97
94
  ```
98
95
 
99
96
  Callback implementations may return a value or a promise. They may also call Python again; while Python waits for JavaScript, the waiting worker releases the GIL and services queued Python work, so reentry remains live even with a one-thread pool. JavaScript errors become Python exceptions and return through the outer call as normal Pynect errors.
100
97
 
101
- Raw JavaScript functions are rejected. A callback is bound to the runtime and becomes invalid when its callback context exits. `callIsolated()` cannot accept callbacks because functions and embedded Python objects do not cross its process boundary.
98
+ The callback is valid only for the Python call receiving it and becomes invalid when that call's promise settles. Python must not retain it for later use. `callIsolated()` cannot accept callbacks because functions and embedded Python objects do not cross its process boundary.
102
99
 
103
100
  Nested callback depth defaults to the embedded interpreter's active `sys.getrecursionlimit()` value, normally 1000. Applications can choose a lower positive ceiling uniformly through API config, the root manifest, or the environment:
104
101
 
@@ -196,11 +193,11 @@ graph TD;
196
193
 
197
194
  Pynect requires Python 3.10 or newer, `Python.h`, a linkable CPython library, and the standard GIL-enabled ABI. It rejects a runtime-only or free-threaded installation instead of compiling against unrelated `python3-config` output. When no compatible interpreter exists, Pyfig downloads the pinned uv archive from Astral's GitHub release, verifies its SHA-256 checksum, and installs managed Python 3.12.
198
195
 
199
- Builds, the embedded runtime, codegen, isolated workers, and uv package operations all use the same Pyfig-selected interpreter. Pyfig reuses a compatible active or root `.venv`; otherwise it creates the application-private `node_modules/.pyfig/venv`. `virtualenv.path` is deprecated and, when provided for compatibility, must resolve to the selected environment.
196
+ Builds, the embedded runtime, codegen, isolated workers, and uv package operations all use the same Pyfig-selected interpreter. Pyfig reuses a compatible active or root `.venv` when no requirements are declared; applications with dependencies use a private content-addressed environment below `node_modules/.pyfig/venvs`.
200
197
 
201
- ## Locked application environment
198
+ ## Application environment
202
199
 
203
- One application owns one Pyfig-selected environment and one `pynect.lock`. Reusable npm packages contribute requirements and exposed modules through their `package.json` without installing anything themselves:
200
+ One application owns one Pyfig-selected environment. Reusable npm packages contribute dependency constraints and exposed modules through their `package.json` without installing anything themselves:
204
201
 
205
202
  ```json
206
203
  {
@@ -227,25 +224,25 @@ One application owns one Pyfig-selected environment and one `pynect.lock`. Reusa
227
224
  }
228
225
  ```
229
226
 
230
- `pynect sync` walks the installed npm dependency graph and writes one minimal generated uv project beside the resolved Pynect installation, normally at `node_modules/.pynect/pyproject.toml`. Hoisted installations add a stable application-specific directory below `.pynect` so workspaces cannot overwrite one another. uv performs dependency resolution, writes its native universal lock, and exactly synchronizes the environment selected by Pyfig; Pynect copies that native lock to the configured `pynect.lock` path for check-in. uv's shared cache avoids repeated downloads across environments. Pynect records the environment path, manifest hash, lock hash, Python ABI, platform, and contributing packages in the generated directory's `.pynect-state.json`.
227
+ `pynect sync` walks the installed npm dependency graph, aggregates `project.dependencies`, and passes them directly to Pyfig 0.7. Pyfig delegates resolution to uv and creates a content-addressed environment whose identity includes the selected interpreter, platform, ABI, and complete resolved dependency hashes. uv's shared cache avoids repeated downloads across environments. Pynect does not generate a pyproject, lockfile, state file, or a second environment identity.
231
228
 
232
- Pynect does not implement a Python package resolver. Conflicts and platform-specific selections are handled by uv, while Pynect adds the npm packages that contributed each top-level requirement to failure output. Dependency manifests may declare `project` dependency metadata and `tool.pynect.modules`; Python selection, installation policy, generated-file and lockfile placement, indexes, and credentials remain application-owned.
229
+ Pynect does not implement a Python package resolver. Conflicts and platform-specific selections are handled by Pyfig and uv, while Pynect adds the npm packages that contributed each top-level dependency to failure output. Dependency manifests may declare `project` dependency metadata and `tool.pynect.modules`; Python selection, requirements files, installation policy, indexes, and credentials remain application-owned.
233
230
 
234
- The root application may resolve a known conflict explicitly without changing a dependency package:
231
+ Applications that need a checked-in, pinned resolution can provide a requirements file directly to Pyfig through the root manifest:
235
232
 
236
233
  ```json
237
234
  {
238
235
  "pynect": {
239
236
  "tool": {
240
- "uv": {
241
- "override-dependencies": ["image-lib>=2,<3"]
237
+ "pynect": {
238
+ "requirements": ["requirements.lock"]
242
239
  }
243
240
  }
244
241
  }
245
242
  }
246
243
  ```
247
244
 
248
- Overrides are emitted as uv's native `tool.uv.override-dependencies` configuration and included in the manifest fingerprint. Configure private indexes with uv's application environment variables such as `UV_DEFAULT_INDEX`; keep credentials outside `package.json`.
245
+ Relative requirements paths resolve from the application root. Configure private indexes with uv's application environment variables such as `UV_DEFAULT_INDEX`; keep credentials outside `package.json`.
249
246
 
250
247
  Exposed module ids are namespaced by npm package name:
251
248
 
@@ -258,10 +255,10 @@ console.log(await generator.generate_name());
258
255
 
259
256
  The aggregated `modules.include` patterns are enforced by the runtime dispatcher. When `include` is omitted, that manifest exposes the module's public callables; application dispatcher includes are additive, and excludes always win.
260
257
 
261
- Normal runtime startup validates the lock and environment state without network access. Applications that want development-time repair may opt in with `"tool": { "pynect": { "autoSync": "if-missing" } }`; the default is `"never"`. Production and CI should use an explicit frozen sync:
258
+ Runtime and `pynect sync` use the same Pyfig options. Production and CI can prepare explicitly, and can combine a pinned requirements file with offline mode when all artifacts are already cached:
262
259
 
263
260
  ```sh
264
- bunx --bun pynect sync --frozen
261
+ bunx --bun pynect sync --offline
265
262
  ```
266
263
 
267
264
  Pynect's postinstall runs the same sync automatically when a reachable npm package contributes a `pynect` manifest. Set `PYNECT_SKIP_POSTINSTALL=1` to opt out. npm users can also use `--ignore-scripts`; Bun users must explicitly trust `pynect` because Bun blocks dependency lifecycle scripts by default:
@@ -281,17 +278,16 @@ Package and programmatic configuration use the same JSON pyproject projection. C
281
278
  | `tool.pynect.python` | `PYNECT_PYTHON` | `--python` | auto-detect |
282
279
  | `project["requires-python"]` | `PYNECT_REQUIRES_PYTHON` | `--requires-python` | `>=3.10.0 <4.0.0` |
283
280
  | `tool.pynect.managedPython` | `PYNECT_MANAGED_PYTHON` | `--managed-python` | `3.12` |
284
- | `tool.pynect.uvVersion` | `PYNECT_REQUIRES_UV` | `--uv-version` | `>=0.10,<1` |
281
+ | `project.dependencies` | n/a | `--dependency` | `[]` |
282
+ | `tool.pynect.requirements` | n/a | `--requirement` | `[]` |
283
+ | `tool.pynect.requiresUv` | `PYNECT_REQUIRES_UV` | `--requires-uv` | `>=0.10,<1` |
285
284
  | `tool.pynect.installPython` | `PYNECT_INSTALL_PYTHON` | `--install-python` | `true` |
286
285
  | `tool.pynect.installUv` | `PYNECT_INSTALL_UV` | `--install-uv` | `true` |
287
286
  | `tool.pynect.createVirtualEnvironment` | `PYNECT_CREATE_VIRTUAL_ENVIRONMENT` | `--create-virtual-environment` | `true` |
288
- | `tool.pynect.autoSync` | `PYNECT_AUTO_SYNC` | n/a | `never` |
289
- | `tool.pynect.lockfile` | `PYNECT_LOCKFILE` | `--lockfile` | `pynect.lock` |
290
- | `tool.pynect.generatedDirectory` | `PYNECT_GENERATED_DIRECTORY` | `--generated-directory` | beside the Pynect install |
291
287
 
292
- Relative generated-directory values resolve from the application root. This lets linked, global, read-only, or nonstandard installations choose a writable runtime location without changing dependency manifests. `--offline` prohibits network access. `--frozen` passes uv's `--locked` check and refuses to rewrite an outdated lock. The deprecated flat package keys, `PYNECT_AUTO_INSTALL`, and runtime `autoInstallPython` name remain compatibility aliases; new configuration should use the nested names above. Runtime `virtualenv.autoInstall` is no longer supported because independent startup installs cannot resolve the complete npm dependency graph safely.
288
+ `--offline` sets uv's offline policy for the complete Pyfig preparation. There are no flat configuration aliases; package.json, programmatic configuration, and CLI overrides all map to the same `project` and `tool.pynect` structure.
293
289
 
294
- Pynect uses [loqkit](https://www.npmjs.com/package/loqkit) for JavaScript critical sections. Project sync and native builds use its default layered memory, worker-thread, and cross-process file locks. Runtime lifecycle and Python garbage collection use memory-scoped locks because those resources belong to one JavaScript process. Pynect does not maintain separate promise, module, inspection, or proxy memo caches; new memoized getters should use loqkit's `memoize` primitive.
290
+ Pynect uses [loqkit](https://www.npmjs.com/package/loqkit) for JavaScript critical sections. Native builds use its layered memory, worker-thread, and cross-process file locks. Runtime lifecycle and Python garbage collection use memory-scoped locks because those resources belong to one JavaScript process. Pyfig owns environment provisioning coordination. Pynect does not maintain separate promise, module, inspection, or proxy memo caches; new memoized getters should use loqkit's `memoize` primitive.
295
291
 
296
292
  Pyfig's managed-tool provisioning uses its own check-lock-check sections:
297
293
 
@@ -300,7 +296,7 @@ Pyfig's managed-tool provisioning uses its own check-lock-check sections:
300
296
  3. Check again.
301
297
  4. Install only if it is still absent.
302
298
 
303
- A C++ build toolchain is required only when no compatible prebuild is available. On Windows, fallback builds need Visual Studio Build Tools with the Desktop development with C++ workload. Set `PYNECT_AUTO_INSTALL=0` to prohibit managed Python downloads while still allowing environment creation from a compatible setup-python or system interpreter. Set `PYNECT_INSTALL_UV=0` to prohibit uv installation, `PYNECT_CREATE_VIRTUAL_ENVIRONMENT=0` to require an existing compatible environment, or `PYNECT_PYTHON` to check a specific interpreter first.
299
+ A C++ build toolchain is required only when no compatible prebuild is available. On Windows, fallback builds need Visual Studio Build Tools with the Desktop development with C++ workload. Set `PYNECT_INSTALL_PYTHON=0` to prohibit managed Python downloads while still allowing environment creation from a compatible setup-python or system interpreter. Set `PYNECT_INSTALL_UV=0` to prohibit uv installation, `PYNECT_CREATE_VIRTUAL_ENVIRONMENT=0` to require an existing compatible environment, or `PYNECT_PYTHON` to check a specific interpreter first.
304
300
 
305
301
  ## Codegen selection
306
302
 
@@ -402,7 +398,6 @@ await init({
402
398
  validation: 'auto', // auto, required, or off
403
399
  },
404
400
  allowUnsafeCode: false,
405
- allowPackageInstall: false,
406
401
  includeTracebacks: false,
407
402
  });
408
403
  ```
@@ -412,7 +407,7 @@ await init({
412
407
  Defaults are intentionally conservative around dangerous bridge features:
413
408
 
414
409
  - Raw `eval`, `exec`, file execution, contexts, and native-addon access are disabled.
415
- - Runtime package installation is disabled.
410
+ - Python dependencies are declared before initialization and resolved by Pyfig.
416
411
  - Python tracebacks are hidden.
417
412
  - Private callables and modules are rejected.
418
413
  - Excludes override includes and decorators.
@@ -511,7 +506,7 @@ Pydantic cannot infer a validation target for an unannotated value, and some ext
511
506
  - Async Python uses one persistent asyncio loop. CPU-bound work still needs Python multiprocessing or native extensions that release the GIL.
512
507
  - Local modules use safe AST inspection, but codegen for explicitly requested installed packages imports those packages and may run their import-time code.
513
508
  - The isolated worker is not an operating-system sandbox and supports only JSON-compatible calls, not Python object proxies.
514
- - JavaScript callbacks are in-process and scoped to `withCallbacks()`; Python code cannot retain them past that scope.
509
+ - JavaScript callbacks are in-process and scoped to the Python call promise; Python code cannot retain them after that promise settles.
515
510
  - The npm package includes CPython 3.10+ Stable ABI prebuilds for Linux, macOS, and Windows on x64 and ARM64. Incompatible platform baselines require a local C++ toolchain for the fallback build; free-threaded Python remains unsupported.
516
511
 
517
512
  See [SECURITY.md](./SECURITY.md) before exposing imports or call patterns to untrusted input.
package/SECURITY.md CHANGED
@@ -5,23 +5,23 @@ Pynect embeds Python in the JavaScript process. Treat every imported module and
5
5
  ## Safe defaults
6
6
 
7
7
  - Raw Python code execution and native-addon access require `allowUnsafeCode: true`.
8
- - Package installation requires `allowPackageInstall: true`.
8
+ - Python dependencies are declared before initialization and resolved by Pyfig.
9
9
  - Tracebacks are hidden unless `includeTracebacks: true`.
10
10
  - Dispatcher include, exclude, type-hint, and export policies are enforced inside the native call path.
11
11
  - Dependency manifests cannot select indexes, credentials, interpreters, or installation policy.
12
12
  - Postinstall synchronization runs only when lifecycle scripts are enabled (and, with Bun, Pynect is trusted); set `PYNECT_SKIP_POSTINSTALL=1` or disable lifecycle scripts to require explicit synchronization.
13
- - Normal runtime startup validates the checked lock and environment fingerprint without installing packages.
13
+ - Runtime and explicit sync use the same Pyfig options and content-addressed environment identity.
14
14
  - Local codegen discovery uses AST parsing and does not execute application modules.
15
15
  - Private module and callable names are rejected; explicit excludes always win.
16
- - Python package specifications and module identifiers are validated before subprocess use.
16
+ - Python dependency specifications and module identifiers are validated before subprocess use.
17
17
  - Pyfig pins uv, downloads only Astral's GitHub release archive, and verifies its SHA-256 checksum before extraction.
18
- - Pynect project sync and native builds use loqkit's layered memory, worker-thread, and cross-process file locks; process-owned runtime and garbage-collection sections use its memory lock.
18
+ - Native builds use loqkit's layered memory, worker-thread, and cross-process file locks; process-owned runtime and garbage-collection sections use its memory lock.
19
19
  - Pyfig and uv retain ownership of their package and managed-tool synchronization.
20
- - uv owns Python dependency resolution and exact environment synchronization through the generated non-package `pyproject.toml`; Pynect does not implement a parallel resolver.
20
+ - Pyfig and uv own Python dependency resolution and content-addressed environment preparation; Pynect does not implement a parallel resolver or lock format.
21
21
 
22
22
  ## Deployment guidance
23
23
 
24
- Use a narrow dispatcher include list, run under a low-privilege operating-system account, and keep `allowUnsafeCode` and `allowPackageInstall` disabled for applications that process untrusted input. Do not let request data select module names, attribute paths, package specifications, Python code, or filesystem paths.
24
+ Use a narrow dispatcher include list, run under a low-privilege operating-system account, and keep `allowUnsafeCode` disabled for applications that process untrusted input. Do not let request data select module names, attribute paths, dependency specifications, Python code, or filesystem paths.
25
25
 
26
26
  Pydantic validates data shapes; it is not a sandbox. Validators and serializers are Python code and must be trusted.
27
27
 
@@ -9,7 +9,7 @@ const fs_1 = __importDefault(require("fs"));
9
9
  const path_1 = __importDefault(require("path"));
10
10
  const commander_1 = require("commander");
11
11
  const jsonc_parser_1 = require("jsonc-parser");
12
- const pyfig_adapter_1 = require("../env/pyfig-adapter");
12
+ const python_1 = require("../env/python");
13
13
  // The package compiles to CommonJS, so keep this import native for ESM-only Pacwich.
14
14
  const importPacwich = new Function('return import("pacwich")');
15
15
  const ROOT = path_1.default.resolve(__dirname, '../..');
@@ -517,14 +517,14 @@ async function executeCodegen(options) {
517
517
  const publicModules = modules.filter(isPublicModule);
518
518
  if (!publicModules.length)
519
519
  throw new Error('No public Python modules were found. Packages and modules beginning with "_" are ignored.');
520
- const { client } = await (0, pyfig_adapter_1.ensurePynectPython)({
520
+ const { runtime } = await (0, python_1.preparePython)({
521
521
  projectRoot: options.workspaceDirectory,
522
522
  });
523
523
  for (const name of publicModules.sort()) {
524
524
  const pythonPath = [...options.src, process.env.PYTHONPATH].filter(Boolean).join(path_1.default.delimiter);
525
525
  const localPath = localModulePath(name, options.src);
526
526
  const inspectorArgs = localPath ? [INSPECTOR, '--file', localPath, name] : [INSPECTOR, name];
527
- const result = client.pythonSync(inspectorArgs, {
527
+ const result = runtime.uvSync(['run', '--', 'python', ...inspectorArgs], {
528
528
  encoding: 'utf8',
529
529
  timeout: 60_000,
530
530
  env: { ...process.env, PYTHONPATH: pythonPath },
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAoB5C,wBAAgB,iBAAiB,IAAI,OAAO,CAyC3C"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAmB5C,wBAAgB,iBAAiB,IAAI,OAAO,CA4D3C"}
package/dist/cli/sync.js CHANGED
@@ -6,39 +6,58 @@ const project_1 = require("../config/project");
6
6
  const project_environment_1 = require("../env/project-environment");
7
7
  function createSyncCommand() {
8
8
  return new commander_1.Command('sync')
9
- .description('Resolve and synchronize the application Python environment.')
9
+ .description('Prepare the application Python environment with Pyfig.')
10
10
  .option('--project-root <path>', 'application root that owns package.json')
11
11
  .option('--python <path>', 'preferred base Python executable')
12
12
  .option('--requires-python <range>', 'accepted Python version range')
13
13
  .option('--managed-python <version>', 'managed Python request used as a fallback')
14
- .option('--uv-version <specifier>', 'PEP 440 uv version specifier Pyfig may install')
14
+ .option('--requires-uv <specifier>', 'PEP 440 uv version specifier Pyfig may install')
15
+ .option('--dependency <specifier...>', 'additional Python dependency specifiers')
16
+ .option('--requirement <path...>', 'requirements files resolved from the application root')
15
17
  .addOption(booleanOption('--install-python <boolean>', 'allow managed Python installation'))
16
18
  .addOption(booleanOption('--install-uv <boolean>', 'allow uv installation'))
17
- .addOption(booleanOption('--create-virtual-environment <boolean>', 'allow creation of the Pyfig-managed virtual environment'))
18
- .option('--lockfile <path>', 'project-relative lockfile path')
19
- .option('--generated-directory <path>', 'directory for generated pyproject.toml and uv.lock')
20
- .option('--frozen', 'use the existing lockfile and reject manifest changes')
21
- .option('--offline', 'prohibit network access during resolution and sync')
19
+ .addOption(booleanOption('--create-virtual-environment <boolean>', 'allow creation of a Pyfig-managed virtual environment'))
20
+ .option('--offline', 'prohibit network access during preparation')
22
21
  .option('--json', 'print the result as JSON')
23
22
  .action(async (options) => {
24
- const result = await (0, project_environment_1.syncProject)(options);
23
+ const result = await (0, project_environment_1.syncProject)({
24
+ projectRoot: options.projectRoot,
25
+ project: {
26
+ 'requires-python': options.requiresPython,
27
+ dependencies: options.dependency,
28
+ },
29
+ tool: {
30
+ pynect: {
31
+ python: options.python,
32
+ managedPython: options.managedPython,
33
+ requiresUv: options.requiresUv,
34
+ requirements: options.requirement,
35
+ installPython: options.installPython,
36
+ installUv: options.installUv,
37
+ createVirtualEnvironment: options.createVirtualEnvironment,
38
+ },
39
+ },
40
+ offline: options.offline,
41
+ });
42
+ const python = result.environment.python;
25
43
  if (options.json) {
26
44
  process.stdout.write(`${JSON.stringify({
27
45
  projectRoot: result.plan.config.projectRoot,
28
- lockfile: result.lockfile,
29
- environment: result.state.virtualEnvironment,
30
- generatedProject: result.plan.generatedDirectory,
31
- manifestHash: result.state.manifestHash,
32
- requirements: result.plan.requirements.length,
33
- contributors: result.state.contributors,
46
+ environment: python.virtualEnvironment,
47
+ python: python.executable,
48
+ dependencies: result.plan.dependencies.length,
49
+ requirements: result.plan.requirements,
50
+ contributors: result.plan.contributions.map(item => ({
51
+ name: item.packageName,
52
+ version: item.packageVersion,
53
+ })),
34
54
  }, null, 2)}\n`);
35
55
  return;
36
56
  }
37
- process.stdout.write(`Synchronized ${result.plan.requirements.length} Python requirement(s) from ` +
38
- `${result.state.contributors.length} package(s).\n` +
39
- `Lockfile: ${result.lockfile}\n` +
40
- `Generated project: ${result.plan.generatedDirectory}\n` +
41
- `Environment: ${result.state.virtualEnvironment}\n`);
57
+ process.stdout.write(`Prepared ${result.plan.dependencies.length} Python dependency constraint(s) from ` +
58
+ `${result.plan.contributions.length} package(s).\n` +
59
+ `Environment: ${python.virtualEnvironment}\n` +
60
+ `Python: ${python.executable}\n`);
42
61
  });
43
62
  }
44
63
  function booleanOption(flags, description) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":";;AAoBA,8CAyCC;AA7DD,yCAA4C;AAC5C,+CAAiD;AACjD,oEAAyD;AAkBzD,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,mBAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;SAC1E,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,2BAA2B,EAAE,+BAA+B,CAAC;SACpE,MAAM,CAAC,4BAA4B,EAAE,2CAA2C,CAAC;SACjF,MAAM,CAAC,0BAA0B,EAAE,gDAAgD,CAAC;SACpF,SAAS,CAAC,aAAa,CAAC,4BAA4B,EAAE,mCAAmC,CAAC,CAAC;SAC3F,SAAS,CAAC,aAAa,CAAC,wBAAwB,EAAE,uBAAuB,CAAC,CAAC;SAC3E,SAAS,CAAC,aAAa,CACtB,wCAAwC,EACxC,yDAAyD,CAC1D,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;SAC7D,MAAM,CAAC,8BAA8B,EAAE,oDAAoD,CAAC;SAC5F,MAAM,CAAC,UAAU,EAAE,uDAAuD,CAAC;SAC3E,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;SACzE,MAAM,CAAC,QAAQ,EAAE,0BAA0B,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAW,EAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;gBACrC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;gBAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB;gBAC5C,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB;gBAChD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;gBACvC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;gBAC7C,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;aACxC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gBAAgB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,8BAA8B;YAC7E,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,gBAAgB;YACnD,aAAa,MAAM,CAAC,QAAQ,IAAI;YAChC,sBAAsB,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI;YACxD,gBAAgB,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,WAAmB;IACvD,OAAO,IAAI,kBAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,sBAAY,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- export type AutoSyncMode = 'never' | 'if-missing';
2
1
  export declare const CURRENT_PYNECT_SCHEMA_VERSION: 1;
3
2
  export declare const PYNECT_REQUIRES_PYTHON = ">=3.10.0 <4.0.0";
4
3
  export interface PynectModuleManifest {
@@ -11,31 +10,24 @@ export interface PynectProjectTable {
11
10
  'requires-python'?: string;
12
11
  dependencies?: string[];
13
12
  }
14
- export interface PynectUvTable {
15
- package?: false;
16
- 'override-dependencies'?: string[];
17
- }
18
13
  export interface PynectCallbackTable {
19
14
  maxDepth?: number;
20
15
  }
21
16
  export interface PynectToolTable {
22
17
  modules?: Record<string, PynectModuleManifest>;
18
+ requirements?: string[];
23
19
  python?: string;
24
20
  managedPython?: string;
25
- uvVersion?: string;
21
+ requiresUv?: string;
26
22
  installPython?: boolean;
27
23
  installUv?: boolean;
28
24
  createVirtualEnvironment?: boolean;
29
- autoSync?: AutoSyncMode;
30
- lockfile?: string;
31
- generatedDirectory?: string;
32
25
  callbacks?: PynectCallbackTable;
33
26
  }
34
27
  export interface CanonicalPynectPackageManifest {
35
28
  schemaVersion: typeof CURRENT_PYNECT_SCHEMA_VERSION;
36
29
  project: PynectProjectTable;
37
30
  tool: {
38
- uv: PynectUvTable;
39
31
  pynect: PynectToolTable;
40
32
  };
41
33
  }
@@ -44,66 +36,24 @@ export interface PynectPackageManifest {
44
36
  schemaVersion?: typeof CURRENT_PYNECT_SCHEMA_VERSION;
45
37
  project?: PynectProjectTable;
46
38
  tool?: {
47
- uv?: PynectUvTable;
48
39
  pynect?: PynectToolTable;
49
40
  };
50
- /** @deprecated Use project["requires-python"]. */
51
- requiresPython?: string;
52
- /** @deprecated Use project.dependencies. */
53
- requirements?: string[];
54
- /** @deprecated Use tool.uv["override-dependencies"]. */
55
- overrides?: Record<string, string>;
56
- /** @deprecated Use tool.pynect.modules. */
57
- modules?: Record<string, PynectModuleManifest>;
58
- /** @deprecated Use tool.pynect.python. */
59
- python?: string;
60
- /** @deprecated Use tool.pynect.managedPython. */
61
- managedPython?: string;
62
- /** @deprecated Use tool.pynect.uvVersion. */
63
- uvVersion?: string;
64
- /** @deprecated Use tool.pynect.installPython. */
65
- installPython?: boolean;
66
- /** @deprecated Use tool.pynect.installUv. */
67
- installUv?: boolean;
68
- /** @deprecated Use tool.pynect.createVirtualEnvironment. */
69
- createVirtualEnvironment?: boolean;
70
- /** @deprecated Use tool.pynect.autoSync. */
71
- autoSync?: AutoSyncMode;
72
- /** @deprecated Use tool.pynect.lockfile. */
73
- lockfile?: string;
74
- /** @deprecated Use tool.pynect.generatedDirectory. */
75
- generatedDirectory?: string;
76
41
  }
77
42
  export interface ProjectConfigOverrides extends PynectPackageManifest {
78
- /** @deprecated Pass project and tool directly. */
79
- pynect?: PynectPackageManifest;
80
43
  projectRoot?: string;
81
- python?: string;
82
- requiresPython?: string;
83
- managedPython?: string;
84
- uvVersion?: string;
85
- installPython?: boolean;
86
- installUv?: boolean;
87
- createVirtualEnvironment?: boolean;
88
- autoSync?: AutoSyncMode;
89
- lockfile?: string;
90
- generatedDirectory?: string;
91
- callbacks?: PynectCallbackTable;
92
44
  env?: Record<string, string | undefined>;
93
45
  }
94
46
  export interface ResolvedProjectConfig {
95
47
  projectRoot: string;
96
48
  python: string;
97
49
  requiresPython: string;
50
+ requirements: string[];
98
51
  managedPython: string;
99
52
  managedPythonExplicit: boolean;
100
- uvVersion: string;
53
+ requiresUv: string;
101
54
  installPython: boolean;
102
55
  installUv: boolean;
103
56
  createVirtualEnvironment: boolean;
104
- autoSync: AutoSyncMode;
105
- lockfile: string;
106
- generatedDirectory: string;
107
57
  callbackMaxDepth?: number;
108
58
  packageManifest: CanonicalPynectPackageManifest;
109
59
  env: NodeJS.ProcessEnv;
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,6BAA6B,EAAG,CAAU,CAAC;AACxD,eAAO,MAAM,sBAAsB,oBAAoB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,MAAM,WAAW,8BAA8B;IAC7C,aAAa,EAAE,OAAO,6BAA6B,CAAC;IACpD,OAAO,EAAE,kBAAkB,CAAC;IAC5B,IAAI,EAAE;QACJ,MAAM,EAAE,eAAe,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,6BAA6B,CAAC;IACrD,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,eAAe,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,8BAA8B,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAYD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,sBAA2B,GACrC,qBAAqB,CAgHvB;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,8BAA8B,CAY1F;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,8BAA8B,CAkDhC;AAuFD,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CASpB;AAcD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjE"}