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
@@ -216,8 +216,8 @@ export declare class PackageInstaller extends EventEmitter {
216
216
  private _parsePipShow;
217
217
  }
218
218
  /**
219
- * Create an installer seeded from a system Python, but always target the
220
- * repository-root .venv selected by Pyfig.
219
+ * Create an installer seeded from a system Python, while targeting the
220
+ * application environment selected by Pyfig.
221
221
  */
222
222
  export declare function createSystemInstaller(options?: Partial<Omit<PackageInstallerOptions, 'pythonExecutable'>>): PackageInstaller;
223
223
  /**
@@ -229,4 +229,4 @@ export declare function createVenvInstaller(venvDir: string, options?: Partial<O
229
229
  * Exposed for testing and introspection.
230
230
  */
231
231
  export { resolveImportName, extractPackageName, INSTALL_TO_IMPORT };
232
- //# sourceMappingURL=PackageInstaller.d.ts.map
232
+ //# sourceMappingURL=package-installer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-installer.d.ts","sourceRoot":"","sources":["../../src/env/package-installer.ts"],"names":[],"mappings":"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"}
@@ -70,10 +70,10 @@ exports.extractPackageName = extractPackageName;
70
70
  const events_1 = require("events");
71
71
  const fs = __importStar(require("fs"));
72
72
  const path = __importStar(require("path"));
73
- const Logger_1 = require("../utils/Logger");
73
+ const logger_1 = require("../utils/logger");
74
74
  const executables_1 = require("./executables");
75
- const PyfigAdapter_1 = require("./PyfigAdapter");
76
- const logger = new Logger_1.Logger('PackageInstaller');
75
+ const pyfig_adapter_1 = require("./pyfig-adapter");
76
+ const logger = new logger_1.Logger('PackageInstaller');
77
77
  // Import-name alias table
78
78
  // Maps pip install name -> Python import name.
79
79
  // Only entries that differ from the install name need to be listed here.
@@ -249,7 +249,7 @@ class PackageInstaller extends events_1.EventEmitter {
249
249
  quiet: options.quiet !== false,
250
250
  upgrade: options.upgrade ?? false,
251
251
  };
252
- this._pyfig = (0, PyfigAdapter_1.createPynectPyfig)({
252
+ this._pyfig = (0, pyfig_adapter_1.createPynectPyfig)({
253
253
  projectRoot: this._opts.cwd,
254
254
  pythonPath: options.pythonExecutable,
255
255
  env: this._opts.env,
@@ -339,7 +339,7 @@ class PackageInstaller extends events_1.EventEmitter {
339
339
  return;
340
340
  }
341
341
  packages.forEach(executables_1.assertPythonPackageSpec);
342
- const args = ['uninstall', '-y', ...packages];
342
+ const args = ['uninstall', ...packages];
343
343
  logger.info(`Uninstalling: ${packages.join(', ')}`);
344
344
  const result = this._pyfig.pipSync(args, {
345
345
  encoding: 'utf8',
@@ -424,16 +424,7 @@ class PackageInstaller extends events_1.EventEmitter {
424
424
  * Ensure pip itself is up-to-date.
425
425
  */
426
426
  async upgradePip() {
427
- logger.info('Upgrading pip...');
428
- const args = ['install', '--upgrade', 'pip'];
429
- const r = this._pyfig.pipSync(args, {
430
- encoding: 'utf8',
431
- cwd: this._opts.cwd,
432
- env: { ...process.env, ...this._opts.env },
433
- });
434
- if (r.status !== 0) {
435
- logger.warn(`pip self-upgrade failed (non-fatal):\n${r.stderr}`);
436
- }
427
+ logger.debug('Pyfig uses uv directly; there is no environment-local pip to upgrade.');
437
428
  }
438
429
  // Private helpers
439
430
  /**
@@ -467,7 +458,6 @@ class PackageInstaller extends events_1.EventEmitter {
467
458
  args.push('--pre');
468
459
  }
469
460
  args.push('--no-warn-script-location');
470
- args.push('--disable-pip-version-check');
471
461
  if (this._opts.indexUrl) {
472
462
  args.push('--index-url', this._opts.indexUrl);
473
463
  }
@@ -599,8 +589,8 @@ class PackageInstaller extends events_1.EventEmitter {
599
589
  exports.PackageInstaller = PackageInstaller;
600
590
  // Factory helpers
601
591
  /**
602
- * Create an installer seeded from a system Python, but always target the
603
- * repository-root .venv selected by Pyfig.
592
+ * Create an installer seeded from a system Python, while targeting the
593
+ * application environment selected by Pyfig.
604
594
  */
605
595
  function createSystemInstaller(options) {
606
596
  const python = process.env['PYNECT_PYTHON'] ?? '';
@@ -610,9 +600,6 @@ function createSystemInstaller(options) {
610
600
  * Create a PackageInstaller tied to a specific virtualenv directory.
611
601
  */
612
602
  function createVenvInstaller(venvDir, options) {
613
- if (path.basename(path.resolve(venvDir)).toLowerCase() !== '.venv') {
614
- throw new Error('Pynect only supports a repository-root .venv directory.');
615
- }
616
603
  const bin = process.platform === 'win32'
617
604
  ? path.join(venvDir, 'Scripts', 'python.exe')
618
605
  : path.join(venvDir, 'bin', 'python');
@@ -621,8 +608,8 @@ function createVenvInstaller(venvDir, options) {
621
608
  }
622
609
  return new PackageInstaller({
623
610
  pythonExecutable: bin,
624
- cwd: path.dirname(path.resolve(venvDir)),
611
+ cwd: options?.cwd ?? process.cwd(),
625
612
  ...options,
626
613
  });
627
614
  }
628
- //# sourceMappingURL=PackageInstaller.js.map
615
+ //# sourceMappingURL=package-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-installer.js","sourceRoot":"","sources":["../../src/env/package-installer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { type PynectModuleManifest, type PynectPackageManifest, type ProjectConfigOverrides, type ResolvedProjectConfig } from '../config/project';
1
+ import { type CanonicalPynectPackageManifest, type PynectModuleManifest, type ProjectConfigOverrides, type ResolvedProjectConfig } from '../config/project';
2
2
  export interface PynectContribution {
3
3
  packageName: string;
4
4
  packageVersion: string;
5
5
  packageRoot: string;
6
- manifest: PynectPackageManifest;
6
+ manifest: CanonicalPynectPackageManifest;
7
7
  root: boolean;
8
8
  }
9
9
  export interface ExposedModule extends PynectModuleManifest {
@@ -34,6 +34,7 @@ export interface PynectEnvironmentState {
34
34
  lockHash: string;
35
35
  pythonVersion: string;
36
36
  pythonExecutable: string;
37
+ virtualEnvironment: string;
37
38
  pythonAbi: string;
38
39
  platform: NodeJS.Platform;
39
40
  architecture: string;
@@ -60,4 +61,4 @@ export declare function requiresProjectSync(plan: PynectProjectPlan): boolean;
60
61
  export declare function moduleDispatcherIncludes(plan: PynectProjectPlan): string[];
61
62
  export declare function resolveExposedModule(id: string, projectRoot?: string): ExposedModule | undefined;
62
63
  export declare function renderUvProject(plan: PynectProjectPlan): string;
63
- //# sourceMappingURL=ProjectEnvironment.d.ts.map
64
+ //# sourceMappingURL=project-environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-environment.d.ts","sourceRoot":"","sources":["../../src/env/project-environment.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,8BAA8B,CAAC;IACzC,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,oBAAoB;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,YAAY,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,sBAAsB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,sBAA2B,GACrC,iBAAiB,CAoEnB;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA+CrF;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiB9F;AAuED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,iBAAiB,GAAG,sBAAsB,CA2B1F;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAEpE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAS1E;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,WAAW,CAAC,EAAE,MAAM,GACnB,aAAa,GAAG,SAAS,CAG3B;AAOD,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAwB/D"}
@@ -16,39 +16,38 @@ const fs_1 = __importDefault(require("fs"));
16
16
  const path_1 = __importDefault(require("path"));
17
17
  const semver_1 = __importDefault(require("semver"));
18
18
  const project_1 = require("../config/project");
19
- const PyfigAdapter_1 = require("./PyfigAdapter");
20
- const Locking_1 = require("../utils/Locking");
21
- const GENERATED_DIRECTORY = '.pynect';
19
+ const pyfig_adapter_1 = require("./pyfig-adapter");
20
+ const locking_1 = require("../utils/locking");
22
21
  const PYPROJECT_FILE = 'pyproject.toml';
23
22
  const UV_LOCK_FILE = 'uv.lock';
24
23
  const MODULES_FILE = 'modules.json';
25
24
  const STATE_FILE = '.pynect-state.json';
26
- const TRANSITIVE_KEYS = new Set(['schemaVersion', 'requiresPython', 'requirements', 'modules']);
27
25
  function createProjectPlan(overrides = {}) {
28
26
  let config = (0, project_1.resolveProjectConfig)(overrides);
29
27
  const contributions = discoverPynectContributions(config.projectRoot);
30
- const requirements = contributions.flatMap(contribution => (contribution.manifest.requirements ?? []).map(requirement => ({
28
+ const manifestFor = (contribution) => contribution.root ? config.packageManifest : contribution.manifest;
29
+ const requirements = contributions.flatMap(contribution => (manifestFor(contribution).project.dependencies ?? []).map(requirement => ({
31
30
  requirement,
32
31
  packageName: contribution.packageName,
33
32
  })));
34
33
  const modules = {};
35
34
  for (const contribution of contributions) {
36
- for (const [alias, module] of Object.entries(contribution.manifest.modules ?? {})) {
35
+ for (const [alias, module] of Object.entries(manifestFor(contribution).tool.pynect.modules ?? {})) {
37
36
  const id = `${contribution.packageName}:${alias}`;
38
37
  if (modules[id])
39
38
  throw new Error(`Duplicate Pynect module id: ${id}`);
40
39
  modules[id] = { ...module, id, packageName: contribution.packageName };
41
40
  }
42
41
  }
43
- const requirementOverrides = Object.entries(config.packageManifest.overrides ?? {})
44
- .map(([distribution, constraint]) => `${distribution}${constraint}`)
45
- .sort();
42
+ const requirementOverrides = [
43
+ ...(config.packageManifest.tool.uv['override-dependencies'] ?? []),
44
+ ].sort();
46
45
  const pythonConstraints = [
47
46
  { range: config.requiresPython, packageName: '<application>' },
48
47
  ...contributions
49
- .filter(contribution => !contribution.root && contribution.manifest.requiresPython)
48
+ .filter(contribution => !contribution.root && contribution.manifest.project['requires-python'])
50
49
  .map(contribution => ({
51
- range: contribution.manifest.requiresPython,
50
+ range: contribution.manifest.project['requires-python'],
52
51
  packageName: contribution.packageName,
53
52
  })),
54
53
  ];
@@ -58,13 +57,17 @@ function createProjectPlan(overrides = {}) {
58
57
  }
59
58
  const manifestHash = sha256(stableJson({
60
59
  schemaVersion: 1,
60
+ project: {
61
+ name: config.packageManifest.project.name,
62
+ version: config.packageManifest.project.version,
63
+ },
61
64
  pythonRange,
62
65
  pythonRequirement,
63
66
  requirements: [...requirements].sort(compareRequirements),
64
67
  overrides: requirementOverrides,
65
68
  modules,
66
69
  }));
67
- const generatedDirectory = path_1.default.join(config.projectRoot, GENERATED_DIRECTORY);
70
+ const generatedDirectory = config.generatedDirectory;
68
71
  return {
69
72
  config,
70
73
  contributions,
@@ -78,7 +81,7 @@ function createProjectPlan(overrides = {}) {
78
81
  pyprojectFile: path_1.default.join(generatedDirectory, PYPROJECT_FILE),
79
82
  generatedLockfile: path_1.default.join(generatedDirectory, UV_LOCK_FILE),
80
83
  modulesFile: path_1.default.join(generatedDirectory, MODULES_FILE),
81
- stateFile: path_1.default.join(config.projectRoot, '.venv', STATE_FILE),
84
+ stateFile: path_1.default.join(generatedDirectory, STATE_FILE),
82
85
  };
83
86
  }
84
87
  function discoverPynectContributions(projectRoot) {
@@ -94,9 +97,9 @@ function discoverPynectContributions(projectRoot) {
94
97
  if (visited.has(realDirectory))
95
98
  continue;
96
99
  visited.add(realDirectory);
97
- if (current.packageJson.pynect !== undefined) {
100
+ if (current.root || current.packageJson.pynect !== undefined) {
98
101
  const packagePath = path_1.default.join(current.directory, 'package.json');
99
- const manifest = (0, project_1.validatePackageManifest)(current.packageJson.pynect, packagePath);
102
+ const manifest = (0, project_1.validatePackageManifest)(current.packageJson.pynect ?? {}, packagePath);
100
103
  if (!current.root)
101
104
  assertTransitiveManifest(manifest, current.packageJson.name, packagePath);
102
105
  contributions.push({
@@ -113,7 +116,7 @@ function discoverPynectContributions(projectRoot) {
113
116
  ...(current.root ? current.packageJson.devDependencies : {}),
114
117
  }).sort();
115
118
  for (const dependencyName of dependencyNames) {
116
- const directory = resolveInstalledPackage(current.directory, dependencyName);
119
+ const directory = (0, project_1.resolveInstalledPackageDirectory)(current.directory, dependencyName);
117
120
  if (!directory)
118
121
  continue;
119
122
  queue.push({
@@ -129,7 +132,7 @@ function discoverPynectContributions(projectRoot) {
129
132
  async function syncProject(options = {}) {
130
133
  const plan = createProjectPlan(options);
131
134
  fs_1.default.mkdirSync(plan.generatedDirectory, { recursive: true });
132
- const locked = await (0, Locking_1.withPynectLock)({ projectRoot: plan.config.projectRoot }, async () => syncProjectUnlocked(plan, options), undefined, {
135
+ const locked = await (0, locking_1.withPynectLock)({ projectRoot: plan.config.projectRoot }, async () => syncProjectUnlocked(plan, options), undefined, {
133
136
  key: `pynect-sync:${normalizedPath(plan.config.projectRoot)}`,
134
137
  name: 'Pynect project sync',
135
138
  namespace: 'pynect',
@@ -143,7 +146,7 @@ async function syncProjectUnlocked(plan, options) {
143
146
  writeGeneratedProject(plan);
144
147
  if (options.frozen)
145
148
  stageFrozenLock(plan);
146
- const client = (0, PyfigAdapter_1.createPynectPyfig)({
149
+ const client = (0, pyfig_adapter_1.createPynectPyfig)({
147
150
  projectRoot: plan.config.projectRoot,
148
151
  pythonPath: plan.config.python,
149
152
  pythonRange: plan.pythonRange,
@@ -155,7 +158,16 @@ async function syncProjectUnlocked(plan, options) {
155
158
  env: plan.config.env,
156
159
  });
157
160
  const environment = await client.prepare();
158
- const syncArgs = ['sync', '--project', plan.generatedDirectory, '--no-dev'];
161
+ if (!environment.python.virtualEnvironment) {
162
+ throw new Error('Pyfig did not select a virtual environment for Pynect synchronization.');
163
+ }
164
+ const syncArgs = [
165
+ 'sync',
166
+ '--project',
167
+ plan.generatedDirectory,
168
+ '--no-dev',
169
+ '--active',
170
+ ];
159
171
  if (options.frozen)
160
172
  syncArgs.push('--locked');
161
173
  if (options.offline)
@@ -164,7 +176,7 @@ async function syncProjectUnlocked(plan, options) {
164
176
  cwd: plan.config.projectRoot,
165
177
  env: {
166
178
  ...plan.config.env,
167
- UV_PROJECT_ENVIRONMENT: path_1.default.join(plan.config.projectRoot, '.venv'),
179
+ VIRTUAL_ENV: environment.python.virtualEnvironment,
168
180
  },
169
181
  }));
170
182
  if (synced.code !== 0) {
@@ -180,6 +192,7 @@ async function syncProjectUnlocked(plan, options) {
180
192
  lockHash,
181
193
  pythonVersion: python.version,
182
194
  pythonExecutable: python.executable,
195
+ virtualEnvironment: environment.python.virtualEnvironment,
183
196
  pythonAbi: `${python.implementation}-${python.version}-${python.architecture}-${python.pointerBits}`,
184
197
  platform: process.platform,
185
198
  architecture: process.arch,
@@ -216,9 +229,8 @@ function validateProjectEnvironment(plan) {
216
229
  if (state.platform !== process.platform || state.architecture !== process.arch) {
217
230
  throw staleEnvironmentError(plan, 'environment was synchronized for another platform');
218
231
  }
219
- const expectedPython = path_1.default.join(plan.config.projectRoot, '.venv', process.platform === 'win32' ? 'Scripts' : 'bin', process.platform === 'win32' ? 'python.exe' : 'python');
220
- if (!fs_1.default.existsSync(state.pythonExecutable) || !pathsEqual(state.pythonExecutable, expectedPython)) {
221
- throw staleEnvironmentError(plan, 'recorded Python executable is missing or outside the root .venv');
232
+ if (!state.virtualEnvironment || !fs_1.default.existsSync(state.pythonExecutable)) {
233
+ throw staleEnvironmentError(plan, 'recorded Python environment is missing');
222
234
  }
223
235
  return state;
224
236
  }
@@ -243,11 +255,12 @@ function writeGeneratedProject(plan) {
243
255
  }
244
256
  function renderUvProject(plan) {
245
257
  const requirements = [...new Set(plan.requirements.map(item => item.requirement))].sort();
258
+ const project = plan.config.packageManifest.project;
246
259
  const lines = [
247
- '# Generated by Pynect. Declare dependencies in package.json, not here.',
260
+ '# Generated by Pynect. Configure package.json#pynect or the Pynect API, not this file.',
248
261
  '[project]',
249
- 'name = "pynect-environment"',
250
- 'version = "0.0.0"',
262
+ `name = ${JSON.stringify(project.name ?? 'pynect-environment')}`,
263
+ `version = ${JSON.stringify(project.version ?? '0.0.0')}`,
251
264
  `requires-python = ${JSON.stringify(plan.pythonRequirement)}`,
252
265
  'dependencies = [',
253
266
  ...requirements.map(requirement => ` ${JSON.stringify(requirement)},`),
@@ -279,7 +292,15 @@ function staleEnvironmentError(plan, detail) {
279
292
  `from ${plan.config.projectRoot}.`);
280
293
  }
281
294
  function assertTransitiveManifest(manifest, packageName, source) {
282
- const policyKeys = Object.keys(manifest).filter(key => !TRANSITIVE_KEYS.has(key));
295
+ const policyKeys = [
296
+ ...Object.keys(manifest.tool.pynect)
297
+ .filter(key => key !== 'modules' &&
298
+ manifest.tool.pynect[key] !== undefined)
299
+ .map(key => `tool.pynect.${key}`),
300
+ ...Object.keys(manifest.tool.uv)
301
+ .filter(key => key !== 'package' && manifest.tool.uv[key] !== undefined)
302
+ .map(key => `tool.uv.${key}`),
303
+ ];
283
304
  if (policyKeys.length > 0) {
284
305
  throw new TypeError(`${source}: transitive package ${packageName} cannot set application policy: ` +
285
306
  policyKeys.join(', '));
@@ -324,18 +345,6 @@ function readPackage(packagePath) {
324
345
  version: typeof value['version'] === 'string' ? value['version'] : '0.0.0',
325
346
  };
326
347
  }
327
- function resolveInstalledPackage(fromDirectory, packageName) {
328
- let current = path_1.default.resolve(fromDirectory);
329
- while (true) {
330
- const candidate = path_1.default.join(current, 'node_modules', ...packageName.split('/'));
331
- if (fs_1.default.existsSync(path_1.default.join(candidate, 'package.json')))
332
- return candidate;
333
- const parent = path_1.default.dirname(current);
334
- if (parent === current)
335
- return undefined;
336
- current = parent;
337
- }
338
- }
339
348
  async function runChild(child) {
340
349
  return new Promise((resolve, reject) => {
341
350
  let output = '';
@@ -376,4 +385,4 @@ function normalizedPath(value) {
376
385
  function isRecord(value) {
377
386
  return typeof value === 'object' && value !== null && !Array.isArray(value);
378
387
  }
379
- //# sourceMappingURL=ProjectEnvironment.js.map
388
+ //# sourceMappingURL=project-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-environment.js","sourceRoot":"","sources":["../../src/env/project-environment.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { PyfigClient, PythonEmbeddingInfo, PythonEnvironment, PythonInfo } from 'pyfig';
2
+ import type { ChildProcess, SpawnOptions, SpawnSyncOptions, SpawnSyncReturns } from 'child_process';
2
3
  /** Python selected by Pynect after its embedding requirements have been checked. */
3
4
  export type SelectedPython = PythonInfo & {
4
5
  embedding: PythonEmbeddingInfo;
@@ -17,7 +18,12 @@ export interface PynectPythonOptions {
17
18
  uvVersion?: string;
18
19
  env?: Record<string, string>;
19
20
  }
20
- export type PynectPyfigClient = PyfigClient;
21
+ export type PynectPyfigClient = PyfigClient & {
22
+ python(args?: readonly string[], options?: SpawnOptions): Promise<ChildProcess>;
23
+ pythonSync(args?: readonly string[], options?: SpawnSyncOptions): SpawnSyncReturns<string | Buffer>;
24
+ pip(args?: readonly string[], options?: SpawnOptions): Promise<ChildProcess>;
25
+ pipSync(args?: readonly string[], options?: SpawnSyncOptions): SpawnSyncReturns<string | Buffer>;
26
+ };
21
27
  export declare const createPynectPyfig: (options?: PynectPythonOptions) => PynectPyfigClient;
22
28
  export declare const ensurePynectEnvironment: (options?: PynectPythonOptions) => Promise<{
23
29
  client: PynectPyfigClient;
@@ -29,4 +35,4 @@ export declare const ensurePynectPython: (options?: PynectPythonOptions) => Prom
29
35
  }>;
30
36
  export declare const pynectProjectRoot: (explicit?: string) => string;
31
37
  export {};
32
- //# sourceMappingURL=PyfigAdapter.d.ts.map
38
+ //# sourceMappingURL=pyfig-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pyfig-adapter.d.ts","sourceRoot":"","sources":["../../src/env/pyfig-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACX,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,oFAAoF;AACpF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IAAE,SAAS,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAE7E,KAAK,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG;IACjE,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,UAAU,CACR,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACrC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,OAAO,CACL,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,gBAAgB,GACzB,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACtC,CAAC;AAkBF,eAAO,MAAM,iBAAiB,aAfA,mBAAmB,KAAG,iBAeM,CAAC;AAC3D,eAAO,MAAM,uBAAuB,aAfA,mBAAmB,KAAG,OAAO,CAAC;IAC9D,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,EAAE,uBAAuB,CAAC;CACtC,CAYmE,CAAC;AACvE,eAAO,MAAM,kBAAkB,aAZA,mBAAmB,KAAG,OAAO,CAAC;IACzD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC;CACxB,CASyD,CAAC;AAC7D,eAAO,MAAM,iBAAiB,cATL,MAAM,KAAG,MASkB,CAAC"}
@@ -7,4 +7,4 @@ exports.createPynectPyfig = adapter.createPynectPyfig;
7
7
  exports.ensurePynectEnvironment = adapter.ensurePynectEnvironment;
8
8
  exports.ensurePynectPython = adapter.ensurePynectPython;
9
9
  exports.pynectProjectRoot = adapter.projectRoot;
10
- //# sourceMappingURL=PyfigAdapter.js.map
10
+ //# sourceMappingURL=pyfig-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pyfig-adapter.js","sourceRoot":"","sources":["../../src/env/pyfig-adapter.ts"],"names":[],"mappings":";;;AA0DA,6FAA6F;AAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAkB,CAAC;AAEnD,QAAA,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AAC9C,QAAA,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;AAC1D,QAAA,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;AAChD,QAAA,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC"}
@@ -24,7 +24,7 @@ export interface DetectorOptions {
24
24
  explicitOnly?: boolean;
25
25
  /** Modules that must be importable from the repository venv. */
26
26
  requiredModules?: string[];
27
- /** Repository root that owns `.venv`. Defaults to Pyfig discovery. */
27
+ /** Application root that owns the Pyfig environment. Defaults to Pyfig discovery. */
28
28
  projectRoot?: string;
29
29
  }
30
30
  export declare class PythonDetector {
@@ -45,4 +45,4 @@ export declare class PythonNotFoundError extends Error {
45
45
  export declare class PythonVersionError extends Error {
46
46
  constructor(found: string, required: string);
47
47
  }
48
- //# sourceMappingURL=PythonDetector.d.ts.map
48
+ //# sourceMappingURL=python-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-detector.d.ts","sourceRoot":"","sources":["../../src/env/python-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAkBD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;gBAEU,OAAO,GAAE,eAAoB;IAWnC,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IAwBnC,6EAA6E;IAC7E,KAAK,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IA6BhD,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAKvC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAqB7D,4EAA4E;IACtE,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAItC,OAAO,CAAC,gBAAgB;CAWzB;AAwDD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAI5C"}
@@ -9,10 +9,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.PythonVersionError = exports.PythonNotFoundError = exports.PythonDetector = void 0;
11
11
  const path_1 = __importDefault(require("path"));
12
- const Logger_1 = require("../utils/Logger");
13
- const PyfigAdapter_1 = require("./PyfigAdapter");
12
+ const logger_1 = require("../utils/logger");
13
+ const pyfig_adapter_1 = require("./pyfig-adapter");
14
14
  const executables_1 = require("./executables");
15
- const logger = new Logger_1.Logger('PythonDetector');
15
+ const logger = new logger_1.Logger('PythonDetector');
16
16
  const PROBE_SCRIPT = `
17
17
  import json, platform, sys
18
18
  print(json.dumps({
@@ -42,7 +42,7 @@ class PythonDetector {
42
42
  }
43
43
  async detect() {
44
44
  try {
45
- const { python } = await (0, PyfigAdapter_1.ensurePynectPython)(this.selectionOptions());
45
+ const { python } = await (0, pyfig_adapter_1.ensurePynectPython)(this.selectionOptions());
46
46
  const info = toPythonInfo(python);
47
47
  if (!this.isCompatible(info)) {
48
48
  throw new PythonVersionError(info.version, this.options.minVersion.join('.'));
@@ -65,7 +65,7 @@ class PythonDetector {
65
65
  probe(executablePath) {
66
66
  if (!executablePath)
67
67
  return null;
68
- const client = (0, PyfigAdapter_1.createPynectPyfig)(this.selectionOptions(executablePath));
68
+ const client = (0, pyfig_adapter_1.createPynectPyfig)(this.selectionOptions(executablePath));
69
69
  const result = client.pythonSync(['-c', PROBE_SCRIPT], {
70
70
  encoding: 'utf8',
71
71
  timeout: this.options.timeout,
@@ -103,7 +103,7 @@ class PythonDetector {
103
103
  const script = modules
104
104
  .map(module => `try:\n import ${module}\nexcept ImportError:\n print("MISSING:${module}")`)
105
105
  .join('\n');
106
- const client = (0, PyfigAdapter_1.createPynectPyfig)(this.selectionOptions(executable));
106
+ const client = (0, pyfig_adapter_1.createPynectPyfig)(this.selectionOptions(executable));
107
107
  const result = client.pythonSync(['-c', script], { encoding: 'utf8', timeout: this.options.timeout, maxBuffer: 1024 * 256 });
108
108
  if (result.status !== 0 || result.error)
109
109
  return [...modules];
@@ -179,4 +179,4 @@ class PythonVersionError extends Error {
179
179
  }
180
180
  }
181
181
  exports.PythonVersionError = PythonVersionError;
182
- //# sourceMappingURL=PythonDetector.js.map
182
+ //# sourceMappingURL=python-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-detector.js","sourceRoot":"","sources":["../../src/env/python-detector.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PythonInfo } from './PythonDetector';
1
+ import type { PythonInfo } from './python-detector';
2
2
  export interface PythonProvisionerOptions {
3
3
  minVersion?: [number, number];
4
4
  managedPython?: string;
@@ -13,4 +13,4 @@ export declare class PythonProvisioner {
13
13
  constructor(options?: PythonProvisionerOptions);
14
14
  ensurePython(): Promise<PythonInfo>;
15
15
  }
16
- //# sourceMappingURL=PythonProvisioner.d.ts.map
16
+ //# sourceMappingURL=python-provisioner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-provisioner.d.ts","sourceRoot":"","sources":["../../src/env/python-provisioner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qFAAqF;AACrF,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,wBAA6B;IAE7D,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;CAgB1C"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PythonProvisioner = void 0;
4
- const PyfigAdapter_1 = require("./PyfigAdapter");
4
+ const pyfig_adapter_1 = require("./pyfig-adapter");
5
5
  /** Compatibility wrapper around Pynect's centralized Pyfig environment selection. */
6
6
  class PythonProvisioner {
7
7
  options;
@@ -18,7 +18,7 @@ class PythonProvisioner {
18
18
  projectRoot: this.options.projectRoot,
19
19
  uvVersion: this.options.uvVersion,
20
20
  };
21
- const { python } = await (0, PyfigAdapter_1.ensurePynectPython)(selection);
21
+ const { python } = await (0, pyfig_adapter_1.ensurePynectPython)(selection);
22
22
  if (python.major < major || (python.major === major && python.minor < minor)) {
23
23
  throw new Error(`Python ${python.version} does not satisfy >=${major}.${minor}.`);
24
24
  }
@@ -39,4 +39,4 @@ function toLegacyPythonInfo(python) {
39
39
  arch: process.arch,
40
40
  };
41
41
  }
42
- //# sourceMappingURL=PythonProvisioner.js.map
42
+ //# sourceMappingURL=python-provisioner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-provisioner.js","sourceRoot":"","sources":["../../src/env/python-provisioner.ts"],"names":[],"mappings":";;;AACA,mDAIyB;AAWzB,qFAAqF;AACrF,MAAa,iBAAiB;IACC;IAA7B,YAA6B,UAAoC,EAAE;QAAtC,YAAO,GAAP,OAAO,CAA+B;IAAG,CAAC;IAEvE,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAwB;YACrC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YAC3C,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YACzC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,WAAW,EAAE,KAAK,KAAK,IAAI,KAAK,WAAW;YAC3C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SAClC,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAkB,EAAC,SAAS,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,OAAO,uBAAuB,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AAnBD,8CAmBC;AAED,SAAS,kBAAkB,CAAC,MAAsB;IAChD,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,YAAY,EAAE,MAAM,CAAC,kBAAkB,KAAK,IAAI;QAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC"}