pynect 0.2.9 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +29 -34
  2. package/SECURITY.md +6 -6
  3. package/dist/cli/codegen.js +3 -3
  4. package/dist/cli/codegen.js.map +1 -1
  5. package/dist/cli/sync.d.ts.map +1 -1
  6. package/dist/cli/sync.js +38 -19
  7. package/dist/cli/sync.js.map +1 -1
  8. package/dist/config/project.d.ts +4 -54
  9. package/dist/config/project.d.ts.map +1 -1
  10. package/dist/config/project.js +56 -123
  11. package/dist/config/project.js.map +1 -1
  12. package/dist/core/isolated-worker.js +4 -4
  13. package/dist/core/isolated-worker.js.map +1 -1
  14. package/dist/core/py-proxy.d.ts +2 -1
  15. package/dist/core/py-proxy.d.ts.map +1 -1
  16. package/dist/core/py-proxy.js +24 -9
  17. package/dist/core/py-proxy.js.map +1 -1
  18. package/dist/core/py-runtime.d.ts +1 -9
  19. package/dist/core/py-runtime.d.ts.map +1 -1
  20. package/dist/core/py-runtime.js +34 -128
  21. package/dist/core/py-runtime.js.map +1 -1
  22. package/dist/core/pynect-callback.d.ts +5 -14
  23. package/dist/core/pynect-callback.d.ts.map +1 -1
  24. package/dist/core/pynect-callback.js +33 -80
  25. package/dist/core/pynect-callback.js.map +1 -1
  26. package/dist/env/project-environment.d.ts +9 -30
  27. package/dist/env/project-environment.d.ts.map +1 -1
  28. package/dist/env/project-environment.js +32 -217
  29. package/dist/env/project-environment.js.map +1 -1
  30. package/dist/env/python.d.ts +16 -0
  31. package/dist/env/python.d.ts.map +1 -0
  32. package/dist/env/python.js +9 -0
  33. package/dist/env/python.js.map +1 -0
  34. package/dist/index.d.ts +8 -29
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +5 -39
  37. package/dist/index.js.map +1 -1
  38. package/dist/types/config.d.ts +8 -85
  39. package/dist/types/config.d.ts.map +1 -1
  40. package/dist/types/config.js +11 -15
  41. package/dist/types/config.js.map +1 -1
  42. package/dist/types/index.d.ts +1 -1
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/index.js.map +1 -1
  45. package/package.json +3 -4
  46. package/prebuilds/darwin-arm64/pynect-prebuild.json +1 -1
  47. package/prebuilds/darwin-arm64/pynect_addon.node +0 -0
  48. package/prebuilds/darwin-x64/pynect-prebuild.json +1 -1
  49. package/prebuilds/darwin-x64/pynect_addon.node +0 -0
  50. package/prebuilds/linux-arm64/pynect-prebuild.json +1 -1
  51. package/prebuilds/linux-x64/pynect-prebuild.json +1 -1
  52. package/prebuilds/win32-arm64/pynect-prebuild.json +1 -1
  53. package/prebuilds/win32-arm64/pynect_addon.node +0 -0
  54. package/prebuilds/win32-x64/pynect-prebuild.json +1 -1
  55. package/prebuilds/win32-x64/pynect_addon.node +0 -0
  56. package/python/pynect_runtime.py +1 -1
  57. package/scripts/build-native.js +4 -3
  58. package/scripts/postinstall.js +2 -2
  59. package/scripts/python.js +33 -0
  60. package/scripts/smoke-python-boundary.js +38 -57
  61. package/dist/env/executables.d.ts +0 -3
  62. package/dist/env/executables.d.ts.map +0 -1
  63. package/dist/env/executables.js +0 -14
  64. package/dist/env/executables.js.map +0 -1
  65. package/dist/env/package-installer.d.ts +0 -232
  66. package/dist/env/package-installer.d.ts.map +0 -1
  67. package/dist/env/package-installer.js +0 -615
  68. package/dist/env/package-installer.js.map +0 -1
  69. package/dist/env/pyfig-adapter.d.ts +0 -38
  70. package/dist/env/pyfig-adapter.d.ts.map +0 -1
  71. package/dist/env/pyfig-adapter.js +0 -10
  72. package/dist/env/pyfig-adapter.js.map +0 -1
  73. package/dist/env/python-detector.d.ts +0 -48
  74. package/dist/env/python-detector.d.ts.map +0 -1
  75. package/dist/env/python-detector.js +0 -182
  76. package/dist/env/python-detector.js.map +0 -1
  77. package/dist/env/python-provisioner.d.ts +0 -16
  78. package/dist/env/python-provisioner.d.ts.map +0 -1
  79. package/dist/env/python-provisioner.js +0 -42
  80. package/dist/env/python-provisioner.js.map +0 -1
  81. package/dist/env/venv-manager.d.ts +0 -56
  82. package/dist/env/venv-manager.d.ts.map +0 -1
  83. package/dist/env/venv-manager.js +0 -160
  84. package/dist/env/venv-manager.js.map +0 -1
  85. package/scripts/pyfig.js +0 -142
  86. package/scripts/python-provisioner.js +0 -23
@@ -1,99 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.currentCallbackDepth = currentCallbackDepth;
4
- exports.createPynectCallback = createPynectCallback;
5
- exports.createPynectCallbackContext = createPynectCallbackContext;
6
- exports.serializePynectCallback = serializePynectCallback;
4
+ exports.createPynectCallbackScope = createPynectCallbackScope;
7
5
  const async_hooks_1 = require("async_hooks");
8
- const callbackBrand = Symbol('pynect.callback');
9
6
  const callbackDepth = new async_hooks_1.AsyncLocalStorage();
10
- const registrations = new WeakMap();
11
7
  function currentCallbackDepth() {
12
8
  return callbackDepth.getStore() ?? 0;
13
9
  }
14
- function createPynectCallback(addon, fn, codec, onDispose) {
15
- if (typeof fn !== 'function')
16
- throw new TypeError('Pynect callback expects a function.');
17
- const dispatcher = (invocation) => {
18
- callbackDepth.run(invocation.depth, () => {
19
- void Promise.resolve().then(async () => {
20
- const args = invocation.args.map(value => codec.decode(value));
21
- const kwargs = Object.fromEntries(Object.entries(invocation.kwargs).map(([key, value]) => [key, codec.decode(value)]));
22
- if (Object.keys(kwargs).length > 0)
23
- args.push(kwargs);
24
- const result = await fn(...args);
25
- invocation.resolve(await codec.encode(result));
26
- }).catch((error) => {
27
- const value = error instanceof Error ? error : new Error(String(error));
28
- invocation.reject({ name: value.name, message: value.message, stack: value.stack });
29
- });
30
- });
31
- };
32
- const callbackId = addon.registerCallback(dispatcher);
33
- const wrapper = function pynectCallback(...args) {
34
- return fn(...args);
35
- };
36
- const registration = {
37
- addon,
38
- callbackId,
39
- disposed: false,
40
- onDispose,
41
- };
42
- registrations.set(wrapper, registration);
43
- const dispose = () => {
44
- if (registration.disposed)
45
- return;
46
- registration.disposed = true;
47
- addon.disposeCallback(callbackId);
48
- onDispose();
49
- };
50
- Object.defineProperties(wrapper, {
51
- disposed: { enumerable: false, get: () => registration.disposed },
52
- dispose: { enumerable: false, value: dispose },
53
- [Symbol.dispose]: { enumerable: false, value: dispose },
54
- });
55
- return wrapper;
56
- }
57
- function createPynectCallbackContext(addon, codec, onDispose) {
58
- const owned = new Set();
10
+ function createPynectCallbackScope(addon, codec) {
11
+ const callbackIds = new Set();
59
12
  let disposed = false;
60
- const context = {
61
- get disposed() { return disposed; },
62
- callback(fn) {
13
+ return {
14
+ register(fn) {
63
15
  if (disposed)
64
- throw new Error('Pynect callback context has been disposed.');
65
- let registered;
66
- registered = createPynectCallback(addon, fn, codec, () => owned.delete(registered));
67
- owned.add(registered);
68
- return registered;
16
+ throw new Error('Pynect callback scope has been disposed.');
17
+ if (typeof fn !== 'function')
18
+ throw new TypeError('Pynect callback expects a function.');
19
+ const dispatcher = (invocation) => {
20
+ callbackDepth.run(invocation.depth, () => {
21
+ void Promise.resolve().then(async () => {
22
+ const args = invocation.args.map(value => codec.decode(value));
23
+ const kwargs = Object.fromEntries(Object.entries(invocation.kwargs).map(([key, value]) => [key, codec.decode(value)]));
24
+ if (Object.keys(kwargs).length > 0)
25
+ args.push(kwargs);
26
+ const result = await fn(...args);
27
+ invocation.resolve(await codec.encode(result));
28
+ }).catch((error) => {
29
+ const value = error instanceof Error ? error : new Error(String(error));
30
+ invocation.reject({ name: value.name, message: value.message, stack: value.stack });
31
+ });
32
+ });
33
+ };
34
+ const callbackId = addon.registerCallback(dispatcher);
35
+ callbackIds.add(callbackId);
36
+ return {
37
+ format: 9,
38
+ data: null,
39
+ metadata: { callbackId },
40
+ };
69
41
  },
70
42
  [Symbol.dispose]() {
71
43
  if (disposed)
72
44
  return;
73
45
  disposed = true;
74
- for (const callback of [...owned])
75
- callback.dispose();
76
- owned.clear();
77
- onDispose();
46
+ for (const callbackId of callbackIds)
47
+ addon.disposeCallback(callbackId);
48
+ callbackIds.clear();
78
49
  },
79
50
  };
80
- return context;
81
- }
82
- function serializePynectCallback(value, addon) {
83
- if (typeof value !== 'function')
84
- return undefined;
85
- const registration = registrations.get(value);
86
- if (!registration)
87
- return undefined;
88
- if (registration.disposed)
89
- throw new Error('Pynect callback has been disposed.');
90
- if (registration.addon !== addon) {
91
- throw new Error('Pynect callback belongs to a different runtime.');
92
- }
93
- return {
94
- format: 9,
95
- data: null,
96
- metadata: { callbackId: registration.callbackId },
97
- };
98
51
  }
99
52
  //# sourceMappingURL=pynect-callback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pynect-callback.js","sourceRoot":"","sources":["../../src/core/pynect-callback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pynect-callback.js","sourceRoot":"","sources":["../../src/core/pynect-callback.ts"],"names":[],"mappings":";;AA6BA,oDAEC;AAED,8DA2CC;AA5ED,6CAAgD;AA2BhD,MAAM,aAAa,GAAG,IAAI,+BAAiB,EAAU,CAAC;AAEtD,SAAgB,oBAAoB;IAClC,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,yBAAyB,CACvC,KAAkB,EAClB,KAAoB;IAEpB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO;QACL,QAAQ,CAAC,EAAiC;YACxC,IAAI,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1E,IAAI,OAAO,EAAE,KAAK,UAAU;gBAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;YAEzF,MAAM,UAAU,GAAG,CAAC,UAAoC,EAAQ,EAAE;gBAChE,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;oBACvC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;wBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACpF,CAAC;wBACF,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;4BAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,IAAe,CAAC,CAAC;wBAC5C,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBACjD,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;wBAC1B,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;wBACxE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACtD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,EAAE,UAAU,EAAE;aACzB,CAAC;QACJ,CAAC;QACD,CAAC,MAAM,CAAC,OAAO,CAAC;YACd,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,MAAM,UAAU,IAAI,WAAW;gBAAE,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACxE,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,6 @@
1
+ import type { PythonEnvironment } from 'pyfig';
1
2
  import { type CanonicalPynectPackageManifest, type PynectModuleManifest, type ProjectConfigOverrides, type ResolvedProjectConfig } from '../config/project';
3
+ import { type PynectPythonOptions } from './python';
2
4
  export interface PynectContribution {
3
5
  packageName: string;
4
6
  packageVersion: string;
@@ -13,52 +15,29 @@ export interface ExposedModule extends PynectModuleManifest {
13
15
  export interface PynectProjectPlan {
14
16
  config: ResolvedProjectConfig;
15
17
  contributions: PynectContribution[];
16
- requirements: Array<{
17
- requirement: string;
18
+ dependencies: Array<{
19
+ dependency: string;
18
20
  packageName: string;
19
21
  }>;
20
- overrides: string[];
22
+ requirements: string[];
21
23
  modules: Record<string, ExposedModule>;
22
24
  pythonRange: string;
23
25
  pythonRequirement: string;
24
- manifestHash: string;
25
- generatedDirectory: string;
26
- pyprojectFile: string;
27
- generatedLockfile: string;
28
- modulesFile: string;
29
- stateFile: string;
30
- }
31
- export interface PynectEnvironmentState {
32
- schemaVersion: 1;
33
- manifestHash: string;
34
- lockHash: string;
35
- pythonVersion: string;
36
- pythonExecutable: string;
37
- virtualEnvironment: string;
38
- pythonAbi: string;
39
- platform: NodeJS.Platform;
40
- architecture: string;
41
- contributors: Array<{
42
- name: string;
43
- version: string;
44
- }>;
45
- syncedAt: string;
46
26
  }
47
27
  export interface SyncProjectOptions extends ProjectConfigOverrides {
48
- frozen?: boolean;
49
28
  offline?: boolean;
50
29
  }
51
30
  export interface SyncProjectResult {
52
31
  plan: PynectProjectPlan;
53
- state: PynectEnvironmentState;
54
- lockfile: string;
32
+ environment: PythonEnvironment;
55
33
  }
56
34
  export declare function createProjectPlan(overrides?: ProjectConfigOverrides): PynectProjectPlan;
57
35
  export declare function discoverPynectContributions(projectRoot: string): PynectContribution[];
36
+ export declare function projectPythonOptions(plan: PynectProjectPlan, options?: {
37
+ offline?: boolean;
38
+ }): PynectPythonOptions;
58
39
  export declare function syncProject(options?: SyncProjectOptions): Promise<SyncProjectResult>;
59
- export declare function validateProjectEnvironment(plan: PynectProjectPlan): PynectEnvironmentState;
60
40
  export declare function requiresProjectSync(plan: PynectProjectPlan): boolean;
61
41
  export declare function moduleDispatcherIncludes(plan: PynectProjectPlan): string[];
62
42
  export declare function resolveExposedModule(id: string, projectRoot?: string): ExposedModule | undefined;
63
- export declare function renderUvProject(plan: PynectProjectPlan): string;
64
43
  //# sourceMappingURL=project-environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-environment.d.ts","sourceRoot":"","sources":["../../src/env/project-environment.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,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,CAqEnB;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"}
1
+ {"version":3,"file":"project-environment.d.ts","sourceRoot":"","sources":["../../src/env/project-environment.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,EAKL,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAElE,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,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAmB,SAAQ,sBAAsB;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,sBAA2B,GACrC,iBAAiB,CA+CnB;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CA+CrF;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,mBAAmB,CAiBrB;AAED,wBAAsB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgB9F;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"}
@@ -5,29 +5,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createProjectPlan = createProjectPlan;
7
7
  exports.discoverPynectContributions = discoverPynectContributions;
8
+ exports.projectPythonOptions = projectPythonOptions;
8
9
  exports.syncProject = syncProject;
9
- exports.validateProjectEnvironment = validateProjectEnvironment;
10
10
  exports.requiresProjectSync = requiresProjectSync;
11
11
  exports.moduleDispatcherIncludes = moduleDispatcherIncludes;
12
12
  exports.resolveExposedModule = resolveExposedModule;
13
- exports.renderUvProject = renderUvProject;
14
- const crypto_1 = require("crypto");
15
13
  const fs_1 = __importDefault(require("fs"));
16
14
  const path_1 = __importDefault(require("path"));
17
15
  const semver_1 = __importDefault(require("semver"));
18
16
  const project_1 = require("../config/project");
19
- const pyfig_adapter_1 = require("./pyfig-adapter");
20
- const locking_1 = require("../utils/locking");
21
- const PYPROJECT_FILE = 'pyproject.toml';
22
- const UV_LOCK_FILE = 'uv.lock';
23
- const MODULES_FILE = 'modules.json';
24
- const STATE_FILE = '.pynect-state.json';
17
+ const python_1 = require("./python");
25
18
  function createProjectPlan(overrides = {}) {
26
19
  let config = (0, project_1.resolveProjectConfig)(overrides);
27
20
  const contributions = discoverPynectContributions(config.projectRoot);
28
21
  const manifestFor = (contribution) => contribution.root ? config.packageManifest : contribution.manifest;
29
- const requirements = contributions.flatMap(contribution => (manifestFor(contribution).project.dependencies ?? []).map(requirement => ({
30
- requirement,
22
+ const dependencies = contributions.flatMap(contribution => (manifestFor(contribution).project.dependencies ?? []).map(dependency => ({
23
+ dependency,
31
24
  packageName: contribution.packageName,
32
25
  })));
33
26
  const modules = {};
@@ -39,9 +32,6 @@ function createProjectPlan(overrides = {}) {
39
32
  modules[id] = { ...module, id, packageName: contribution.packageName };
40
33
  }
41
34
  }
42
- const requirementOverrides = [
43
- ...(config.packageManifest.tool.uv['override-dependencies'] ?? []),
44
- ].sort();
45
35
  const pythonConstraints = [
46
36
  { range: project_1.PYNECT_REQUIRES_PYTHON, packageName: 'pynect' },
47
37
  { range: config.requiresPython, packageName: '<application>' },
@@ -56,33 +46,14 @@ function createProjectPlan(overrides = {}) {
56
46
  if (!config.managedPythonExplicit && !pythonVersionSatisfies(config.managedPython, pythonRange)) {
57
47
  config = { ...config, managedPython: managedPythonForRange(pythonRange) };
58
48
  }
59
- const manifestHash = sha256(stableJson({
60
- schemaVersion: 1,
61
- project: {
62
- name: config.packageManifest.project.name,
63
- version: config.packageManifest.project.version,
64
- },
65
- pythonRange,
66
- pythonRequirement,
67
- requirements: [...requirements].sort(compareRequirements),
68
- overrides: requirementOverrides,
69
- modules,
70
- }));
71
- const generatedDirectory = config.generatedDirectory;
72
49
  return {
73
50
  config,
74
51
  contributions,
75
- requirements,
76
- overrides: requirementOverrides,
52
+ dependencies,
53
+ requirements: config.requirements,
77
54
  modules,
78
55
  pythonRange,
79
56
  pythonRequirement,
80
- manifestHash,
81
- generatedDirectory,
82
- pyprojectFile: path_1.default.join(generatedDirectory, PYPROJECT_FILE),
83
- generatedLockfile: path_1.default.join(generatedDirectory, UV_LOCK_FILE),
84
- modulesFile: path_1.default.join(generatedDirectory, MODULES_FILE),
85
- stateFile: path_1.default.join(generatedDirectory, STATE_FILE),
86
57
  };
87
58
  }
88
59
  function discoverPynectContributions(projectRoot) {
@@ -130,113 +101,41 @@ function discoverPynectContributions(projectRoot) {
130
101
  return contributions.sort((left, right) => left.packageName.localeCompare(right.packageName) ||
131
102
  left.packageRoot.localeCompare(right.packageRoot));
132
103
  }
133
- async function syncProject(options = {}) {
134
- const plan = createProjectPlan(options);
135
- fs_1.default.mkdirSync(plan.generatedDirectory, { recursive: true });
136
- const locked = await (0, locking_1.withPynectLock)({ projectRoot: plan.config.projectRoot }, async () => syncProjectUnlocked(plan, options), undefined, {
137
- key: `pynect-sync:${normalizedPath(plan.config.projectRoot)}`,
138
- name: 'Pynect project sync',
139
- namespace: 'pynect',
140
- });
141
- if (locked.context.state !== 'executed' || !locked.value) {
142
- throw new Error(`Loqkit did not execute project synchronization: ${locked.context.state}.`);
143
- }
144
- return locked.value;
145
- }
146
- async function syncProjectUnlocked(plan, options) {
147
- writeGeneratedProject(plan);
148
- if (options.frozen)
149
- stageFrozenLock(plan);
150
- const client = (0, pyfig_adapter_1.createPynectPyfig)({
104
+ function projectPythonOptions(plan, options = {}) {
105
+ return {
151
106
  projectRoot: plan.config.projectRoot,
152
- pythonPath: plan.config.python,
153
- pythonRange: plan.pythonRange,
107
+ python: plan.config.python || undefined,
108
+ requiresPython: plan.pythonRequirement,
154
109
  managedPython: plan.config.managedPython,
155
- uvVersion: plan.config.uvVersion,
156
- autoInstallPython: plan.config.installPython,
157
- autoInstallUv: plan.config.installUv,
158
- autoCreateVirtualEnvironment: plan.config.createVirtualEnvironment,
159
- env: plan.config.env,
160
- });
161
- const environment = await client.prepare();
162
- if (!environment.python.virtualEnvironment) {
163
- throw new Error('Pyfig did not select a virtual environment for Pynect synchronization.');
164
- }
165
- const syncArgs = [
166
- 'sync',
167
- '--project',
168
- plan.generatedDirectory,
169
- '--no-dev',
170
- '--active',
171
- ];
172
- if (options.frozen)
173
- syncArgs.push('--locked');
174
- if (options.offline)
175
- syncArgs.push('--offline');
176
- const synced = await runChild(await client.uv(syncArgs, {
177
- cwd: plan.config.projectRoot,
110
+ requiresUv: plan.config.requiresUv,
111
+ installPython: plan.config.installPython,
112
+ installUv: plan.config.installUv,
113
+ createVirtualEnvironment: plan.config.createVirtualEnvironment,
114
+ dependencies: [...new Set(plan.dependencies.map(item => item.dependency))].sort(),
115
+ requirements: plan.requirements,
178
116
  env: {
179
117
  ...plan.config.env,
180
- VIRTUAL_ENV: environment.python.virtualEnvironment,
118
+ ...(options.offline ? { UV_OFFLINE: '1' } : {}),
181
119
  },
182
- }));
183
- if (synced.code !== 0) {
184
- throw resolutionError(plan, synced.output);
185
- }
186
- if (!options.frozen)
187
- atomicWrite(plan.config.lockfile, fs_1.default.readFileSync(plan.generatedLockfile, 'utf8'));
188
- const lockHash = sha256(fs_1.default.readFileSync(plan.config.lockfile));
189
- const python = environment.python;
190
- const state = {
191
- schemaVersion: 1,
192
- manifestHash: plan.manifestHash,
193
- lockHash,
194
- pythonVersion: python.version,
195
- pythonExecutable: python.executable,
196
- virtualEnvironment: environment.python.virtualEnvironment,
197
- pythonAbi: `${python.implementation}-${python.version}-${python.architecture}-${python.pointerBits}`,
198
- platform: process.platform,
199
- architecture: process.arch,
200
- contributors: plan.contributions.map(contribution => ({
201
- name: contribution.packageName,
202
- version: contribution.packageVersion,
203
- })),
204
- syncedAt: new Date().toISOString(),
205
120
  };
206
- atomicWrite(plan.stateFile, `${JSON.stringify(state, null, 2)}\n`);
207
- return { plan, state, lockfile: plan.config.lockfile };
208
121
  }
209
- function validateProjectEnvironment(plan) {
210
- if (!fs_1.default.existsSync(plan.config.lockfile)) {
211
- throw staleEnvironmentError(plan, `lockfile is missing at ${plan.config.lockfile}`);
212
- }
213
- if (!fs_1.default.existsSync(plan.stateFile)) {
214
- throw staleEnvironmentError(plan, `environment state is missing at ${plan.stateFile}`);
215
- }
216
- let state;
122
+ async function syncProject(options = {}) {
123
+ const plan = createProjectPlan(options);
124
+ const runtime = (0, python_1.createPython)(projectPythonOptions(plan, options));
217
125
  try {
218
- state = JSON.parse(fs_1.default.readFileSync(plan.stateFile, 'utf8'));
126
+ return { plan, environment: await runtime.prepare() };
219
127
  }
220
128
  catch (error) {
221
- throw staleEnvironmentError(plan, `environment state is invalid: ${error.message}`);
222
- }
223
- const lockHash = sha256(fs_1.default.readFileSync(plan.config.lockfile));
224
- if (state.schemaVersion !== 1 || state.manifestHash !== plan.manifestHash) {
225
- throw staleEnvironmentError(plan, 'package manifests changed since the last sync');
226
- }
227
- if (state.lockHash !== lockHash) {
228
- throw staleEnvironmentError(plan, 'lockfile changed since the last sync');
129
+ const origins = plan.dependencies
130
+ .map(item => ` ${item.packageName} requires ${item.dependency}`)
131
+ .join('\n');
132
+ const detail = error instanceof Error ? error.message : String(error);
133
+ throw new Error(`Unable to prepare the Python environment:${origins ? `\n\n${origins}` : ''}` +
134
+ `\n\nPyfig reported:\n${detail}`, { cause: error });
229
135
  }
230
- if (state.platform !== process.platform || state.architecture !== process.arch) {
231
- throw staleEnvironmentError(plan, 'environment was synchronized for another platform');
232
- }
233
- if (!state.virtualEnvironment || !fs_1.default.existsSync(state.pythonExecutable)) {
234
- throw staleEnvironmentError(plan, 'recorded Python environment is missing');
235
- }
236
- return state;
237
136
  }
238
137
  function requiresProjectSync(plan) {
239
- return plan.requirements.length > 0 || plan.contributions.some(contribution => !contribution.root);
138
+ return plan.dependencies.length > 0 || plan.requirements.length > 0;
240
139
  }
241
140
  function moduleDispatcherIncludes(plan) {
242
141
  return [...new Set(Object.values(plan.modules).flatMap(module => {
@@ -250,58 +149,11 @@ function resolveExposedModule(id, projectRoot) {
250
149
  const plan = createProjectPlan({ projectRoot });
251
150
  return plan.modules[id];
252
151
  }
253
- function writeGeneratedProject(plan) {
254
- atomicWrite(plan.pyprojectFile, renderUvProject(plan));
255
- atomicWrite(plan.modulesFile, `${JSON.stringify(plan.modules, null, 2)}\n`);
256
- }
257
- function renderUvProject(plan) {
258
- const requirements = [...new Set(plan.requirements.map(item => item.requirement))].sort();
259
- const project = plan.config.packageManifest.project;
260
- const lines = [
261
- '# Generated by Pynect. Configure package.json#pynect or the Pynect API, not this file.',
262
- '[project]',
263
- `name = ${JSON.stringify(project.name ?? 'pynect-environment')}`,
264
- `version = ${JSON.stringify(project.version ?? '0.0.0')}`,
265
- `requires-python = ${JSON.stringify(plan.pythonRequirement)}`,
266
- 'dependencies = [',
267
- ...requirements.map(requirement => ` ${JSON.stringify(requirement)},`),
268
- ']',
269
- '',
270
- '[tool.uv]',
271
- 'package = false',
272
- ];
273
- if (plan.overrides.length > 0) {
274
- lines.push('override-dependencies = [', ...plan.overrides.map(requirement => ` ${JSON.stringify(requirement)},`), ']');
275
- }
276
- return `${lines.join('\n')}\n`;
277
- }
278
- function stageFrozenLock(plan) {
279
- if (!fs_1.default.existsSync(plan.config.lockfile)) {
280
- throw new Error(`Frozen sync requires an existing lockfile at ${plan.config.lockfile}.`);
281
- }
282
- atomicWrite(plan.generatedLockfile, fs_1.default.readFileSync(plan.config.lockfile, 'utf8'));
283
- }
284
- function resolutionError(plan, output) {
285
- const origins = plan.requirements
286
- .map(item => ` ${item.packageName} requires ${item.requirement}`)
287
- .join('\n');
288
- return new Error(`Unable to resolve Python requirements:${origins ? `\n\n${origins}` : ''}` +
289
- `\n\nuv reported:\n${output.trim()}`);
290
- }
291
- function staleEnvironmentError(plan, detail) {
292
- return new Error(`Pynect environment is not synchronized: ${detail}. Run "pynect sync" ` +
293
- `from ${plan.config.projectRoot}.`);
294
- }
295
152
  function assertTransitiveManifest(manifest, packageName, source) {
296
- const policyKeys = [
297
- ...Object.keys(manifest.tool.pynect)
298
- .filter(key => key !== 'modules' &&
299
- manifest.tool.pynect[key] !== undefined)
300
- .map(key => `tool.pynect.${key}`),
301
- ...Object.keys(manifest.tool.uv)
302
- .filter(key => key !== 'package' && manifest.tool.uv[key] !== undefined)
303
- .map(key => `tool.uv.${key}`),
304
- ];
153
+ const policyKeys = Object.keys(manifest.tool.pynect)
154
+ .filter(key => key !== 'modules' &&
155
+ manifest.tool.pynect[key] !== undefined)
156
+ .map(key => `tool.pynect.${key}`);
305
157
  if (policyKeys.length > 0) {
306
158
  throw new TypeError(`${source}: transitive package ${packageName} cannot set application policy: ` +
307
159
  policyKeys.join(', '));
@@ -346,43 +198,6 @@ function readPackage(packagePath) {
346
198
  version: typeof value['version'] === 'string' ? value['version'] : '0.0.0',
347
199
  };
348
200
  }
349
- async function runChild(child) {
350
- return new Promise((resolve, reject) => {
351
- let output = '';
352
- child.stdout?.on('data', chunk => { output += String(chunk); });
353
- child.stderr?.on('data', chunk => { output += String(chunk); });
354
- child.on('error', reject);
355
- child.on('close', code => resolve({ code: code ?? 1, output }));
356
- });
357
- }
358
- function atomicWrite(destination, contents) {
359
- fs_1.default.mkdirSync(path_1.default.dirname(destination), { recursive: true });
360
- const temporary = `${destination}.${process.pid}.${Date.now()}.tmp`;
361
- fs_1.default.writeFileSync(temporary, contents, 'utf8');
362
- fs_1.default.renameSync(temporary, destination);
363
- }
364
- function sha256(value) {
365
- return (0, crypto_1.createHash)('sha256').update(value).digest('hex');
366
- }
367
- function stableJson(value) {
368
- if (Array.isArray(value))
369
- return `[${value.map(stableJson).join(',')}]`;
370
- if (isRecord(value)) {
371
- return `{${Object.keys(value).sort().map(key => `${JSON.stringify(key)}:${stableJson(value[key])}`).join(',')}}`;
372
- }
373
- return JSON.stringify(value);
374
- }
375
- function compareRequirements(left, right) {
376
- return left.requirement.localeCompare(right.requirement) ||
377
- left.packageName.localeCompare(right.packageName);
378
- }
379
- function pathsEqual(left, right) {
380
- return normalizedPath(left) === normalizedPath(right);
381
- }
382
- function normalizedPath(value) {
383
- const resolved = path_1.default.resolve(value);
384
- return process.platform === 'win32' ? resolved.toLowerCase() : resolved;
385
- }
386
201
  function isRecord(value) {
387
202
  return typeof value === 'object' && value !== null && !Array.isArray(value);
388
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-environment.js","sourceRoot":"","sources":["../../src/env/project-environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-environment.js","sourceRoot":"","sources":["../../src/env/project-environment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Python as PyfigPython, PythonEmbeddingInfo, PythonEnvironment, PythonInfo, PyfigOptions } from 'pyfig';
2
+ export type SelectedPython = PythonInfo & {
3
+ embedding: PythonEmbeddingInfo;
4
+ };
5
+ export type SelectedPythonEnvironment = Omit<PythonEnvironment, 'python'> & {
6
+ python: SelectedPython;
7
+ };
8
+ export type PynectPythonOptions = PyfigOptions;
9
+ export type PynectPython = PyfigPython;
10
+ export declare const createPython: (options?: PynectPythonOptions) => PynectPython;
11
+ export declare const preparePython: (options?: PynectPythonOptions) => Promise<{
12
+ runtime: PynectPython;
13
+ environment: SelectedPythonEnvironment;
14
+ }>;
15
+ export declare const pynectProjectRoot: (explicit?: string) => string;
16
+ //# sourceMappingURL=python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../src/env/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,IAAI,WAAW,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACb,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IAAE,SAAS,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG;IAC1E,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAC/C,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAcvC,eAAO,MAAM,YAAY,aAXA,mBAAmB,KAAG,YAWA,CAAC;AAChD,eAAO,MAAM,aAAa,aAXA,mBAAmB,KAAG,OAAO,CAAC;IACpD,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,yBAAyB,CAAC;CACxC,CAQ8C,CAAC;AAClD,eAAO,MAAM,iBAAiB,cARL,MAAM,KAAG,MAQiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pynectProjectRoot = exports.preparePython = exports.createPython = void 0;
4
+ // Build scripts and compiled source share this policy so native and runtime ABI selection agree.
5
+ const python = require('../../scripts/python');
6
+ exports.createPython = python.createPython;
7
+ exports.preparePython = python.preparePython;
8
+ exports.pynectProjectRoot = python.projectRoot;
9
+ //# sourceMappingURL=python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../src/env/python.ts"],"names":[],"mappings":";;;AA0BA,iGAAiG;AACjG,MAAM,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAiB,CAAC;AAElD,QAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,QAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,QAAA,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC"}