pynect 0.2.7 → 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.
- package/README.md +68 -27
- package/SECURITY.md +6 -6
- package/dist/cli/codegen.d.ts +3 -0
- package/dist/cli/codegen.d.ts.map +1 -1
- package/dist/cli/codegen.js +15 -3
- package/dist/cli/codegen.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +38 -19
- package/dist/cli/sync.js.map +1 -1
- package/dist/config/project.d.ts +8 -52
- package/dist/config/project.d.ts.map +1 -1
- package/dist/config/project.js +74 -121
- package/dist/config/project.js.map +1 -1
- package/dist/core/isolated-worker.js +4 -4
- package/dist/core/isolated-worker.js.map +1 -1
- package/dist/core/py-proxy.d.ts +2 -1
- package/dist/core/py-proxy.d.ts.map +1 -1
- package/dist/core/py-proxy.js +55 -7
- package/dist/core/py-proxy.js.map +1 -1
- package/dist/core/py-runtime.d.ts +1 -5
- package/dist/core/py-runtime.d.ts.map +1 -1
- package/dist/core/py-runtime.js +36 -100
- package/dist/core/py-runtime.js.map +1 -1
- package/dist/core/pynect-callback.d.ts +16 -0
- package/dist/core/pynect-callback.d.ts.map +1 -0
- package/dist/core/pynect-callback.js +52 -0
- package/dist/core/pynect-callback.js.map +1 -0
- package/dist/env/project-environment.d.ts +9 -30
- package/dist/env/project-environment.d.ts.map +1 -1
- package/dist/env/project-environment.js +32 -217
- package/dist/env/project-environment.js.map +1 -1
- package/dist/env/python.d.ts +16 -0
- package/dist/env/python.d.ts.map +1 -0
- package/dist/env/python.js +9 -0
- package/dist/env/python.js.map +1 -0
- package/dist/index.d.ts +8 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -31
- package/dist/index.js.map +1 -1
- package/dist/native/native-addon-loader.d.ts.map +1 -1
- package/dist/native/native-addon-loader.js +15 -5
- package/dist/native/native-addon-loader.js.map +1 -1
- package/dist/types/addon.d.ts +6 -0
- package/dist/types/addon.d.ts.map +1 -1
- package/dist/types/addon.js.map +1 -1
- package/dist/types/config.d.ts +18 -85
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +17 -15
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/python.d.ts +2 -0
- package/dist/types/python.d.ts.map +1 -1
- package/package.json +3 -4
- package/prebuilds/darwin-arm64/pynect-prebuild.json +1 -1
- package/prebuilds/darwin-arm64/pynect_addon.node +0 -0
- package/prebuilds/darwin-x64/pynect-prebuild.json +1 -1
- package/prebuilds/darwin-x64/pynect_addon.node +0 -0
- package/prebuilds/linux-arm64/pynect-prebuild.json +1 -1
- package/prebuilds/linux-arm64/pynect_addon.node +0 -0
- package/prebuilds/linux-x64/pynect-prebuild.json +1 -1
- package/prebuilds/linux-x64/pynect_addon.node +0 -0
- package/prebuilds/win32-arm64/pynect-prebuild.json +1 -1
- package/prebuilds/win32-arm64/pynect_addon.node +0 -0
- package/prebuilds/win32-x64/pynect-prebuild.json +1 -1
- package/prebuilds/win32-x64/pynect_addon.node +0 -0
- package/python/pynect_runtime.py +1 -1
- package/python/type_inspector.py +12 -0
- package/scripts/build-native.js +4 -3
- package/scripts/postinstall.js +2 -2
- package/scripts/python.js +33 -0
- package/scripts/smoke-python-boundary.js +72 -21
- package/src/native/callback_bridge.h +11 -0
- package/src/native/native-addon-loader.ts +13 -4
- package/src/native/pynect_addon.cpp +346 -4
- package/src/native/python_bridge.cpp +12 -0
- package/src/native/python_bridge.h +7 -0
- package/src/native/thread_pool.cpp +62 -55
- package/src/native/thread_pool.h +13 -0
- package/src/native/type_converter.h +2 -0
- package/dist/env/executables.d.ts +0 -3
- package/dist/env/executables.d.ts.map +0 -1
- package/dist/env/executables.js +0 -14
- package/dist/env/executables.js.map +0 -1
- package/dist/env/package-installer.d.ts +0 -232
- package/dist/env/package-installer.d.ts.map +0 -1
- package/dist/env/package-installer.js +0 -615
- package/dist/env/package-installer.js.map +0 -1
- package/dist/env/pyfig-adapter.d.ts +0 -38
- package/dist/env/pyfig-adapter.d.ts.map +0 -1
- package/dist/env/pyfig-adapter.js +0 -10
- package/dist/env/pyfig-adapter.js.map +0 -1
- package/dist/env/python-detector.d.ts +0 -48
- package/dist/env/python-detector.d.ts.map +0 -1
- package/dist/env/python-detector.js +0 -182
- package/dist/env/python-detector.js.map +0 -1
- package/dist/env/python-provisioner.d.ts +0 -16
- package/dist/env/python-provisioner.d.ts.map +0 -1
- package/dist/env/python-provisioner.js +0 -42
- package/dist/env/python-provisioner.js.map +0 -1
- package/dist/env/venv-manager.d.ts +0 -56
- package/dist/env/venv-manager.d.ts.map +0 -1
- package/dist/env/venv-manager.js +0 -160
- package/dist/env/venv-manager.js.map +0 -1
- package/scripts/pyfig.js +0 -142
- 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
|
|
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
|
|
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.
|
|
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
|
|
|
@@ -75,6 +72,51 @@ console.log(await calculator.add(2, 3));
|
|
|
75
72
|
|
|
76
73
|
`importModule()` initializes the shared runtime with defaults on first use and the runtime shuts down automatically when the process finishes. Call `init(config)` first only when custom runtime settings are needed. Call `shutdown()` explicitly only when the application needs to release Python before process exit.
|
|
77
74
|
|
|
75
|
+
## JavaScript callbacks
|
|
76
|
+
|
|
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:
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
from collections.abc import Callable
|
|
81
|
+
|
|
82
|
+
def transform(values: list[int], apply: Callable[[int], int]) -> list[int]:
|
|
83
|
+
return [apply(value) for value in values]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
import { importModule } from 'pynect';
|
|
88
|
+
|
|
89
|
+
const transforms = await importModule('transforms');
|
|
90
|
+
const result = await transforms.transform(
|
|
91
|
+
[1, 2, 3],
|
|
92
|
+
(value: number) => value * 2,
|
|
93
|
+
);
|
|
94
|
+
```
|
|
95
|
+
|
|
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.
|
|
97
|
+
|
|
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.
|
|
99
|
+
|
|
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:
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
await init({ callbacks: { maxDepth: 100 } });
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"pynect": {
|
|
109
|
+
"tool": {
|
|
110
|
+
"pynect": {
|
|
111
|
+
"callbacks": { "maxDepth": 100 }
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
The equivalent environment variable is `PYNECT_CALLBACK_MAX_DEPTH`.
|
|
119
|
+
|
|
78
120
|
## Add Pydantic validation
|
|
79
121
|
|
|
80
122
|
For Python-side normalization and validation, use Pydantic models in a module such as `users.py`:
|
|
@@ -132,7 +174,7 @@ Pynect and [PyBridge](https://github.com/marcj/pybridge) connect TypeScript and
|
|
|
132
174
|
|
|
133
175
|
PyBridge may be a better fit when every call must be process-isolated, or when RxJS generator streaming or Deepkit runtime serialization and reflection matter more than direct in-process access.
|
|
134
176
|
|
|
135
|
-
The main tradeoff is isolation versus integration. Normal Pynect proxy calls avoid subprocess transport and duplicate controller definitions, while its optional JSON-only worker provides hard termination for selected calls.
|
|
177
|
+
The main tradeoff is isolation versus integration. Normal Pynect proxy calls avoid subprocess transport and duplicate controller definitions, while its optional JSON-only worker provides hard termination for selected calls. CPython 3.10+ Stable ABI platform prebuilds avoid a local compiler; fallback builds still require a C++ toolchain.
|
|
136
178
|
|
|
137
179
|
## Python and native build
|
|
138
180
|
|
|
@@ -151,11 +193,11 @@ graph TD;
|
|
|
151
193
|
|
|
152
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.
|
|
153
195
|
|
|
154
|
-
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
|
|
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`.
|
|
155
197
|
|
|
156
|
-
##
|
|
198
|
+
## Application environment
|
|
157
199
|
|
|
158
|
-
One application owns one Pyfig-selected environment
|
|
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:
|
|
159
201
|
|
|
160
202
|
```json
|
|
161
203
|
{
|
|
@@ -182,25 +224,25 @@ One application owns one Pyfig-selected environment and one `pynect.lock`. Reusa
|
|
|
182
224
|
}
|
|
183
225
|
```
|
|
184
226
|
|
|
185
|
-
`pynect sync` walks the installed npm dependency graph
|
|
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.
|
|
186
228
|
|
|
187
|
-
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
|
|
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.
|
|
188
230
|
|
|
189
|
-
|
|
231
|
+
Applications that need a checked-in, pinned resolution can provide a requirements file directly to Pyfig through the root manifest:
|
|
190
232
|
|
|
191
233
|
```json
|
|
192
234
|
{
|
|
193
235
|
"pynect": {
|
|
194
236
|
"tool": {
|
|
195
|
-
"
|
|
196
|
-
"
|
|
237
|
+
"pynect": {
|
|
238
|
+
"requirements": ["requirements.lock"]
|
|
197
239
|
}
|
|
198
240
|
}
|
|
199
241
|
}
|
|
200
242
|
}
|
|
201
243
|
```
|
|
202
244
|
|
|
203
|
-
|
|
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`.
|
|
204
246
|
|
|
205
247
|
Exposed module ids are namespaced by npm package name:
|
|
206
248
|
|
|
@@ -213,10 +255,10 @@ console.log(await generator.generate_name());
|
|
|
213
255
|
|
|
214
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.
|
|
215
257
|
|
|
216
|
-
|
|
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:
|
|
217
259
|
|
|
218
260
|
```sh
|
|
219
|
-
bunx --bun pynect sync --
|
|
261
|
+
bunx --bun pynect sync --offline
|
|
220
262
|
```
|
|
221
263
|
|
|
222
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:
|
|
@@ -236,17 +278,16 @@ Package and programmatic configuration use the same JSON pyproject projection. C
|
|
|
236
278
|
| `tool.pynect.python` | `PYNECT_PYTHON` | `--python` | auto-detect |
|
|
237
279
|
| `project["requires-python"]` | `PYNECT_REQUIRES_PYTHON` | `--requires-python` | `>=3.10.0 <4.0.0` |
|
|
238
280
|
| `tool.pynect.managedPython` | `PYNECT_MANAGED_PYTHON` | `--managed-python` | `3.12` |
|
|
239
|
-
| `
|
|
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` |
|
|
240
284
|
| `tool.pynect.installPython` | `PYNECT_INSTALL_PYTHON` | `--install-python` | `true` |
|
|
241
285
|
| `tool.pynect.installUv` | `PYNECT_INSTALL_UV` | `--install-uv` | `true` |
|
|
242
286
|
| `tool.pynect.createVirtualEnvironment` | `PYNECT_CREATE_VIRTUAL_ENVIRONMENT` | `--create-virtual-environment` | `true` |
|
|
243
|
-
| `tool.pynect.autoSync` | `PYNECT_AUTO_SYNC` | n/a | `never` |
|
|
244
|
-
| `tool.pynect.lockfile` | `PYNECT_LOCKFILE` | `--lockfile` | `pynect.lock` |
|
|
245
|
-
| `tool.pynect.generatedDirectory` | `PYNECT_GENERATED_DIRECTORY` | `--generated-directory` | beside the Pynect install |
|
|
246
287
|
|
|
247
|
-
|
|
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.
|
|
248
289
|
|
|
249
|
-
Pynect uses [loqkit](https://www.npmjs.com/package/loqkit) for JavaScript critical sections.
|
|
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.
|
|
250
291
|
|
|
251
292
|
Pyfig's managed-tool provisioning uses its own check-lock-check sections:
|
|
252
293
|
|
|
@@ -255,7 +296,7 @@ Pyfig's managed-tool provisioning uses its own check-lock-check sections:
|
|
|
255
296
|
3. Check again.
|
|
256
297
|
4. Install only if it is still absent.
|
|
257
298
|
|
|
258
|
-
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 `
|
|
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.
|
|
259
300
|
|
|
260
301
|
## Codegen selection
|
|
261
302
|
|
|
@@ -357,7 +398,6 @@ await init({
|
|
|
357
398
|
validation: 'auto', // auto, required, or off
|
|
358
399
|
},
|
|
359
400
|
allowUnsafeCode: false,
|
|
360
|
-
allowPackageInstall: false,
|
|
361
401
|
includeTracebacks: false,
|
|
362
402
|
});
|
|
363
403
|
```
|
|
@@ -367,7 +407,7 @@ await init({
|
|
|
367
407
|
Defaults are intentionally conservative around dangerous bridge features:
|
|
368
408
|
|
|
369
409
|
- Raw `eval`, `exec`, file execution, contexts, and native-addon access are disabled.
|
|
370
|
-
-
|
|
410
|
+
- Python dependencies are declared before initialization and resolved by Pyfig.
|
|
371
411
|
- Python tracebacks are hidden.
|
|
372
412
|
- Private callables and modules are rejected.
|
|
373
413
|
- Excludes override includes and decorators.
|
|
@@ -466,6 +506,7 @@ Pydantic cannot infer a validation target for an unannotated value, and some ext
|
|
|
466
506
|
- Async Python uses one persistent asyncio loop. CPU-bound work still needs Python multiprocessing or native extensions that release the GIL.
|
|
467
507
|
- Local modules use safe AST inspection, but codegen for explicitly requested installed packages imports those packages and may run their import-time code.
|
|
468
508
|
- The isolated worker is not an operating-system sandbox and supports only JSON-compatible calls, not Python object proxies.
|
|
509
|
+
- JavaScript callbacks are in-process and scoped to the Python call promise; Python code cannot retain them after that promise settles.
|
|
469
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.
|
|
470
511
|
|
|
471
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
|
-
-
|
|
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
|
-
-
|
|
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
|
|
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
|
-
-
|
|
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
|
|
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`
|
|
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
|
|
package/dist/cli/codegen.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
type StringMap = Record<string, string>;
|
|
2
3
|
export declare function createCodegenCommand(name?: string): Command;
|
|
4
|
+
export declare function mapType(raw: unknown, overrides?: StringMap): string;
|
|
5
|
+
export {};
|
|
3
6
|
//# sourceMappingURL=codegen.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/cli/codegen.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAW5C,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAkGxC,wBAAgB,oBAAoB,CAAC,IAAI,SAAY,GAAG,OAAO,CAwB9D;AAyND,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,GAAE,SAAc,GAAG,MAAM,CA2BvE"}
|
package/dist/cli/codegen.js
CHANGED
|
@@ -4,11 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createCodegenCommand = createCodegenCommand;
|
|
7
|
+
exports.mapType = mapType;
|
|
7
8
|
const fs_1 = __importDefault(require("fs"));
|
|
8
9
|
const path_1 = __importDefault(require("path"));
|
|
9
10
|
const commander_1 = require("commander");
|
|
10
11
|
const jsonc_parser_1 = require("jsonc-parser");
|
|
11
|
-
const
|
|
12
|
+
const python_1 = require("../env/python");
|
|
12
13
|
// The package compiles to CommonJS, so keep this import native for ESM-only Pacwich.
|
|
13
14
|
const importPacwich = new Function('return import("pacwich")');
|
|
14
15
|
const ROOT = path_1.default.resolve(__dirname, '../..');
|
|
@@ -297,6 +298,16 @@ function mapType(raw, overrides = {}) {
|
|
|
297
298
|
match = value.match(/^(.+)\s*\|\s*None$/);
|
|
298
299
|
if (match)
|
|
299
300
|
return `${mapType(match[1], overrides)} | null`;
|
|
301
|
+
match = value.match(/^Callable\[\[(.*)\],\s*(.+)]$/);
|
|
302
|
+
if (match) {
|
|
303
|
+
const args = match[1].trim()
|
|
304
|
+
? splitParams(match[1]).map(part => mapType(part, overrides)).join(', ')
|
|
305
|
+
: '';
|
|
306
|
+
return `PynectCallback<[${args}], ${mapType(match[2], overrides)}>`;
|
|
307
|
+
}
|
|
308
|
+
match = value.match(/^Callable\[\.\.\.,\s*(.+)]$/);
|
|
309
|
+
if (match)
|
|
310
|
+
return `PynectCallback<unknown[], ${mapType(match[1], overrides)}>`;
|
|
300
311
|
return /^[A-Za-z_]\w*$/.test(value) ? value : 'PyProxy';
|
|
301
312
|
}
|
|
302
313
|
function params(items, typeOverrides) {
|
|
@@ -341,6 +352,7 @@ function generate(moduleName, inspection, options) {
|
|
|
341
352
|
`declare module 'pynect/${moduleName}' {`,
|
|
342
353
|
` type PyProxy = import('pynect').PyProxy;`,
|
|
343
354
|
` type PynectFunction<F extends (...args: never[]) => Promise<unknown>> = import('pynect').PynectFunction<F>;`,
|
|
355
|
+
` type PynectCallback<A extends unknown[], R> = import('pynect').PynectCallback<A, R>;`,
|
|
344
356
|
];
|
|
345
357
|
for (const x of inspection.constants)
|
|
346
358
|
lines.push(`${doc(x.docstring)} export const ${x.name}: ${mapType(x.type, options.typeOverrides)};`);
|
|
@@ -505,14 +517,14 @@ async function executeCodegen(options) {
|
|
|
505
517
|
const publicModules = modules.filter(isPublicModule);
|
|
506
518
|
if (!publicModules.length)
|
|
507
519
|
throw new Error('No public Python modules were found. Packages and modules beginning with "_" are ignored.');
|
|
508
|
-
const {
|
|
520
|
+
const { runtime } = await (0, python_1.preparePython)({
|
|
509
521
|
projectRoot: options.workspaceDirectory,
|
|
510
522
|
});
|
|
511
523
|
for (const name of publicModules.sort()) {
|
|
512
524
|
const pythonPath = [...options.src, process.env.PYTHONPATH].filter(Boolean).join(path_1.default.delimiter);
|
|
513
525
|
const localPath = localModulePath(name, options.src);
|
|
514
526
|
const inspectorArgs = localPath ? [INSPECTOR, '--file', localPath, name] : [INSPECTOR, name];
|
|
515
|
-
const result =
|
|
527
|
+
const result = runtime.uvSync(['run', '--', 'python', ...inspectorArgs], {
|
|
516
528
|
encoding: 'utf8',
|
|
517
529
|
timeout: 60_000,
|
|
518
530
|
env: { ...process.env, PYTHONPATH: pythonPath },
|
package/dist/cli/codegen.js.map
CHANGED
|
@@ -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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"}
|
package/dist/cli/sync.d.ts.map
CHANGED
|
@@ -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;
|
|
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('
|
|
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
|
|
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
|
|
18
|
-
.option('--
|
|
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)(
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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(`
|
|
38
|
-
`${result.
|
|
39
|
-
`
|
|
40
|
-
`
|
|
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) {
|
package/dist/cli/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
|