pynect 0.2.0 → 0.2.1

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 (200) hide show
  1. package/README.md +62 -35
  2. package/binding.gyp +15 -8
  3. package/dist/cli/codegen.js +2 -2
  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 +9 -10
  7. package/dist/cli/sync.js.map +1 -1
  8. package/dist/config/project.d.ts +61 -5
  9. package/dist/config/project.d.ts.map +1 -1
  10. package/dist/config/project.js +189 -21
  11. package/dist/config/project.js.map +1 -1
  12. package/dist/core/{IsolatedWorker.d.ts → isolated-worker.d.ts} +1 -1
  13. package/dist/core/isolated-worker.d.ts.map +1 -0
  14. package/dist/core/{IsolatedWorker.js → isolated-worker.js} +3 -3
  15. package/dist/core/isolated-worker.js.map +1 -0
  16. package/dist/core/{PyCallable.d.ts → py-callable.d.ts} +2 -2
  17. package/dist/core/py-callable.d.ts.map +1 -0
  18. package/dist/core/{PyCallable.js → py-callable.js} +6 -6
  19. package/dist/core/py-callable.js.map +1 -0
  20. package/dist/core/{PyContext.d.ts → py-context.d.ts} +2 -2
  21. package/dist/core/py-context.d.ts.map +1 -0
  22. package/dist/core/{PyContext.js → py-context.js} +16 -16
  23. package/dist/core/py-context.js.map +1 -0
  24. package/dist/core/{PyIterator.d.ts → py-iterator.d.ts} +2 -2
  25. package/dist/core/py-iterator.d.ts.map +1 -0
  26. package/dist/core/{PyIterator.js → py-iterator.js} +9 -9
  27. package/dist/core/py-iterator.js.map +1 -0
  28. package/dist/core/{PyModule.d.ts → py-module.d.ts} +2 -2
  29. package/dist/core/py-module.d.ts.map +1 -0
  30. package/dist/core/{PyModule.js → py-module.js} +10 -10
  31. package/dist/core/py-module.js.map +1 -0
  32. package/dist/core/{PyProxy.d.ts → py-proxy.d.ts} +1 -1
  33. package/dist/core/py-proxy.d.ts.map +1 -0
  34. package/dist/core/{PyProxy.js → py-proxy.js} +8 -8
  35. package/dist/core/py-proxy.js.map +1 -0
  36. package/dist/core/{PyRuntime.d.ts → py-runtime.d.ts} +6 -5
  37. package/dist/core/py-runtime.d.ts.map +1 -0
  38. package/dist/core/{PyRuntime.js → py-runtime.js} +48 -66
  39. package/dist/core/py-runtime.js.map +1 -0
  40. package/dist/env/{PackageInstaller.d.ts → package-installer.d.ts} +3 -3
  41. package/dist/env/package-installer.d.ts.map +1 -0
  42. package/dist/env/{PackageInstaller.js → package-installer.js} +10 -23
  43. package/dist/env/package-installer.js.map +1 -0
  44. package/dist/env/{ProjectEnvironment.d.ts → project-environment.d.ts} +4 -3
  45. package/dist/env/project-environment.d.ts.map +1 -0
  46. package/dist/env/{ProjectEnvironment.js → project-environment.js} +49 -40
  47. package/dist/env/project-environment.js.map +1 -0
  48. package/dist/env/{PyfigAdapter.d.ts → pyfig-adapter.d.ts} +8 -2
  49. package/dist/env/pyfig-adapter.d.ts.map +1 -0
  50. package/dist/env/{PyfigAdapter.js → pyfig-adapter.js} +1 -1
  51. package/dist/env/pyfig-adapter.js.map +1 -0
  52. package/dist/env/{PythonDetector.d.ts → python-detector.d.ts} +2 -2
  53. package/dist/env/python-detector.d.ts.map +1 -0
  54. package/dist/env/{PythonDetector.js → python-detector.js} +7 -7
  55. package/dist/env/python-detector.js.map +1 -0
  56. package/dist/env/{PythonProvisioner.d.ts → python-provisioner.d.ts} +2 -2
  57. package/dist/env/python-provisioner.d.ts.map +1 -0
  58. package/dist/env/{PythonProvisioner.js → python-provisioner.js} +3 -3
  59. package/dist/env/python-provisioner.js.map +1 -0
  60. package/dist/env/{VenvManager.d.ts → venv-manager.d.ts} +4 -3
  61. package/dist/env/venv-manager.d.ts.map +1 -0
  62. package/dist/env/{VenvManager.js → venv-manager.js} +26 -19
  63. package/dist/env/venv-manager.js.map +1 -0
  64. package/dist/index.d.ts +28 -28
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +84 -83
  67. package/dist/index.js.map +1 -1
  68. package/dist/native/{NativeAddonLoader.d.ts → native-addon-loader.d.ts} +5 -3
  69. package/dist/native/native-addon-loader.d.ts.map +1 -0
  70. package/dist/native/native-addon-loader.js +171 -0
  71. package/dist/native/native-addon-loader.js.map +1 -0
  72. package/dist/plugins/builtin/{NumpyPlugin.d.ts → numpy-plugin.d.ts} +2 -2
  73. package/dist/plugins/builtin/numpy-plugin.d.ts.map +1 -0
  74. package/dist/plugins/builtin/{NumpyPlugin.js → numpy-plugin.js} +5 -5
  75. package/dist/plugins/builtin/numpy-plugin.js.map +1 -0
  76. package/dist/plugins/builtin/{PandasPlugin.d.ts → pandas-plugin.d.ts} +2 -2
  77. package/dist/plugins/builtin/pandas-plugin.d.ts.map +1 -0
  78. package/dist/plugins/builtin/{PandasPlugin.js → pandas-plugin.js} +5 -5
  79. package/dist/plugins/builtin/pandas-plugin.js.map +1 -0
  80. package/dist/plugins/builtin/{TorchPlugin.d.ts → torch-plugin.d.ts} +2 -2
  81. package/dist/plugins/builtin/torch-plugin.d.ts.map +1 -0
  82. package/dist/plugins/builtin/{TorchPlugin.js → torch-plugin.js} +5 -5
  83. package/dist/plugins/builtin/torch-plugin.js.map +1 -0
  84. package/dist/plugins/index.d.ts +6 -6
  85. package/dist/plugins/index.d.ts.map +1 -1
  86. package/dist/plugins/index.js +8 -8
  87. package/dist/plugins/index.js.map +1 -1
  88. package/dist/plugins/{PluginManager.d.ts → plugin-manager.d.ts} +2 -2
  89. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  90. package/dist/plugins/{PluginManager.js → plugin-manager.js} +6 -6
  91. package/dist/plugins/plugin-manager.js.map +1 -0
  92. package/dist/plugins/{Plugin.interface.d.ts → plugin.interface.d.ts} +1 -1
  93. package/dist/plugins/{Plugin.interface.d.ts.map → plugin.interface.d.ts.map} +1 -1
  94. package/dist/plugins/{Plugin.interface.js → plugin.interface.js} +1 -1
  95. package/dist/plugins/plugin.interface.js.map +1 -0
  96. package/dist/serialization/{DataFrameBridge.d.ts → data-frame-bridge.d.ts} +1 -1
  97. package/dist/serialization/data-frame-bridge.d.ts.map +1 -0
  98. package/dist/serialization/{DataFrameBridge.js → data-frame-bridge.js} +3 -3
  99. package/dist/serialization/data-frame-bridge.js.map +1 -0
  100. package/dist/serialization/{MsgPackSerializer.d.ts → msg-pack-serializer.d.ts} +1 -1
  101. package/dist/serialization/msg-pack-serializer.d.ts.map +1 -0
  102. package/dist/serialization/{MsgPackSerializer.js → msg-pack-serializer.js} +3 -3
  103. package/dist/serialization/msg-pack-serializer.js.map +1 -0
  104. package/dist/serialization/{NumpyBridge.d.ts → numpy-bridge.d.ts} +1 -1
  105. package/dist/serialization/numpy-bridge.d.ts.map +1 -0
  106. package/dist/serialization/{NumpyBridge.js → numpy-bridge.js} +3 -3
  107. package/dist/serialization/numpy-bridge.js.map +1 -0
  108. package/dist/serialization/{Serializer.d.ts → serializer.d.ts} +1 -1
  109. package/dist/serialization/{Serializer.d.ts.map → serializer.d.ts.map} +1 -1
  110. package/dist/serialization/{Serializer.js → serializer.js} +9 -9
  111. package/dist/serialization/{Serializer.js.map → serializer.js.map} +1 -1
  112. package/dist/types/config.d.ts +14 -11
  113. package/dist/types/config.d.ts.map +1 -1
  114. package/dist/types/config.js +1 -0
  115. package/dist/types/config.js.map +1 -1
  116. package/dist/utils/{ErrorTranslator.d.ts → error-translator.d.ts} +1 -1
  117. package/dist/utils/error-translator.d.ts.map +1 -0
  118. package/dist/utils/{ErrorTranslator.js → error-translator.js} +1 -1
  119. package/dist/utils/error-translator.js.map +1 -0
  120. package/dist/utils/{Locking.d.ts → locking.d.ts} +1 -1
  121. package/dist/utils/{Locking.d.ts.map → locking.d.ts.map} +1 -1
  122. package/dist/utils/{Locking.js → locking.js} +1 -1
  123. package/dist/utils/{Locking.js.map → locking.js.map} +1 -1
  124. package/dist/utils/{Logger.d.ts → logger.d.ts} +1 -1
  125. package/dist/utils/{Logger.d.ts.map → logger.d.ts.map} +1 -1
  126. package/dist/utils/{Logger.js → logger.js} +1 -1
  127. package/dist/utils/{Logger.js.map → logger.js.map} +1 -1
  128. package/dist/utils/{MemoryMonitor.d.ts → memory-monitor.d.ts} +1 -1
  129. package/dist/utils/memory-monitor.d.ts.map +1 -0
  130. package/dist/utils/{MemoryMonitor.js → memory-monitor.js} +5 -5
  131. package/dist/utils/memory-monitor.js.map +1 -0
  132. package/package.json +3 -2
  133. package/prebuilds/darwin-arm64/pynect-prebuild.json +8 -0
  134. package/prebuilds/darwin-arm64/pynect_addon.node +0 -0
  135. package/prebuilds/darwin-x64/pynect-prebuild.json +8 -0
  136. package/prebuilds/darwin-x64/pynect_addon.node +0 -0
  137. package/prebuilds/linux-arm64/pynect-prebuild.json +9 -0
  138. package/prebuilds/linux-arm64/pynect_addon.node +0 -0
  139. package/prebuilds/linux-x64/pynect-prebuild.json +9 -0
  140. package/prebuilds/linux-x64/pynect_addon.node +0 -0
  141. package/prebuilds/win32-arm64/pynect-prebuild.json +8 -0
  142. package/prebuilds/win32-arm64/pynect_addon.node +0 -0
  143. package/prebuilds/win32-x64/pynect-prebuild.json +8 -0
  144. package/prebuilds/win32-x64/pynect_addon.node +0 -0
  145. package/python/error_handler.py +2 -2
  146. package/python/pynect_runtime.py +3 -3
  147. package/python/serializer.py +3 -3
  148. package/scripts/postinstall.js +1 -1
  149. package/scripts/pyfig.js +16 -1
  150. package/src/native/native-addon-loader.ts +218 -0
  151. package/src/native/python_bridge.cpp +3 -3
  152. package/dist/core/IsolatedWorker.d.ts.map +0 -1
  153. package/dist/core/IsolatedWorker.js.map +0 -1
  154. package/dist/core/PyCallable.d.ts.map +0 -1
  155. package/dist/core/PyCallable.js.map +0 -1
  156. package/dist/core/PyContext.d.ts.map +0 -1
  157. package/dist/core/PyContext.js.map +0 -1
  158. package/dist/core/PyIterator.d.ts.map +0 -1
  159. package/dist/core/PyIterator.js.map +0 -1
  160. package/dist/core/PyModule.d.ts.map +0 -1
  161. package/dist/core/PyModule.js.map +0 -1
  162. package/dist/core/PyProxy.d.ts.map +0 -1
  163. package/dist/core/PyProxy.js.map +0 -1
  164. package/dist/core/PyRuntime.d.ts.map +0 -1
  165. package/dist/core/PyRuntime.js.map +0 -1
  166. package/dist/env/PackageInstaller.d.ts.map +0 -1
  167. package/dist/env/PackageInstaller.js.map +0 -1
  168. package/dist/env/ProjectEnvironment.d.ts.map +0 -1
  169. package/dist/env/ProjectEnvironment.js.map +0 -1
  170. package/dist/env/PyfigAdapter.d.ts.map +0 -1
  171. package/dist/env/PyfigAdapter.js.map +0 -1
  172. package/dist/env/PythonDetector.d.ts.map +0 -1
  173. package/dist/env/PythonDetector.js.map +0 -1
  174. package/dist/env/PythonProvisioner.d.ts.map +0 -1
  175. package/dist/env/PythonProvisioner.js.map +0 -1
  176. package/dist/env/VenvManager.d.ts.map +0 -1
  177. package/dist/env/VenvManager.js.map +0 -1
  178. package/dist/native/NativeAddonLoader.d.ts.map +0 -1
  179. package/dist/native/NativeAddonLoader.js +0 -75
  180. package/dist/native/NativeAddonLoader.js.map +0 -1
  181. package/dist/plugins/Plugin.interface.js.map +0 -1
  182. package/dist/plugins/PluginManager.d.ts.map +0 -1
  183. package/dist/plugins/PluginManager.js.map +0 -1
  184. package/dist/plugins/builtin/NumpyPlugin.d.ts.map +0 -1
  185. package/dist/plugins/builtin/NumpyPlugin.js.map +0 -1
  186. package/dist/plugins/builtin/PandasPlugin.d.ts.map +0 -1
  187. package/dist/plugins/builtin/PandasPlugin.js.map +0 -1
  188. package/dist/plugins/builtin/TorchPlugin.d.ts.map +0 -1
  189. package/dist/plugins/builtin/TorchPlugin.js.map +0 -1
  190. package/dist/serialization/DataFrameBridge.d.ts.map +0 -1
  191. package/dist/serialization/DataFrameBridge.js.map +0 -1
  192. package/dist/serialization/MsgPackSerializer.d.ts.map +0 -1
  193. package/dist/serialization/MsgPackSerializer.js.map +0 -1
  194. package/dist/serialization/NumpyBridge.d.ts.map +0 -1
  195. package/dist/serialization/NumpyBridge.js.map +0 -1
  196. package/dist/utils/ErrorTranslator.d.ts.map +0 -1
  197. package/dist/utils/ErrorTranslator.js.map +0 -1
  198. package/dist/utils/MemoryMonitor.d.ts.map +0 -1
  199. package/dist/utils/MemoryMonitor.js.map +0 -1
  200. package/src/native/NativeAddonLoader.ts +0 -98
package/README.md CHANGED
@@ -15,16 +15,35 @@ Declare application Python dependencies. Pynect's trusted postinstall creates th
15
15
  ```json
16
16
  {
17
17
  "pynect": {
18
- "schemaVersion": 1,
19
- "requiresPython": ">=3.11,<3.13",
20
- "requirements": ["pydantic>=2,<3"]
18
+ "project": {
19
+ "requires-python": ">=3.11,<3.13",
20
+ "dependencies": ["pydantic>=2,<3"]
21
+ }
21
22
  }
22
23
  }
23
24
  ```
24
25
 
26
+ The `pynect` value is a JSON projection of the generated `pyproject.toml`. Omitted
27
+ `schemaVersion` means the latest schema supported by the installed Pynect release.
28
+ The same shape is accepted programmatically:
29
+
30
+ ```ts
31
+ import { init } from 'pynect';
32
+
33
+ await init({
34
+ project: {
35
+ 'requires-python': '>=3.11,<3.13',
36
+ dependencies: ['pydantic>=2,<3'],
37
+ },
38
+ tool: {
39
+ pynect: { autoSync: 'if-missing' },
40
+ },
41
+ });
42
+ ```
43
+
25
44
  When lifecycle scripts are disabled or Pynect is not trusted, run `bunx --bun pynect sync` explicitly.
26
45
 
27
- 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 to create `<project-root>/.venv`, installing its pinned uv and a managed GIL-enabled Python 3.12 when no compatible embeddable CPython exists. When a matching prebuilt addon is unavailable, the first `init()` or `importModule()` compiles it with the active JavaScript runtime from `process.execPath`; a C++ toolchain is still required for that fallback.
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.4 to reuse a compatible application environment or create `<project-root>/node_modules/.pyfig/venv`, installing its pinned uv and a managed GIL-enabled Python 3.12 when no compatible embeddable CPython exists. A matching Python 3.12 prebuild is loaded when available; other Python minors and incompatible platform baselines fall back to compiling with the active JavaScript runtime from `process.execPath` and require a C++ toolchain.
28
47
 
29
48
  ## Quick start
30
49
 
@@ -113,16 +132,16 @@ Pynect and [PyBridge](https://github.com/marcj/pybridge) connect TypeScript and
113
132
 
114
133
  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.
115
134
 
116
- 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. Installation still requires a local C++ build toolchain until prebuilt binaries are available.
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. Supported Python 3.12 platform prebuilds avoid a local compiler; fallback builds still require a C++ toolchain.
117
136
 
118
137
  ## Python and native build
119
138
 
120
- The package loads a matching local N-API addon first. Its build manifest must name the exact interpreter selected by Pyfig; a stale addon built for another Python is rebuilt. If no matching addon works, Pynect lazily builds one against the selected interpreter. The builder is launched with `process.execPath`, so Bun launches Bun and Node.js launches Node.js instead of assuming a `node` command exists. The same approach works with another Node-compatible runtime when it implements the child-process and N-API behavior Pynect needs.
139
+ The package first loads a prebuilt N-API addon whose platform, architecture, Python minor, N-API version, and Linux glibc baseline match the active process. On Linux and macOS, Pynect materializes that addon beside a symlink to the exact `libpython` selected by Pyfig, so the binary does not depend on the CI machine's Python path. It then checks for an exact local build whose manifest names the selected interpreter. If neither addon works, Pynect lazily builds one against that interpreter. The builder is launched with `process.execPath`, so Bun launches Bun and Node.js launches Node.js instead of assuming a `node` command exists. The same approach works with another Node-compatible runtime when it implements the child-process and N-API behavior Pynect needs.
121
140
 
122
141
  ```mermaid
123
142
  graph TD;
124
- A[First runtime initialization] --> B[Pyfig selects repository Python];
125
- B --> C{Exact Python addon loads};
143
+ A[First runtime initialization] --> B[Pyfig selects application Python];
144
+ B --> C{Compatible prebuild or exact local addon loads};
126
145
  C -->|Yes| G[Initialize embedded CPython];
127
146
  C -->|No| D[Launch builder with process execPath];
128
147
  D --> E[Build against selected Python headers and library];
@@ -132,11 +151,11 @@ graph TD;
132
151
 
133
152
  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.
134
153
 
135
- Builds, the embedded runtime, codegen, isolated workers, `pipSpawn`, and `uv pip` all use the same repository-root `.venv` interpreter. `virtualenv.path` is deprecated; when provided for compatibility, it must resolve to that root `.venv`.
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`; 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.
136
155
 
137
156
  ## Locked application environment
138
157
 
139
- One application owns one `.venv` and one `pynect.lock`. Reusable npm packages contribute requirements and exposed modules through their `package.json` without installing anything themselves:
158
+ 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:
140
159
 
141
160
  ```json
142
161
  {
@@ -145,30 +164,37 @@ One application owns one `.venv` and one `pynect.lock`. Reusable npm packages co
145
164
  "pynect": "^0.2.0"
146
165
  },
147
166
  "pynect": {
148
- "schemaVersion": 1,
149
- "requiresPython": ">=3.11,<3.13",
150
- "requirements": ["name-generator>=1,<2"],
151
- "modules": {
152
- "generator": {
153
- "import": "name_generator",
154
- "include": ["generate_name"]
167
+ "project": {
168
+ "requires-python": ">=3.11,<3.13",
169
+ "dependencies": ["name-generator>=1,<2"]
170
+ },
171
+ "tool": {
172
+ "pynect": {
173
+ "modules": {
174
+ "generator": {
175
+ "import": "name_generator",
176
+ "include": ["generate_name"]
177
+ }
178
+ }
155
179
  }
156
180
  }
157
181
  }
158
182
  }
159
183
  ```
160
184
 
161
- `pynect sync` walks the installed npm dependency graph and writes one minimal generated uv project at `.pynect/pyproject.toml`. uv performs dependency resolution, writes its native universal lock, and exactly synchronizes the root `.venv`; 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 manifest hash, lock hash, Python ABI, platform, and contributing packages in `.venv/.pynect-state.json`.
185
+ `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`.
162
186
 
163
- 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 only `schemaVersion`, `requiresPython`, `requirements`, and `modules`; Python selection, installation policy, lockfile placement, indexes, and credentials remain application-owned.
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 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.
164
188
 
165
189
  The root application may resolve a known conflict explicitly without changing a dependency package:
166
190
 
167
191
  ```json
168
192
  {
169
193
  "pynect": {
170
- "overrides": {
171
- "image-lib": ">=2,<3"
194
+ "tool": {
195
+ "uv": {
196
+ "override-dependencies": ["image-lib>=2,<3"]
197
+ }
172
198
  }
173
199
  }
174
200
  }
@@ -187,7 +213,7 @@ console.log(await generator.generate_name());
187
213
 
188
214
  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.
189
215
 
190
- Normal runtime startup validates the lock and environment state without network access. Applications that want development-time repair may opt in with `"autoSync": "if-missing"`; the default is `"never"`. Production and CI should use an explicit frozen sync:
216
+ 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:
191
217
 
192
218
  ```sh
193
219
  bunx --bun pynect sync --frozen
@@ -203,21 +229,22 @@ Pynect's postinstall runs the same sync automatically when a reachable npm packa
203
229
 
204
230
  An application may always keep installation side-effect free and run `pynect sync` explicitly instead.
205
231
 
206
- Configuration precedence is API or CLI, environment, root `package.json`, then default:
232
+ Package and programmatic configuration use the same JSON pyproject projection. Configuration precedence is API or CLI, environment, root `package.json`, then default:
207
233
 
208
234
  | package.json / API | Environment | CLI | Default |
209
235
  | --- | --- | --- | --- |
210
- | `python` | `PYNECT_PYTHON` | `--python` | auto-detect |
211
- | `requiresPython` | `PYNECT_REQUIRES_PYTHON` | `--requires-python` | `>=3.10.0 <4.0.0` |
212
- | `managedPython` | `PYNECT_MANAGED_PYTHON` | `--managed-python` | `3.12` |
213
- | `uvVersion` | `PYNECT_UV_VERSION` | `--uv-version` | Pyfig's pinned release |
214
- | `installPython` | `PYNECT_INSTALL_PYTHON` | `--install-python` | `true` |
215
- | `installUv` | `PYNECT_INSTALL_UV` | `--install-uv` | `true` |
216
- | `createVirtualEnvironment` | `PYNECT_CREATE_VIRTUAL_ENVIRONMENT` | `--create-virtual-environment` | `true` |
217
- | `autoSync` | `PYNECT_AUTO_SYNC` | n/a | `never` |
218
- | `lockfile` | `PYNECT_LOCKFILE` | `--lockfile` | `pynect.lock` |
219
-
220
- `--offline` prohibits network access. `--frozen` passes uv's `--locked` check and refuses to rewrite an outdated lock. The deprecated `PYNECT_AUTO_INSTALL` and runtime `autoInstallPython` names remain compatibility aliases; new configuration should use the names above. Runtime `virtualenv.autoInstall` is no longer supported because independent startup installs cannot resolve the complete npm dependency graph safely.
236
+ | `tool.pynect.python` | `PYNECT_PYTHON` | `--python` | auto-detect |
237
+ | `project["requires-python"]` | `PYNECT_REQUIRES_PYTHON` | `--requires-python` | `>=3.10.0 <4.0.0` |
238
+ | `tool.pynect.managedPython` | `PYNECT_MANAGED_PYTHON` | `--managed-python` | `3.12` |
239
+ | `tool.pynect.uvVersion` | `PYNECT_UV_VERSION` | `--uv-version` | Pyfig's pinned release |
240
+ | `tool.pynect.installPython` | `PYNECT_INSTALL_PYTHON` | `--install-python` | `true` |
241
+ | `tool.pynect.installUv` | `PYNECT_INSTALL_UV` | `--install-uv` | `true` |
242
+ | `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
+
247
+ 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.
221
248
 
222
249
  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.
223
250
 
@@ -228,7 +255,7 @@ Pyfig's managed-tool provisioning uses its own check-lock-check sections:
228
255
  3. Check again.
229
256
  4. Install only if it is still absent.
230
257
 
231
- A C++ build toolchain is still required. On Windows, install Visual Studio Build Tools with the Desktop development with C++ workload. Set `PYNECT_AUTO_INSTALL=0` to prohibit managed Python downloads while still allowing `.venv` 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 root `.venv`, or `PYNECT_PYTHON` to check a specific interpreter first.
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 `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.
232
259
 
233
260
  ## Codegen selection
234
261
 
package/binding.gyp CHANGED
@@ -12,9 +12,6 @@
12
12
  "<!@(node -p \"require('node-addon-api').include\")",
13
13
  "<!(node -p \"process.env.PYNECT_PYTHON_INCLUDE_DIR || (() => { throw new Error('PYNECT_PYTHON_INCLUDE_DIR is required') })()\")"
14
14
  ],
15
- "libraries": [
16
- "<!(node -p \"process.env.PYNECT_PYTHON_LIBRARY || (() => { throw new Error('PYNECT_PYTHON_LIBRARY is required') })()\")"
17
- ],
18
15
  "cflags_cc": [
19
16
  "-std=c++17",
20
17
  "-O2",
@@ -32,22 +29,32 @@
32
29
  "conditions": [
33
30
  ["OS=='linux'", {
34
31
  "cflags_cc": ["-fvisibility=hidden"],
35
- "libraries": ["-ldl"],
32
+ "libraries": [
33
+ "<!(node -p \"process.env.PYNECT_PYTHON_LIBRARY || (() => { throw new Error('PYNECT_PYTHON_LIBRARY is required') })()\")",
34
+ "-ldl"
35
+ ],
36
36
  "ldflags": [
37
- "-Wl,-rpath,<!(node -p \"process.env.PYNECT_PYTHON_LIBRARY_DIR || (() => { throw new Error('PYNECT_PYTHON_LIBRARY_DIR is required') })()\")"
37
+ "-Wl,-rpath,<!(node -p \"process.env.PYNECT_PYTHON_LIBRARY_DIR || (() => { throw new Error('PYNECT_PYTHON_LIBRARY_DIR is required') })()\")",
38
+ "-Wl,-rpath,'$$ORIGIN'",
39
+ "-static-libgcc",
40
+ "-static-libstdc++"
38
41
  ]
39
42
  }],
40
43
  ["OS=='mac'", {
44
+ "libraries": [
45
+ "<!(node -p \"process.env.PYNECT_PYTHON_LIBRARY || (() => { throw new Error('PYNECT_PYTHON_LIBRARY is required') })()\")"
46
+ ],
41
47
  "xcode_settings": {
42
48
  "MACOSX_DEPLOYMENT_TARGET": "11.0",
43
49
  "OTHER_CFLAGS": ["-std=c++17", "-stdlib=libc++"],
44
- "LD_RUNPATH_SEARCH_PATHS": [
45
- "<!(node -p \"process.env.PYNECT_PYTHON_LIBRARY_DIR || (() => { throw new Error('PYNECT_PYTHON_LIBRARY_DIR is required') })()\")"
46
- ],
50
+ "LD_RUNPATH_SEARCH_PATHS": ["@loader_path"],
47
51
  "GCC_ENABLE_CPP_EXCEPTIONS": "YES"
48
52
  }
49
53
  }],
50
54
  ["OS=='win'", {
55
+ "libraries": [
56
+ "<!(node -p \"process.env.PYNECT_PYTHON_LIBRARY || (() => { throw new Error('PYNECT_PYTHON_LIBRARY is required') })()\")"
57
+ ],
51
58
  "msvs_settings": {
52
59
  "VCCLCompilerTool": {
53
60
  "ExceptionHandling": 1,
@@ -8,7 +8,7 @@ const fs_1 = __importDefault(require("fs"));
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const commander_1 = require("commander");
10
10
  const jsonc_parser_1 = require("jsonc-parser");
11
- const PyfigAdapter_1 = require("../env/PyfigAdapter");
11
+ const pyfig_adapter_1 = require("../env/pyfig-adapter");
12
12
  // The package compiles to CommonJS, so keep this import native for ESM-only Pacwich.
13
13
  const importPacwich = new Function('return import("pacwich")');
14
14
  const ROOT = path_1.default.resolve(__dirname, '../..');
@@ -505,7 +505,7 @@ async function executeCodegen(options) {
505
505
  const publicModules = modules.filter(isPublicModule);
506
506
  if (!publicModules.length)
507
507
  throw new Error('No public Python modules were found. Packages and modules beginning with "_" are ignored.');
508
- const { client } = await (0, PyfigAdapter_1.ensurePynectPython)({
508
+ const { client } = await (0, pyfig_adapter_1.ensurePynectPython)({
509
509
  projectRoot: options.workspaceDirectory,
510
510
  });
511
511
  for (const name of publicModules.sort()) {
@@ -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":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAmB5C,wBAAgB,iBAAiB,IAAI,OAAO,CAsC3C"}
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"}
package/dist/cli/sync.js CHANGED
@@ -1,35 +1,33 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.createSyncCommand = createSyncCommand;
7
- const path_1 = __importDefault(require("path"));
8
4
  const commander_1 = require("commander");
9
5
  const project_1 = require("../config/project");
10
- const ProjectEnvironment_1 = require("../env/ProjectEnvironment");
6
+ const project_environment_1 = require("../env/project-environment");
11
7
  function createSyncCommand() {
12
8
  return new commander_1.Command('sync')
13
9
  .description('Resolve and synchronize the application Python environment.')
14
- .option('--project-root <path>', 'application root that owns package.json and .venv')
10
+ .option('--project-root <path>', 'application root that owns package.json')
15
11
  .option('--python <path>', 'preferred base Python executable')
16
12
  .option('--requires-python <range>', 'accepted Python version range')
17
13
  .option('--managed-python <version>', 'managed Python request used as a fallback')
18
14
  .option('--uv-version <version>', 'pinned uv version Pyfig may install')
19
15
  .addOption(booleanOption('--install-python <boolean>', 'allow managed Python installation'))
20
16
  .addOption(booleanOption('--install-uv <boolean>', 'allow uv installation'))
21
- .addOption(booleanOption('--create-virtual-environment <boolean>', 'allow creation of the root .venv'))
17
+ .addOption(booleanOption('--create-virtual-environment <boolean>', 'allow creation of the Pyfig-managed virtual environment'))
22
18
  .option('--lockfile <path>', 'project-relative lockfile path')
19
+ .option('--generated-directory <path>', 'directory for generated pyproject.toml and uv.lock')
23
20
  .option('--frozen', 'use the existing lockfile and reject manifest changes')
24
21
  .option('--offline', 'prohibit network access during resolution and sync')
25
22
  .option('--json', 'print the result as JSON')
26
23
  .action(async (options) => {
27
- const result = await (0, ProjectEnvironment_1.syncProject)(options);
24
+ const result = await (0, project_environment_1.syncProject)(options);
28
25
  if (options.json) {
29
26
  process.stdout.write(`${JSON.stringify({
30
27
  projectRoot: result.plan.config.projectRoot,
31
28
  lockfile: result.lockfile,
32
- environment: path_1.default.dirname(result.plan.stateFile),
29
+ environment: result.state.virtualEnvironment,
30
+ generatedProject: result.plan.generatedDirectory,
33
31
  manifestHash: result.state.manifestHash,
34
32
  requirements: result.plan.requirements.length,
35
33
  contributors: result.state.contributors,
@@ -39,7 +37,8 @@ function createSyncCommand() {
39
37
  process.stdout.write(`Synchronized ${result.plan.requirements.length} Python requirement(s) from ` +
40
38
  `${result.state.contributors.length} package(s).\n` +
41
39
  `Lockfile: ${result.lockfile}\n` +
42
- `Environment: ${path_1.default.dirname(result.plan.stateFile)}\n`);
40
+ `Generated project: ${result.plan.generatedDirectory}\n` +
41
+ `Environment: ${result.state.virtualEnvironment}\n`);
43
42
  });
44
43
  }
45
44
  function booleanOption(flags, description) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":";;;;;AAoBA,8CAsCC;AA1DD,gDAAwB;AACxB,yCAA4C;AAC5C,+CAAiD;AACjD,kEAAwD;AAiBxD,SAAgB,iBAAiB;IAC/B,OAAO,IAAI,mBAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,MAAM,CAAC,uBAAuB,EAAE,mDAAmD,CAAC;SACpF,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,2BAA2B,EAAE,+BAA+B,CAAC;SACpE,MAAM,CAAC,4BAA4B,EAAE,2CAA2C,CAAC;SACjF,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;SACvE,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,kCAAkC,CACnC,CAAC;SACD,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;SAC7D,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,gCAAW,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,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;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,gBAAgB,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CACxD,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":";;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,wBAAwB,EAAE,qCAAqC,CAAC;SACvE,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,24 +1,77 @@
1
1
  export type AutoSyncMode = 'never' | 'if-missing';
2
+ export declare const CURRENT_PYNECT_SCHEMA_VERSION: 1;
2
3
  export interface PynectModuleManifest {
3
4
  import: string;
4
5
  include?: string[];
5
6
  }
7
+ export interface PynectProjectTable {
8
+ name?: string;
9
+ version?: string;
10
+ 'requires-python'?: string;
11
+ dependencies?: string[];
12
+ }
13
+ export interface PynectUvTable {
14
+ package?: false;
15
+ 'override-dependencies'?: string[];
16
+ }
17
+ export interface PynectToolTable {
18
+ modules?: Record<string, PynectModuleManifest>;
19
+ python?: string;
20
+ managedPython?: string;
21
+ uvVersion?: string;
22
+ installPython?: boolean;
23
+ installUv?: boolean;
24
+ createVirtualEnvironment?: boolean;
25
+ autoSync?: AutoSyncMode;
26
+ lockfile?: string;
27
+ generatedDirectory?: string;
28
+ }
29
+ export interface CanonicalPynectPackageManifest {
30
+ schemaVersion: typeof CURRENT_PYNECT_SCHEMA_VERSION;
31
+ project: PynectProjectTable;
32
+ tool: {
33
+ uv: PynectUvTable;
34
+ pynect: PynectToolTable;
35
+ };
36
+ }
6
37
  export interface PynectPackageManifest {
7
- schemaVersion?: 1;
38
+ /** Omit to use the latest schema understood by this Pynect version. */
39
+ schemaVersion?: typeof CURRENT_PYNECT_SCHEMA_VERSION;
40
+ project?: PynectProjectTable;
41
+ tool?: {
42
+ uv?: PynectUvTable;
43
+ pynect?: PynectToolTable;
44
+ };
45
+ /** @deprecated Use project["requires-python"]. */
8
46
  requiresPython?: string;
47
+ /** @deprecated Use project.dependencies. */
9
48
  requirements?: string[];
49
+ /** @deprecated Use tool.uv["override-dependencies"]. */
10
50
  overrides?: Record<string, string>;
51
+ /** @deprecated Use tool.pynect.modules. */
11
52
  modules?: Record<string, PynectModuleManifest>;
53
+ /** @deprecated Use tool.pynect.python. */
12
54
  python?: string;
55
+ /** @deprecated Use tool.pynect.managedPython. */
13
56
  managedPython?: string;
57
+ /** @deprecated Use tool.pynect.uvVersion. */
14
58
  uvVersion?: string;
59
+ /** @deprecated Use tool.pynect.installPython. */
15
60
  installPython?: boolean;
61
+ /** @deprecated Use tool.pynect.installUv. */
16
62
  installUv?: boolean;
63
+ /** @deprecated Use tool.pynect.createVirtualEnvironment. */
17
64
  createVirtualEnvironment?: boolean;
65
+ /** @deprecated Use tool.pynect.autoSync. */
18
66
  autoSync?: AutoSyncMode;
67
+ /** @deprecated Use tool.pynect.lockfile. */
19
68
  lockfile?: string;
69
+ /** @deprecated Use tool.pynect.generatedDirectory. */
70
+ generatedDirectory?: string;
20
71
  }
21
- export interface ProjectConfigOverrides {
72
+ export interface ProjectConfigOverrides extends PynectPackageManifest {
73
+ /** @deprecated Pass project and tool directly. */
74
+ pynect?: PynectPackageManifest;
22
75
  projectRoot?: string;
23
76
  python?: string;
24
77
  requiresPython?: string;
@@ -29,6 +82,7 @@ export interface ProjectConfigOverrides {
29
82
  createVirtualEnvironment?: boolean;
30
83
  autoSync?: AutoSyncMode;
31
84
  lockfile?: string;
85
+ generatedDirectory?: string;
32
86
  env?: Record<string, string | undefined>;
33
87
  }
34
88
  export interface ResolvedProjectConfig {
@@ -43,7 +97,8 @@ export interface ResolvedProjectConfig {
43
97
  createVirtualEnvironment: boolean;
44
98
  autoSync: AutoSyncMode;
45
99
  lockfile: string;
46
- packageManifest: PynectPackageManifest;
100
+ generatedDirectory: string;
101
+ packageManifest: CanonicalPynectPackageManifest;
47
102
  env: NodeJS.ProcessEnv;
48
103
  }
49
104
  /**
@@ -51,7 +106,8 @@ export interface ResolvedProjectConfig {
51
106
  * Precedence is API or CLI overrides, environment, root package.json, then defaults.
52
107
  */
53
108
  export declare function resolveProjectConfig(overrides?: ProjectConfigOverrides): ResolvedProjectConfig;
54
- export declare function readRootPynectManifest(projectRoot: string): PynectPackageManifest;
55
- export declare function validatePackageManifest(value: unknown, source: string): PynectPackageManifest;
109
+ export declare function readRootPynectManifest(projectRoot: string): CanonicalPynectPackageManifest;
110
+ export declare function validatePackageManifest(value: unknown, source: string): CanonicalPynectPackageManifest;
111
+ export declare function resolveInstalledPackageDirectory(fromDirectory: string, packageName: string): string | undefined;
56
112
  export declare function parseBoolean(value: string, name: string): boolean;
57
113
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,YAAY,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB,EAAE,OAAO,CAAC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,qBAAqB,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAcD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,sBAA2B,GACrC,qBAAqB,CAwEvB;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,CAYjF;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,qBAAqB,CAyBvB;AAiDD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjE"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/config/project.ts"],"names":[],"mappings":"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"}