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.
- package/README.md +62 -35
- package/binding.gyp +15 -8
- package/dist/cli/codegen.js +2 -2
- package/dist/cli/codegen.js.map +1 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +9 -10
- package/dist/cli/sync.js.map +1 -1
- package/dist/config/project.d.ts +61 -5
- package/dist/config/project.d.ts.map +1 -1
- package/dist/config/project.js +189 -21
- package/dist/config/project.js.map +1 -1
- package/dist/core/{IsolatedWorker.d.ts → isolated-worker.d.ts} +1 -1
- package/dist/core/isolated-worker.d.ts.map +1 -0
- package/dist/core/{IsolatedWorker.js → isolated-worker.js} +3 -3
- package/dist/core/isolated-worker.js.map +1 -0
- package/dist/core/{PyCallable.d.ts → py-callable.d.ts} +2 -2
- package/dist/core/py-callable.d.ts.map +1 -0
- package/dist/core/{PyCallable.js → py-callable.js} +6 -6
- package/dist/core/py-callable.js.map +1 -0
- package/dist/core/{PyContext.d.ts → py-context.d.ts} +2 -2
- package/dist/core/py-context.d.ts.map +1 -0
- package/dist/core/{PyContext.js → py-context.js} +16 -16
- package/dist/core/py-context.js.map +1 -0
- package/dist/core/{PyIterator.d.ts → py-iterator.d.ts} +2 -2
- package/dist/core/py-iterator.d.ts.map +1 -0
- package/dist/core/{PyIterator.js → py-iterator.js} +9 -9
- package/dist/core/py-iterator.js.map +1 -0
- package/dist/core/{PyModule.d.ts → py-module.d.ts} +2 -2
- package/dist/core/py-module.d.ts.map +1 -0
- package/dist/core/{PyModule.js → py-module.js} +10 -10
- package/dist/core/py-module.js.map +1 -0
- package/dist/core/{PyProxy.d.ts → py-proxy.d.ts} +1 -1
- package/dist/core/py-proxy.d.ts.map +1 -0
- package/dist/core/{PyProxy.js → py-proxy.js} +8 -8
- package/dist/core/py-proxy.js.map +1 -0
- package/dist/core/{PyRuntime.d.ts → py-runtime.d.ts} +6 -5
- package/dist/core/py-runtime.d.ts.map +1 -0
- package/dist/core/{PyRuntime.js → py-runtime.js} +48 -66
- package/dist/core/py-runtime.js.map +1 -0
- package/dist/env/{PackageInstaller.d.ts → package-installer.d.ts} +3 -3
- package/dist/env/package-installer.d.ts.map +1 -0
- package/dist/env/{PackageInstaller.js → package-installer.js} +10 -23
- package/dist/env/package-installer.js.map +1 -0
- package/dist/env/{ProjectEnvironment.d.ts → project-environment.d.ts} +4 -3
- package/dist/env/project-environment.d.ts.map +1 -0
- package/dist/env/{ProjectEnvironment.js → project-environment.js} +49 -40
- package/dist/env/project-environment.js.map +1 -0
- package/dist/env/{PyfigAdapter.d.ts → pyfig-adapter.d.ts} +8 -2
- package/dist/env/pyfig-adapter.d.ts.map +1 -0
- package/dist/env/{PyfigAdapter.js → pyfig-adapter.js} +1 -1
- package/dist/env/pyfig-adapter.js.map +1 -0
- package/dist/env/{PythonDetector.d.ts → python-detector.d.ts} +2 -2
- package/dist/env/python-detector.d.ts.map +1 -0
- package/dist/env/{PythonDetector.js → python-detector.js} +7 -7
- package/dist/env/python-detector.js.map +1 -0
- package/dist/env/{PythonProvisioner.d.ts → python-provisioner.d.ts} +2 -2
- package/dist/env/python-provisioner.d.ts.map +1 -0
- package/dist/env/{PythonProvisioner.js → python-provisioner.js} +3 -3
- package/dist/env/python-provisioner.js.map +1 -0
- package/dist/env/{VenvManager.d.ts → venv-manager.d.ts} +4 -3
- package/dist/env/venv-manager.d.ts.map +1 -0
- package/dist/env/{VenvManager.js → venv-manager.js} +26 -19
- package/dist/env/venv-manager.js.map +1 -0
- package/dist/index.d.ts +28 -28
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -83
- package/dist/index.js.map +1 -1
- package/dist/native/{NativeAddonLoader.d.ts → native-addon-loader.d.ts} +5 -3
- package/dist/native/native-addon-loader.d.ts.map +1 -0
- package/dist/native/native-addon-loader.js +171 -0
- package/dist/native/native-addon-loader.js.map +1 -0
- package/dist/plugins/builtin/{NumpyPlugin.d.ts → numpy-plugin.d.ts} +2 -2
- package/dist/plugins/builtin/numpy-plugin.d.ts.map +1 -0
- package/dist/plugins/builtin/{NumpyPlugin.js → numpy-plugin.js} +5 -5
- package/dist/plugins/builtin/numpy-plugin.js.map +1 -0
- package/dist/plugins/builtin/{PandasPlugin.d.ts → pandas-plugin.d.ts} +2 -2
- package/dist/plugins/builtin/pandas-plugin.d.ts.map +1 -0
- package/dist/plugins/builtin/{PandasPlugin.js → pandas-plugin.js} +5 -5
- package/dist/plugins/builtin/pandas-plugin.js.map +1 -0
- package/dist/plugins/builtin/{TorchPlugin.d.ts → torch-plugin.d.ts} +2 -2
- package/dist/plugins/builtin/torch-plugin.d.ts.map +1 -0
- package/dist/plugins/builtin/{TorchPlugin.js → torch-plugin.js} +5 -5
- package/dist/plugins/builtin/torch-plugin.js.map +1 -0
- package/dist/plugins/index.d.ts +6 -6
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +8 -8
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/{PluginManager.d.ts → plugin-manager.d.ts} +2 -2
- package/dist/plugins/plugin-manager.d.ts.map +1 -0
- package/dist/plugins/{PluginManager.js → plugin-manager.js} +6 -6
- package/dist/plugins/plugin-manager.js.map +1 -0
- package/dist/plugins/{Plugin.interface.d.ts → plugin.interface.d.ts} +1 -1
- package/dist/plugins/{Plugin.interface.d.ts.map → plugin.interface.d.ts.map} +1 -1
- package/dist/plugins/{Plugin.interface.js → plugin.interface.js} +1 -1
- package/dist/plugins/plugin.interface.js.map +1 -0
- package/dist/serialization/{DataFrameBridge.d.ts → data-frame-bridge.d.ts} +1 -1
- package/dist/serialization/data-frame-bridge.d.ts.map +1 -0
- package/dist/serialization/{DataFrameBridge.js → data-frame-bridge.js} +3 -3
- package/dist/serialization/data-frame-bridge.js.map +1 -0
- package/dist/serialization/{MsgPackSerializer.d.ts → msg-pack-serializer.d.ts} +1 -1
- package/dist/serialization/msg-pack-serializer.d.ts.map +1 -0
- package/dist/serialization/{MsgPackSerializer.js → msg-pack-serializer.js} +3 -3
- package/dist/serialization/msg-pack-serializer.js.map +1 -0
- package/dist/serialization/{NumpyBridge.d.ts → numpy-bridge.d.ts} +1 -1
- package/dist/serialization/numpy-bridge.d.ts.map +1 -0
- package/dist/serialization/{NumpyBridge.js → numpy-bridge.js} +3 -3
- package/dist/serialization/numpy-bridge.js.map +1 -0
- package/dist/serialization/{Serializer.d.ts → serializer.d.ts} +1 -1
- package/dist/serialization/{Serializer.d.ts.map → serializer.d.ts.map} +1 -1
- package/dist/serialization/{Serializer.js → serializer.js} +9 -9
- package/dist/serialization/{Serializer.js.map → serializer.js.map} +1 -1
- package/dist/types/config.d.ts +14 -11
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +1 -0
- package/dist/types/config.js.map +1 -1
- package/dist/utils/{ErrorTranslator.d.ts → error-translator.d.ts} +1 -1
- package/dist/utils/error-translator.d.ts.map +1 -0
- package/dist/utils/{ErrorTranslator.js → error-translator.js} +1 -1
- package/dist/utils/error-translator.js.map +1 -0
- package/dist/utils/{Locking.d.ts → locking.d.ts} +1 -1
- package/dist/utils/{Locking.d.ts.map → locking.d.ts.map} +1 -1
- package/dist/utils/{Locking.js → locking.js} +1 -1
- package/dist/utils/{Locking.js.map → locking.js.map} +1 -1
- package/dist/utils/{Logger.d.ts → logger.d.ts} +1 -1
- package/dist/utils/{Logger.d.ts.map → logger.d.ts.map} +1 -1
- package/dist/utils/{Logger.js → logger.js} +1 -1
- package/dist/utils/{Logger.js.map → logger.js.map} +1 -1
- package/dist/utils/{MemoryMonitor.d.ts → memory-monitor.d.ts} +1 -1
- package/dist/utils/memory-monitor.d.ts.map +1 -0
- package/dist/utils/{MemoryMonitor.js → memory-monitor.js} +5 -5
- package/dist/utils/memory-monitor.js.map +1 -0
- package/package.json +3 -2
- package/prebuilds/darwin-arm64/pynect-prebuild.json +8 -0
- package/prebuilds/darwin-arm64/pynect_addon.node +0 -0
- package/prebuilds/darwin-x64/pynect-prebuild.json +8 -0
- package/prebuilds/darwin-x64/pynect_addon.node +0 -0
- package/prebuilds/linux-arm64/pynect-prebuild.json +9 -0
- package/prebuilds/linux-arm64/pynect_addon.node +0 -0
- package/prebuilds/linux-x64/pynect-prebuild.json +9 -0
- package/prebuilds/linux-x64/pynect_addon.node +0 -0
- package/prebuilds/win32-arm64/pynect-prebuild.json +8 -0
- package/prebuilds/win32-arm64/pynect_addon.node +0 -0
- package/prebuilds/win32-x64/pynect-prebuild.json +8 -0
- package/prebuilds/win32-x64/pynect_addon.node +0 -0
- package/python/error_handler.py +2 -2
- package/python/pynect_runtime.py +3 -3
- package/python/serializer.py +3 -3
- package/scripts/postinstall.js +1 -1
- package/scripts/pyfig.js +16 -1
- package/src/native/native-addon-loader.ts +218 -0
- package/src/native/python_bridge.cpp +3 -3
- package/dist/core/IsolatedWorker.d.ts.map +0 -1
- package/dist/core/IsolatedWorker.js.map +0 -1
- package/dist/core/PyCallable.d.ts.map +0 -1
- package/dist/core/PyCallable.js.map +0 -1
- package/dist/core/PyContext.d.ts.map +0 -1
- package/dist/core/PyContext.js.map +0 -1
- package/dist/core/PyIterator.d.ts.map +0 -1
- package/dist/core/PyIterator.js.map +0 -1
- package/dist/core/PyModule.d.ts.map +0 -1
- package/dist/core/PyModule.js.map +0 -1
- package/dist/core/PyProxy.d.ts.map +0 -1
- package/dist/core/PyProxy.js.map +0 -1
- package/dist/core/PyRuntime.d.ts.map +0 -1
- package/dist/core/PyRuntime.js.map +0 -1
- package/dist/env/PackageInstaller.d.ts.map +0 -1
- package/dist/env/PackageInstaller.js.map +0 -1
- package/dist/env/ProjectEnvironment.d.ts.map +0 -1
- package/dist/env/ProjectEnvironment.js.map +0 -1
- package/dist/env/PyfigAdapter.d.ts.map +0 -1
- package/dist/env/PyfigAdapter.js.map +0 -1
- package/dist/env/PythonDetector.d.ts.map +0 -1
- package/dist/env/PythonDetector.js.map +0 -1
- package/dist/env/PythonProvisioner.d.ts.map +0 -1
- package/dist/env/PythonProvisioner.js.map +0 -1
- package/dist/env/VenvManager.d.ts.map +0 -1
- package/dist/env/VenvManager.js.map +0 -1
- package/dist/native/NativeAddonLoader.d.ts.map +0 -1
- package/dist/native/NativeAddonLoader.js +0 -75
- package/dist/native/NativeAddonLoader.js.map +0 -1
- package/dist/plugins/Plugin.interface.js.map +0 -1
- package/dist/plugins/PluginManager.d.ts.map +0 -1
- package/dist/plugins/PluginManager.js.map +0 -1
- package/dist/plugins/builtin/NumpyPlugin.d.ts.map +0 -1
- package/dist/plugins/builtin/NumpyPlugin.js.map +0 -1
- package/dist/plugins/builtin/PandasPlugin.d.ts.map +0 -1
- package/dist/plugins/builtin/PandasPlugin.js.map +0 -1
- package/dist/plugins/builtin/TorchPlugin.d.ts.map +0 -1
- package/dist/plugins/builtin/TorchPlugin.js.map +0 -1
- package/dist/serialization/DataFrameBridge.d.ts.map +0 -1
- package/dist/serialization/DataFrameBridge.js.map +0 -1
- package/dist/serialization/MsgPackSerializer.d.ts.map +0 -1
- package/dist/serialization/MsgPackSerializer.js.map +0 -1
- package/dist/serialization/NumpyBridge.d.ts.map +0 -1
- package/dist/serialization/NumpyBridge.js.map +0 -1
- package/dist/utils/ErrorTranslator.d.ts.map +0 -1
- package/dist/utils/ErrorTranslator.js.map +0 -1
- package/dist/utils/MemoryMonitor.d.ts.map +0 -1
- package/dist/utils/MemoryMonitor.js.map +0 -1
- package/src/native/NativeAddonLoader.ts +0 -98
|
@@ -29,8 +29,9 @@ export declare class VenvManager {
|
|
|
29
29
|
private readonly basePython;
|
|
30
30
|
private readonly installTimeout;
|
|
31
31
|
private readonly projectRoot;
|
|
32
|
-
private readonly
|
|
33
|
-
private
|
|
32
|
+
private readonly configuredPath?;
|
|
33
|
+
private venvPath;
|
|
34
|
+
private statePath;
|
|
34
35
|
private selectedPython?;
|
|
35
36
|
constructor(options: VenvManagerOptions);
|
|
36
37
|
setup(): Promise<VenvSetupResult>;
|
|
@@ -52,4 +53,4 @@ export declare class PackageInstallError extends Error {
|
|
|
52
53
|
readonly packages: string[];
|
|
53
54
|
constructor(packages: string[], detail: string);
|
|
54
55
|
}
|
|
55
|
-
//# sourceMappingURL=
|
|
56
|
+
//# sourceMappingURL=venv-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venv-manager.d.ts","sourceRoot":"","sources":["../../src/env/venv-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAYxD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAIrB;IACF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,OAAO,EAAE,kBAAkB;IAqBjC,KAAK,IAAI,OAAO,CAAC,eAAe,CAAC;IA6BjC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,kBAAkB,IAAI,MAAM,EAAE;IAI9B,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,OAAO,IAAI,OAAO;IAKlB,OAAO,IAAI,IAAI;IAOf,aAAa,IAAI,MAAM,EAAE;IAIzB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,SAAS;CAOlB;AAkBD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAEhB,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM;CAK/C"}
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.PackageInstallError = exports.VenvCreationError = exports.VenvManager = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const logger = new
|
|
9
|
+
const logger_1 = require("../utils/logger");
|
|
10
|
+
const package_installer_1 = require("./package-installer");
|
|
11
|
+
const pyfig_adapter_1 = require("./pyfig-adapter");
|
|
12
|
+
const logger = new logger_1.Logger('VenvManager');
|
|
13
13
|
const STATE_FILENAME = '.pynect-venv-state.json';
|
|
14
14
|
/**
|
|
15
15
|
* Compatibility facade for the historical VenvManager API.
|
|
@@ -21,6 +21,7 @@ class VenvManager {
|
|
|
21
21
|
basePython;
|
|
22
22
|
installTimeout;
|
|
23
23
|
projectRoot;
|
|
24
|
+
configuredPath;
|
|
24
25
|
venvPath;
|
|
25
26
|
statePath;
|
|
26
27
|
selectedPython;
|
|
@@ -33,31 +34,34 @@ class VenvManager {
|
|
|
33
34
|
};
|
|
34
35
|
this.basePython = options.basePython ?? '';
|
|
35
36
|
this.installTimeout = options.installTimeout ?? 300_000;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
this.configuredPath = this.config.path ? path_1.default.resolve(this.config.path) : undefined;
|
|
38
|
+
this.projectRoot = (0, pyfig_adapter_1.pynectProjectRoot)();
|
|
39
|
+
const rootEnvironment = path_1.default.join(this.projectRoot, '.venv');
|
|
40
|
+
this.venvPath = this.configuredPath ?? (fs_1.default.existsSync(rootEnvironment)
|
|
41
|
+
? rootEnvironment
|
|
42
|
+
: path_1.default.join(this.projectRoot, 'node_modules', '.pyfig', 'venv'));
|
|
42
43
|
this.statePath = path_1.default.join(this.venvPath, STATE_FILENAME);
|
|
43
44
|
}
|
|
44
45
|
async setup() {
|
|
45
46
|
const existed = this.isValid();
|
|
46
|
-
const { environment } = await (0,
|
|
47
|
+
const { environment } = await (0, pyfig_adapter_1.ensurePynectEnvironment)({
|
|
47
48
|
projectRoot: this.projectRoot,
|
|
48
|
-
pythonPath: this.
|
|
49
|
+
pythonPath: this.configuredPath && this.isValid()
|
|
50
|
+
? venvPython(this.configuredPath)
|
|
51
|
+
: this.basePython,
|
|
49
52
|
});
|
|
50
53
|
this.selectedPython = environment.python;
|
|
51
54
|
this.assertSelectedEnvironment(environment.python);
|
|
55
|
+
this.venvPath = environment.python.virtualEnvironment;
|
|
56
|
+
this.statePath = path_1.default.join(this.venvPath, STATE_FILENAME);
|
|
52
57
|
if (this.config.autoInstall && this.config.packages.length > 0) {
|
|
53
58
|
throw new Error('VenvManager auto-install is no longer supported. Declare package.json ' +
|
|
54
|
-
'pynect.
|
|
59
|
+
'pynect.project.dependencies and run "pynect sync".');
|
|
55
60
|
}
|
|
56
|
-
const manager = environment.packageManager;
|
|
57
61
|
logger.info(`VenvManager: ready: ${environment.python.executable}`);
|
|
58
62
|
return {
|
|
59
63
|
pythonExecutable: environment.python.executable,
|
|
60
|
-
pipExecutable:
|
|
64
|
+
pipExecutable: environment.uv.executable,
|
|
61
65
|
created: !existed,
|
|
62
66
|
packagesInstalled: false,
|
|
63
67
|
};
|
|
@@ -93,7 +97,7 @@ class VenvManager {
|
|
|
93
97
|
if (!this.isValid()) {
|
|
94
98
|
throw new Error(`VenvManager: venv does not exist at ${this.venvPath}`);
|
|
95
99
|
}
|
|
96
|
-
return new
|
|
100
|
+
return new package_installer_1.PackageInstaller({
|
|
97
101
|
pythonExecutable: this.pythonExecutable,
|
|
98
102
|
cwd: this.projectRoot,
|
|
99
103
|
indexUrl: this.config.pipIndexUrl,
|
|
@@ -101,8 +105,11 @@ class VenvManager {
|
|
|
101
105
|
});
|
|
102
106
|
}
|
|
103
107
|
assertSelectedEnvironment(python) {
|
|
104
|
-
if (!python.virtualEnvironment
|
|
105
|
-
throw new Error(`Pyfig selected ${python.
|
|
108
|
+
if (!python.virtualEnvironment) {
|
|
109
|
+
throw new Error(`Pyfig selected ${python.executable} without a virtual environment.`);
|
|
110
|
+
}
|
|
111
|
+
if (this.configuredPath && !pathsEqual(python.virtualEnvironment, this.configuredPath)) {
|
|
112
|
+
throw new Error(`Pyfig selected ${python.virtualEnvironment}; expected ${this.configuredPath}.`);
|
|
106
113
|
}
|
|
107
114
|
}
|
|
108
115
|
updateState(installer) {
|
|
@@ -150,4 +157,4 @@ class PackageInstallError extends Error {
|
|
|
150
157
|
}
|
|
151
158
|
}
|
|
152
159
|
exports.PackageInstallError = PackageInstallError;
|
|
153
|
-
//# sourceMappingURL=
|
|
160
|
+
//# sourceMappingURL=venv-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venv-manager.js","sourceRoot":"","sources":["../../src/env/venv-manager.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,4CAAyC;AACzC,2DAAuD;AACvD,mDAIyB;AAEzB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,aAAa,CAAC,CAAC;AACzC,MAAM,cAAc,GAAG,yBAAyB,CAAC;AAyBjD;;;;GAIG;AACH,MAAa,WAAW;IACL,MAAM,CAIrB;IACe,UAAU,CAAS;IACnB,cAAc,CAAS;IACvB,WAAW,CAAS;IACpB,cAAc,CAAU;IACjC,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,cAAc,CAAkB;IAExC,YAAY,OAA2B;QACrC,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,OAAO,CAAC,UAAU;YACrB,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE;YAC3C,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,IAAI,KAAK;YACpD,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE;SAC1C,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC;QAExD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,IAAA,iCAAiB,GAAE,CAAC;QACvC,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,IAAI,CACrC,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC;YAC5B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAClE,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,uCAAuB,EAAC;YACpD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC/C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC;gBACjC,CAAC,CAAC,IAAI,CAAC,UAAU;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,kBAAmB,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CACb,wEAAwE;gBACxE,oDAAoD,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,OAAO;YACL,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,UAAU;YAC/C,aAAa,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU;YACxC,OAAO,EAAE,CAAC,OAAO;YACjB,iBAAiB,EAAE,KAAK;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAkB;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,mBAAmB,CAC3B,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,cAAc,EAAE,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,OAAO,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC1D,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,kCAAkC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,iBAAiB,IAAI,EAAE,CAAC;IACnD,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,oCAAgB,CAAC;YAC1B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACjC,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,yBAAyB,CAAC,MAAsB;QACtD,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,UAAU,iCAAiC,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CACb,kBAAkB,MAAM,CAAC,kBAAkB,cAAc,IAAI,CAAC,cAAc,GAAG,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,SAA2B;QAC7C,MAAM,KAAK,GAAc;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YACpD,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,SAAS;YACxD,iBAAiB,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACzF,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;SAC1B,CAAC;QACF,YAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAEO,SAAS;QACf,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAc,CAAC;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AA5ID,kCA4IC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,OAAO,cAAI,CAAC,IAAI,CACd,QAAQ,EACR,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAChD,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,KAAa;IAC7C,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;QAC1C,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC1E,CAAC,CAAC;IACF,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IACnC,QAAQ,CAAW;IAE5B,YAAY,QAAkB,EAAE,MAAc;QAC5C,KAAK,CAAC,+BAA+B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AARD,kDAQC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,11 +10,10 @@
|
|
|
10
10
|
* import { init, py } from 'pynect';
|
|
11
11
|
*
|
|
12
12
|
* await init({
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* packages: ['pandas', 'numpy'],
|
|
16
|
-
* autoInstall: true,
|
|
13
|
+
* project: {
|
|
14
|
+
* dependencies: ['pandas', 'numpy'],
|
|
17
15
|
* },
|
|
16
|
+
* tool: { pynect: { autoSync: 'if-missing' } },
|
|
18
17
|
* });
|
|
19
18
|
*
|
|
20
19
|
* const pd = await py.import('pandas');
|
|
@@ -22,10 +21,10 @@
|
|
|
22
21
|
* const result = await df.describe().to_dict('records');
|
|
23
22
|
* ```
|
|
24
23
|
*/
|
|
25
|
-
import { PyRuntime } from './core/
|
|
24
|
+
import { PyRuntime } from './core/py-runtime';
|
|
26
25
|
import type { PynectConfig } from './types/config';
|
|
27
26
|
import type { PyProxyInterface } from './types/python';
|
|
28
|
-
import type { IsolatedCallOptions } from './core/
|
|
27
|
+
import type { IsolatedCallOptions } from './core/isolated-worker';
|
|
29
28
|
/**
|
|
30
29
|
* The main `py` object - a proxy over the PyRuntime singleton.
|
|
31
30
|
* Provides access to all PyRuntime methods after initialization.
|
|
@@ -47,7 +46,8 @@ export declare const py: PyRuntime;
|
|
|
47
46
|
* @example
|
|
48
47
|
* ```typescript
|
|
49
48
|
* await init({
|
|
50
|
-
*
|
|
49
|
+
* project: { dependencies: ['pandas'] },
|
|
50
|
+
* tool: { pynect: { autoSync: 'if-missing' } },
|
|
51
51
|
* logLevel: 'info',
|
|
52
52
|
* });
|
|
53
53
|
* ```
|
|
@@ -141,28 +141,28 @@ export declare function getMemoryStats(): Promise<{
|
|
|
141
141
|
* Trigger Python garbage collection.
|
|
142
142
|
*/
|
|
143
143
|
export declare function collectGarbage(): Promise<void>;
|
|
144
|
-
export { PyRuntime } from './core/
|
|
145
|
-
export { PyProxy, PYNECT_WITH_OPTIONS } from './core/
|
|
146
|
-
export type { PynectFunction } from './core/
|
|
147
|
-
export { PyModule } from './core/
|
|
148
|
-
export { PyCallable } from './core/
|
|
149
|
-
export { PyIterator } from './core/
|
|
150
|
-
export { PyContext } from './core/
|
|
151
|
-
export { IsolatedWorker } from './core/
|
|
152
|
-
export type { IsolatedCallOptions } from './core/
|
|
153
|
-
export { Serializer } from './serialization/
|
|
154
|
-
export { NumpyBridge } from './serialization/
|
|
155
|
-
export { DataFrameBridge } from './serialization/
|
|
156
|
-
export { PythonError, PythonValueError, PythonTypeError, PythonKeyError, PythonIndexError, PythonAttributeError, PythonImportError, PythonModuleNotFoundError, PythonFileNotFoundError, PythonPermissionError, PythonRuntimeError, PythonMemoryError, PythonStopIteration, PythonTimeoutError, PynectNotInitializedError, PynectShutdownError, translatePythonError, isPythonError, isPythonErrorOfType, } from './utils/
|
|
157
|
-
export { PythonDetector } from './env/
|
|
158
|
-
export { VenvManager } from './env/
|
|
159
|
-
export { PackageInstaller } from './env/
|
|
160
|
-
export { createProjectPlan, discoverPynectContributions, moduleDispatcherIncludes, resolveExposedModule, syncProject, validateProjectEnvironment, } from './env/
|
|
161
|
-
export { resolveProjectConfig } from './config/project';
|
|
162
|
-
export { PluginManager } from './plugins/
|
|
144
|
+
export { PyRuntime } from './core/py-runtime';
|
|
145
|
+
export { PyProxy, PYNECT_WITH_OPTIONS } from './core/py-proxy';
|
|
146
|
+
export type { PynectFunction } from './core/py-proxy';
|
|
147
|
+
export { PyModule } from './core/py-module';
|
|
148
|
+
export { PyCallable } from './core/py-callable';
|
|
149
|
+
export { PyIterator } from './core/py-iterator';
|
|
150
|
+
export { PyContext } from './core/py-context';
|
|
151
|
+
export { IsolatedWorker } from './core/isolated-worker';
|
|
152
|
+
export type { IsolatedCallOptions } from './core/isolated-worker';
|
|
153
|
+
export { Serializer } from './serialization/serializer';
|
|
154
|
+
export { NumpyBridge } from './serialization/numpy-bridge';
|
|
155
|
+
export { DataFrameBridge } from './serialization/data-frame-bridge';
|
|
156
|
+
export { PythonError, PythonValueError, PythonTypeError, PythonKeyError, PythonIndexError, PythonAttributeError, PythonImportError, PythonModuleNotFoundError, PythonFileNotFoundError, PythonPermissionError, PythonRuntimeError, PythonMemoryError, PythonStopIteration, PythonTimeoutError, PynectNotInitializedError, PynectShutdownError, translatePythonError, isPythonError, isPythonErrorOfType, } from './utils/error-translator';
|
|
157
|
+
export { PythonDetector } from './env/python-detector';
|
|
158
|
+
export { VenvManager } from './env/venv-manager';
|
|
159
|
+
export { PackageInstaller } from './env/package-installer';
|
|
160
|
+
export { createProjectPlan, discoverPynectContributions, moduleDispatcherIncludes, resolveExposedModule, syncProject, validateProjectEnvironment, } from './env/project-environment';
|
|
161
|
+
export { CURRENT_PYNECT_SCHEMA_VERSION, resolveProjectConfig } from './config/project';
|
|
162
|
+
export { PluginManager } from './plugins/plugin-manager';
|
|
163
163
|
export type { PynectConfig, ResolvedPynectConfig, VirtualenvConfig, IsolationConfig, DispatcherConfig, LogLevel, PyObjectId, PyTypeInfo, PyParamInfo, PyCallableInfo, PyClassInfo, PyModuleInspection, SerializedFormat, SerializedValue, PyCallResult, PyErrorInfo, DataFrameResult, SeriesResult, NumPyArrayResult, PyProxyInterface, AttributePath, NativeAddon, PyCallOptions, } from './types/index';
|
|
164
|
-
export type { AutoSyncMode, PynectModuleManifest, PynectPackageManifest, ResolvedProjectConfig, } from './config/project';
|
|
165
|
-
export type { ExposedModule, PynectContribution, PynectEnvironmentState, PynectProjectPlan, SyncProjectOptions, SyncProjectResult, } from './env/
|
|
164
|
+
export type { AutoSyncMode, CanonicalPynectPackageManifest, PynectModuleManifest, PynectPackageManifest, PynectProjectTable, PynectToolTable, PynectUvTable, ProjectConfigOverrides, ResolvedProjectConfig, } from './config/project';
|
|
165
|
+
export type { ExposedModule, PynectContribution, PynectEnvironmentState, PynectProjectPlan, SyncProjectOptions, SyncProjectResult, } from './env/project-environment';
|
|
166
166
|
declare const _default: {
|
|
167
167
|
init: typeof init;
|
|
168
168
|
shutdown: typeof shutdown;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -11,11 +11,10 @@
|
|
|
11
11
|
* import { init, py } from 'pynect';
|
|
12
12
|
*
|
|
13
13
|
* await init({
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* packages: ['pandas', 'numpy'],
|
|
17
|
-
* autoInstall: true,
|
|
14
|
+
* project: {
|
|
15
|
+
* dependencies: ['pandas', 'numpy'],
|
|
18
16
|
* },
|
|
17
|
+
* tool: { pynect: { autoSync: 'if-missing' } },
|
|
19
18
|
* });
|
|
20
19
|
*
|
|
21
20
|
* const pd = await py.import('pandas');
|
|
@@ -24,7 +23,7 @@
|
|
|
24
23
|
* ```
|
|
25
24
|
*/
|
|
26
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
-
exports.PluginManager = exports.resolveProjectConfig = exports.validateProjectEnvironment = exports.syncProject = exports.resolveExposedModule = exports.moduleDispatcherIncludes = exports.discoverPynectContributions = exports.createProjectPlan = exports.PackageInstaller = exports.VenvManager = exports.PythonDetector = exports.isPythonErrorOfType = exports.isPythonError = exports.translatePythonError = exports.PynectShutdownError = exports.PynectNotInitializedError = exports.PythonTimeoutError = exports.PythonStopIteration = exports.PythonMemoryError = exports.PythonRuntimeError = exports.PythonPermissionError = exports.PythonFileNotFoundError = exports.PythonModuleNotFoundError = exports.PythonImportError = exports.PythonAttributeError = exports.PythonIndexError = exports.PythonKeyError = exports.PythonTypeError = exports.PythonValueError = exports.PythonError = exports.DataFrameBridge = exports.NumpyBridge = exports.Serializer = exports.IsolatedWorker = exports.PyContext = exports.PyIterator = exports.PyCallable = exports.PyModule = exports.PYNECT_WITH_OPTIONS = exports.PyProxy = exports.PyRuntime = exports.py = void 0;
|
|
26
|
+
exports.PluginManager = exports.resolveProjectConfig = exports.CURRENT_PYNECT_SCHEMA_VERSION = exports.validateProjectEnvironment = exports.syncProject = exports.resolveExposedModule = exports.moduleDispatcherIncludes = exports.discoverPynectContributions = exports.createProjectPlan = exports.PackageInstaller = exports.VenvManager = exports.PythonDetector = exports.isPythonErrorOfType = exports.isPythonError = exports.translatePythonError = exports.PynectShutdownError = exports.PynectNotInitializedError = exports.PythonTimeoutError = exports.PythonStopIteration = exports.PythonMemoryError = exports.PythonRuntimeError = exports.PythonPermissionError = exports.PythonFileNotFoundError = exports.PythonModuleNotFoundError = exports.PythonImportError = exports.PythonAttributeError = exports.PythonIndexError = exports.PythonKeyError = exports.PythonTypeError = exports.PythonValueError = exports.PythonError = exports.DataFrameBridge = exports.NumpyBridge = exports.Serializer = exports.IsolatedWorker = exports.PyContext = exports.PyIterator = exports.PyCallable = exports.PyModule = exports.PYNECT_WITH_OPTIONS = exports.PyProxy = exports.PyRuntime = exports.py = void 0;
|
|
28
27
|
exports.init = init;
|
|
29
28
|
exports.shutdown = shutdown;
|
|
30
29
|
exports.isInitialized = isInitialized;
|
|
@@ -37,15 +36,15 @@ exports.runFile = runFile;
|
|
|
37
36
|
exports.installPackages = installPackages;
|
|
38
37
|
exports.getMemoryStats = getMemoryStats;
|
|
39
38
|
exports.collectGarbage = collectGarbage;
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const
|
|
39
|
+
const py_runtime_1 = require("./core/py-runtime");
|
|
40
|
+
const logger_1 = require("./utils/logger");
|
|
41
|
+
const error_translator_1 = require("./utils/error-translator");
|
|
42
|
+
const project_environment_1 = require("./env/project-environment");
|
|
43
|
+
const locking_1 = require("./utils/locking");
|
|
45
44
|
// Singleton Runtime Management
|
|
46
45
|
let _runtime = null;
|
|
47
46
|
let _autoShutdownEnabled = true;
|
|
48
|
-
const _logger = new
|
|
47
|
+
const _logger = new logger_1.Logger('pynect');
|
|
49
48
|
// Main py Object (Proxy over PyRuntime)
|
|
50
49
|
/**
|
|
51
50
|
* The main `py` object - a proxy over the PyRuntime singleton.
|
|
@@ -61,7 +60,7 @@ exports.py = new Proxy({}, {
|
|
|
61
60
|
// Prevent silent "awaiting py" mistakes
|
|
62
61
|
return undefined;
|
|
63
62
|
}
|
|
64
|
-
throw new
|
|
63
|
+
throw new error_translator_1.PynectNotInitializedError(`Cannot access py.${String(prop)} because Pynect is not initialized. ` +
|
|
65
64
|
`Call 'await init()' before using 'py'.`);
|
|
66
65
|
}
|
|
67
66
|
const value = _runtime[prop];
|
|
@@ -72,7 +71,7 @@ exports.py = new Proxy({}, {
|
|
|
72
71
|
},
|
|
73
72
|
set(_target, prop, value) {
|
|
74
73
|
if (!_runtime) {
|
|
75
|
-
throw new
|
|
74
|
+
throw new error_translator_1.PynectNotInitializedError('Pynect is not initialized.');
|
|
76
75
|
}
|
|
77
76
|
_runtime[prop] = value;
|
|
78
77
|
return true;
|
|
@@ -99,13 +98,14 @@ exports.py = new Proxy({}, {
|
|
|
99
98
|
* @example
|
|
100
99
|
* ```typescript
|
|
101
100
|
* await init({
|
|
102
|
-
*
|
|
101
|
+
* project: { dependencies: ['pandas'] },
|
|
102
|
+
* tool: { pynect: { autoSync: 'if-missing' } },
|
|
103
103
|
* logLevel: 'info',
|
|
104
104
|
* });
|
|
105
105
|
* ```
|
|
106
106
|
*/
|
|
107
107
|
async function init(config, options) {
|
|
108
|
-
await (0,
|
|
108
|
+
await (0, locking_1.withPynectLock)({ operation: 'init' }, async () => {
|
|
109
109
|
if (_runtime && !options?.force) {
|
|
110
110
|
_logger.debug('Pynect already initialized; skipping');
|
|
111
111
|
return;
|
|
@@ -124,7 +124,7 @@ async function _doInit(config) {
|
|
|
124
124
|
_logger.info('Initializing Pynect runtime');
|
|
125
125
|
const startTime = performance.now();
|
|
126
126
|
try {
|
|
127
|
-
_runtime = await
|
|
127
|
+
_runtime = await py_runtime_1.PyRuntime.create(config);
|
|
128
128
|
_autoShutdownEnabled = _runtime.getConfig().autoShutdown;
|
|
129
129
|
if (_autoShutdownEnabled) {
|
|
130
130
|
_registerCleanup();
|
|
@@ -148,7 +148,7 @@ async function _doInit(config) {
|
|
|
148
148
|
* ```
|
|
149
149
|
*/
|
|
150
150
|
async function shutdown() {
|
|
151
|
-
await (0,
|
|
151
|
+
await (0, locking_1.withPynectLock)({ operation: 'shutdown' }, async () => _doShutdown(), undefined, {
|
|
152
152
|
key: 'pynect-runtime-lifecycle',
|
|
153
153
|
name: 'Pynect runtime lifecycle',
|
|
154
154
|
namespace: 'pynect',
|
|
@@ -184,7 +184,7 @@ function isInitialized() {
|
|
|
184
184
|
*/
|
|
185
185
|
function getRuntime() {
|
|
186
186
|
if (!_runtime) {
|
|
187
|
-
throw new
|
|
187
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
188
188
|
}
|
|
189
189
|
return _runtime;
|
|
190
190
|
}
|
|
@@ -193,10 +193,10 @@ async function importModule(moduleName) {
|
|
|
193
193
|
await init();
|
|
194
194
|
}
|
|
195
195
|
if (!_runtime) {
|
|
196
|
-
throw new
|
|
196
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
197
197
|
}
|
|
198
198
|
const exposed = moduleName.includes(':')
|
|
199
|
-
? (0,
|
|
199
|
+
? (0, project_environment_1.resolveExposedModule)(moduleName, _runtime.getConfig().projectRoot)
|
|
200
200
|
: undefined;
|
|
201
201
|
if (moduleName.includes(':') && !exposed) {
|
|
202
202
|
throw new Error(`Unknown Pynect module id: ${moduleName}`);
|
|
@@ -206,7 +206,7 @@ async function importModule(moduleName) {
|
|
|
206
206
|
/** Call a JSON-compatible function through the optional killable Python worker. */
|
|
207
207
|
async function callIsolated(moduleName, functionName, args = [], options = {}) {
|
|
208
208
|
if (!_runtime) {
|
|
209
|
-
throw new
|
|
209
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
210
210
|
}
|
|
211
211
|
return _runtime.callIsolated(moduleName, functionName, args, options);
|
|
212
212
|
}
|
|
@@ -222,7 +222,7 @@ async function callIsolated(moduleName, functionName, args = [], options = {}) {
|
|
|
222
222
|
*/
|
|
223
223
|
async function evalPython(expression) {
|
|
224
224
|
if (!_runtime) {
|
|
225
|
-
throw new
|
|
225
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
226
226
|
}
|
|
227
227
|
return _runtime.eval(expression);
|
|
228
228
|
}
|
|
@@ -240,7 +240,7 @@ async function evalPython(expression) {
|
|
|
240
240
|
*/
|
|
241
241
|
async function execPython(code) {
|
|
242
242
|
if (!_runtime) {
|
|
243
|
-
throw new
|
|
243
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
244
244
|
}
|
|
245
245
|
return _runtime.exec(code);
|
|
246
246
|
}
|
|
@@ -249,7 +249,7 @@ async function execPython(code) {
|
|
|
249
249
|
*/
|
|
250
250
|
async function runFile(filePath) {
|
|
251
251
|
if (!_runtime) {
|
|
252
|
-
throw new
|
|
252
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
253
253
|
}
|
|
254
254
|
return _runtime.runFile(filePath);
|
|
255
255
|
}
|
|
@@ -263,7 +263,7 @@ async function runFile(filePath) {
|
|
|
263
263
|
*/
|
|
264
264
|
async function installPackages(packages) {
|
|
265
265
|
if (!_runtime) {
|
|
266
|
-
throw new
|
|
266
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
267
267
|
}
|
|
268
268
|
return _runtime.installPackages(packages);
|
|
269
269
|
}
|
|
@@ -272,7 +272,7 @@ async function installPackages(packages) {
|
|
|
272
272
|
*/
|
|
273
273
|
async function getMemoryStats() {
|
|
274
274
|
if (!_runtime) {
|
|
275
|
-
throw new
|
|
275
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
276
276
|
}
|
|
277
277
|
return _runtime.getMemoryStats();
|
|
278
278
|
}
|
|
@@ -281,7 +281,7 @@ async function getMemoryStats() {
|
|
|
281
281
|
*/
|
|
282
282
|
async function collectGarbage() {
|
|
283
283
|
if (!_runtime) {
|
|
284
|
-
throw new
|
|
284
|
+
throw new error_translator_1.PynectNotInitializedError();
|
|
285
285
|
}
|
|
286
286
|
return _runtime.collectGarbage();
|
|
287
287
|
}
|
|
@@ -312,68 +312,69 @@ function _registerCleanup() {
|
|
|
312
312
|
}
|
|
313
313
|
// Exports
|
|
314
314
|
// Core
|
|
315
|
-
var
|
|
316
|
-
Object.defineProperty(exports, "PyRuntime", { enumerable: true, get: function () { return
|
|
317
|
-
var
|
|
318
|
-
Object.defineProperty(exports, "PyProxy", { enumerable: true, get: function () { return
|
|
319
|
-
Object.defineProperty(exports, "PYNECT_WITH_OPTIONS", { enumerable: true, get: function () { return
|
|
320
|
-
var
|
|
321
|
-
Object.defineProperty(exports, "PyModule", { enumerable: true, get: function () { return
|
|
322
|
-
var
|
|
323
|
-
Object.defineProperty(exports, "PyCallable", { enumerable: true, get: function () { return
|
|
324
|
-
var
|
|
325
|
-
Object.defineProperty(exports, "PyIterator", { enumerable: true, get: function () { return
|
|
326
|
-
var
|
|
327
|
-
Object.defineProperty(exports, "PyContext", { enumerable: true, get: function () { return
|
|
328
|
-
var
|
|
329
|
-
Object.defineProperty(exports, "IsolatedWorker", { enumerable: true, get: function () { return
|
|
315
|
+
var py_runtime_2 = require("./core/py-runtime");
|
|
316
|
+
Object.defineProperty(exports, "PyRuntime", { enumerable: true, get: function () { return py_runtime_2.PyRuntime; } });
|
|
317
|
+
var py_proxy_1 = require("./core/py-proxy");
|
|
318
|
+
Object.defineProperty(exports, "PyProxy", { enumerable: true, get: function () { return py_proxy_1.PyProxy; } });
|
|
319
|
+
Object.defineProperty(exports, "PYNECT_WITH_OPTIONS", { enumerable: true, get: function () { return py_proxy_1.PYNECT_WITH_OPTIONS; } });
|
|
320
|
+
var py_module_1 = require("./core/py-module");
|
|
321
|
+
Object.defineProperty(exports, "PyModule", { enumerable: true, get: function () { return py_module_1.PyModule; } });
|
|
322
|
+
var py_callable_1 = require("./core/py-callable");
|
|
323
|
+
Object.defineProperty(exports, "PyCallable", { enumerable: true, get: function () { return py_callable_1.PyCallable; } });
|
|
324
|
+
var py_iterator_1 = require("./core/py-iterator");
|
|
325
|
+
Object.defineProperty(exports, "PyIterator", { enumerable: true, get: function () { return py_iterator_1.PyIterator; } });
|
|
326
|
+
var py_context_1 = require("./core/py-context");
|
|
327
|
+
Object.defineProperty(exports, "PyContext", { enumerable: true, get: function () { return py_context_1.PyContext; } });
|
|
328
|
+
var isolated_worker_1 = require("./core/isolated-worker");
|
|
329
|
+
Object.defineProperty(exports, "IsolatedWorker", { enumerable: true, get: function () { return isolated_worker_1.IsolatedWorker; } });
|
|
330
330
|
// Serialization
|
|
331
|
-
var
|
|
332
|
-
Object.defineProperty(exports, "Serializer", { enumerable: true, get: function () { return
|
|
333
|
-
var
|
|
334
|
-
Object.defineProperty(exports, "NumpyBridge", { enumerable: true, get: function () { return
|
|
335
|
-
var
|
|
336
|
-
Object.defineProperty(exports, "DataFrameBridge", { enumerable: true, get: function () { return
|
|
331
|
+
var serializer_1 = require("./serialization/serializer");
|
|
332
|
+
Object.defineProperty(exports, "Serializer", { enumerable: true, get: function () { return serializer_1.Serializer; } });
|
|
333
|
+
var numpy_bridge_1 = require("./serialization/numpy-bridge");
|
|
334
|
+
Object.defineProperty(exports, "NumpyBridge", { enumerable: true, get: function () { return numpy_bridge_1.NumpyBridge; } });
|
|
335
|
+
var data_frame_bridge_1 = require("./serialization/data-frame-bridge");
|
|
336
|
+
Object.defineProperty(exports, "DataFrameBridge", { enumerable: true, get: function () { return data_frame_bridge_1.DataFrameBridge; } });
|
|
337
337
|
// Error types
|
|
338
|
-
var
|
|
339
|
-
Object.defineProperty(exports, "PythonError", { enumerable: true, get: function () { return
|
|
340
|
-
Object.defineProperty(exports, "PythonValueError", { enumerable: true, get: function () { return
|
|
341
|
-
Object.defineProperty(exports, "PythonTypeError", { enumerable: true, get: function () { return
|
|
342
|
-
Object.defineProperty(exports, "PythonKeyError", { enumerable: true, get: function () { return
|
|
343
|
-
Object.defineProperty(exports, "PythonIndexError", { enumerable: true, get: function () { return
|
|
344
|
-
Object.defineProperty(exports, "PythonAttributeError", { enumerable: true, get: function () { return
|
|
345
|
-
Object.defineProperty(exports, "PythonImportError", { enumerable: true, get: function () { return
|
|
346
|
-
Object.defineProperty(exports, "PythonModuleNotFoundError", { enumerable: true, get: function () { return
|
|
347
|
-
Object.defineProperty(exports, "PythonFileNotFoundError", { enumerable: true, get: function () { return
|
|
348
|
-
Object.defineProperty(exports, "PythonPermissionError", { enumerable: true, get: function () { return
|
|
349
|
-
Object.defineProperty(exports, "PythonRuntimeError", { enumerable: true, get: function () { return
|
|
350
|
-
Object.defineProperty(exports, "PythonMemoryError", { enumerable: true, get: function () { return
|
|
351
|
-
Object.defineProperty(exports, "PythonStopIteration", { enumerable: true, get: function () { return
|
|
352
|
-
Object.defineProperty(exports, "PythonTimeoutError", { enumerable: true, get: function () { return
|
|
353
|
-
Object.defineProperty(exports, "PynectNotInitializedError", { enumerable: true, get: function () { return
|
|
354
|
-
Object.defineProperty(exports, "PynectShutdownError", { enumerable: true, get: function () { return
|
|
355
|
-
Object.defineProperty(exports, "translatePythonError", { enumerable: true, get: function () { return
|
|
356
|
-
Object.defineProperty(exports, "isPythonError", { enumerable: true, get: function () { return
|
|
357
|
-
Object.defineProperty(exports, "isPythonErrorOfType", { enumerable: true, get: function () { return
|
|
338
|
+
var error_translator_2 = require("./utils/error-translator");
|
|
339
|
+
Object.defineProperty(exports, "PythonError", { enumerable: true, get: function () { return error_translator_2.PythonError; } });
|
|
340
|
+
Object.defineProperty(exports, "PythonValueError", { enumerable: true, get: function () { return error_translator_2.PythonValueError; } });
|
|
341
|
+
Object.defineProperty(exports, "PythonTypeError", { enumerable: true, get: function () { return error_translator_2.PythonTypeError; } });
|
|
342
|
+
Object.defineProperty(exports, "PythonKeyError", { enumerable: true, get: function () { return error_translator_2.PythonKeyError; } });
|
|
343
|
+
Object.defineProperty(exports, "PythonIndexError", { enumerable: true, get: function () { return error_translator_2.PythonIndexError; } });
|
|
344
|
+
Object.defineProperty(exports, "PythonAttributeError", { enumerable: true, get: function () { return error_translator_2.PythonAttributeError; } });
|
|
345
|
+
Object.defineProperty(exports, "PythonImportError", { enumerable: true, get: function () { return error_translator_2.PythonImportError; } });
|
|
346
|
+
Object.defineProperty(exports, "PythonModuleNotFoundError", { enumerable: true, get: function () { return error_translator_2.PythonModuleNotFoundError; } });
|
|
347
|
+
Object.defineProperty(exports, "PythonFileNotFoundError", { enumerable: true, get: function () { return error_translator_2.PythonFileNotFoundError; } });
|
|
348
|
+
Object.defineProperty(exports, "PythonPermissionError", { enumerable: true, get: function () { return error_translator_2.PythonPermissionError; } });
|
|
349
|
+
Object.defineProperty(exports, "PythonRuntimeError", { enumerable: true, get: function () { return error_translator_2.PythonRuntimeError; } });
|
|
350
|
+
Object.defineProperty(exports, "PythonMemoryError", { enumerable: true, get: function () { return error_translator_2.PythonMemoryError; } });
|
|
351
|
+
Object.defineProperty(exports, "PythonStopIteration", { enumerable: true, get: function () { return error_translator_2.PythonStopIteration; } });
|
|
352
|
+
Object.defineProperty(exports, "PythonTimeoutError", { enumerable: true, get: function () { return error_translator_2.PythonTimeoutError; } });
|
|
353
|
+
Object.defineProperty(exports, "PynectNotInitializedError", { enumerable: true, get: function () { return error_translator_2.PynectNotInitializedError; } });
|
|
354
|
+
Object.defineProperty(exports, "PynectShutdownError", { enumerable: true, get: function () { return error_translator_2.PynectShutdownError; } });
|
|
355
|
+
Object.defineProperty(exports, "translatePythonError", { enumerable: true, get: function () { return error_translator_2.translatePythonError; } });
|
|
356
|
+
Object.defineProperty(exports, "isPythonError", { enumerable: true, get: function () { return error_translator_2.isPythonError; } });
|
|
357
|
+
Object.defineProperty(exports, "isPythonErrorOfType", { enumerable: true, get: function () { return error_translator_2.isPythonErrorOfType; } });
|
|
358
358
|
// Environment management
|
|
359
|
-
var
|
|
360
|
-
Object.defineProperty(exports, "PythonDetector", { enumerable: true, get: function () { return
|
|
361
|
-
var
|
|
362
|
-
Object.defineProperty(exports, "VenvManager", { enumerable: true, get: function () { return
|
|
363
|
-
var
|
|
364
|
-
Object.defineProperty(exports, "PackageInstaller", { enumerable: true, get: function () { return
|
|
365
|
-
var
|
|
366
|
-
Object.defineProperty(exports, "createProjectPlan", { enumerable: true, get: function () { return
|
|
367
|
-
Object.defineProperty(exports, "discoverPynectContributions", { enumerable: true, get: function () { return
|
|
368
|
-
Object.defineProperty(exports, "moduleDispatcherIncludes", { enumerable: true, get: function () { return
|
|
369
|
-
Object.defineProperty(exports, "resolveExposedModule", { enumerable: true, get: function () { return
|
|
370
|
-
Object.defineProperty(exports, "syncProject", { enumerable: true, get: function () { return
|
|
371
|
-
Object.defineProperty(exports, "validateProjectEnvironment", { enumerable: true, get: function () { return
|
|
359
|
+
var python_detector_1 = require("./env/python-detector");
|
|
360
|
+
Object.defineProperty(exports, "PythonDetector", { enumerable: true, get: function () { return python_detector_1.PythonDetector; } });
|
|
361
|
+
var venv_manager_1 = require("./env/venv-manager");
|
|
362
|
+
Object.defineProperty(exports, "VenvManager", { enumerable: true, get: function () { return venv_manager_1.VenvManager; } });
|
|
363
|
+
var package_installer_1 = require("./env/package-installer");
|
|
364
|
+
Object.defineProperty(exports, "PackageInstaller", { enumerable: true, get: function () { return package_installer_1.PackageInstaller; } });
|
|
365
|
+
var project_environment_2 = require("./env/project-environment");
|
|
366
|
+
Object.defineProperty(exports, "createProjectPlan", { enumerable: true, get: function () { return project_environment_2.createProjectPlan; } });
|
|
367
|
+
Object.defineProperty(exports, "discoverPynectContributions", { enumerable: true, get: function () { return project_environment_2.discoverPynectContributions; } });
|
|
368
|
+
Object.defineProperty(exports, "moduleDispatcherIncludes", { enumerable: true, get: function () { return project_environment_2.moduleDispatcherIncludes; } });
|
|
369
|
+
Object.defineProperty(exports, "resolveExposedModule", { enumerable: true, get: function () { return project_environment_2.resolveExposedModule; } });
|
|
370
|
+
Object.defineProperty(exports, "syncProject", { enumerable: true, get: function () { return project_environment_2.syncProject; } });
|
|
371
|
+
Object.defineProperty(exports, "validateProjectEnvironment", { enumerable: true, get: function () { return project_environment_2.validateProjectEnvironment; } });
|
|
372
372
|
var project_1 = require("./config/project");
|
|
373
|
+
Object.defineProperty(exports, "CURRENT_PYNECT_SCHEMA_VERSION", { enumerable: true, get: function () { return project_1.CURRENT_PYNECT_SCHEMA_VERSION; } });
|
|
373
374
|
Object.defineProperty(exports, "resolveProjectConfig", { enumerable: true, get: function () { return project_1.resolveProjectConfig; } });
|
|
374
375
|
// Plugins
|
|
375
|
-
var
|
|
376
|
-
Object.defineProperty(exports, "PluginManager", { enumerable: true, get: function () { return
|
|
376
|
+
var plugin_manager_1 = require("./plugins/plugin-manager");
|
|
377
|
+
Object.defineProperty(exports, "PluginManager", { enumerable: true, get: function () { return plugin_manager_1.PluginManager; } });
|
|
377
378
|
// Default export
|
|
378
379
|
exports.default = {
|
|
379
380
|
init,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;AAkFH,oBAsBC;AA4BD,4BAYC;AAwBD,sCAEC;AAMD,gCAKC;AAqBD,oCAUC;AAGD,oCAQC;AAYD,gCAGC;AAcD,gCAGC;AAKD,0BAGC;AAUD,0CAGC;AAKD,wCAQC;AAKD,wCAGC;AAvSD,kDAA8C;AAC9C,2CAAwC;AACxC,+DAAqE;AAIrE,mEAAiE;AACjE,6CAAiD;AAEjD,+BAA+B;AAE/B,IAAI,QAAQ,GAAqB,IAAI,CAAC;AACtC,IAAI,oBAAoB,GAAG,IAAI,CAAC;AAEhC,MAAM,OAAO,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,CAAC;AAErC,wCAAwC;AAExC;;;;;GAKG;AACU,QAAA,EAAE,GAAc,IAAI,KAAK,CAAC,EAAe,EAAE;IACtD,GAAG,CAAC,OAAO,EAAE,IAAqB;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,0CAA0C;YAC1C,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,wCAAwC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,IAAI,4CAAyB,CACjC,oBAAoB,MAAM,CAAC,IAAI,CAAC,sCAAsC;gBACtE,wCAAwC,CACzC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAI,QAAwD,CAAC,IAAI,CAAC,CAAC;QAC9E,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,OAAO,EAAE,IAAqB,EAAE,KAAc;QAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,4CAAyB,CAAC,4BAA4B,CAAC,CAAC;QACpE,CAAC;QACA,QAAwD,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,OAAO,EAAE,IAAqB;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAA,OAAO,KAAK,CAAC;QAAA,CAAC;QAC9B,OAAO,IAAI,IAAI,QAAQ,CAAC;IAC1B,CAAC;CACF,CAAC,CAAC;AAEH,sBAAsB;AAEtB;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,IAAI,CACxB,MAAqB,EACrB,OAA6B;IAE7B,MAAM,IAAA,wBAAc,EAClB,EAAE,SAAS,EAAE,MAAM,EAAE,EACrB,KAAK,IAAI,EAAE;QACT,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,IAAI,OAAO,EAAE,KAAK;YAAE,MAAM,WAAW,EAAE,CAAC;QACpD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC,EACD,SAAS,EACT;QACE,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,QAAQ;KAChB,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAAqB;IAC1C,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,sBAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,oBAAoB,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;QACzD,IAAI,oBAAoB,EAAE,CAAC;YAAA,gBAAgB,EAAE,CAAC;QAAA,CAAC;QAC/C,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,OAAO,CAAC,2BAA2B,OAAO,IAAI,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,QAAQ;IAC5B,MAAM,IAAA,wBAAc,EAClB,EAAE,SAAS,EAAE,UAAU,EAAE,EACzB,KAAK,IAAI,EAAE,CAAC,WAAW,EAAE,EACzB,SAAS,EACT;QACE,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,0BAA0B;QAChC,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,QAAQ;KAChB,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,4CAAyB,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAqBM,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,EAAE,CAAC;IAAA,CAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;QACtC,CAAC,CAAC,IAAA,0CAAoB,EAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,UAAU,CAAC,CAAC;AACxD,CAAC;AAED,mFAAmF;AAC5E,KAAK,UAAU,YAAY,CAChC,UAAkB,EAClB,YAAoB,EACpB,OAAkB,EAAE,EACpB,UAA+B,EAAE;IAEjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,OAAO,QAAQ,CAAC,YAAY,CAAI,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,OAAO,CAAC,QAAgB;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,eAAe,CAAC,QAAkB;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,OAAO,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc;IAMlC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAA,MAAM,IAAI,4CAAyB,EAAE,CAAC;IAAA,CAAC;IACvD,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC;AACnC,CAAC;AAED,+BAA+B;AAE/B,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,SAAS,gBAAgB;IACvB,IAAI,kBAAkB,EAAE,CAAC;QAAA,OAAO;IAAA,CAAC;IACjC,kBAAkB,GAAG,IAAI,CAAC;IAE1B,MAAM,OAAO,GAAG,GAAkB,EAAE;QAClC,IAAI,CAAC,oBAAoB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAA,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAAA,CAAC;QACnE,OAAO,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,IAAI,oBAAoB,IAAI,QAAQ,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,UAAU;AAEV,OAAO;AACP,gDAA8C;AAArC,uGAAA,SAAS,OAAA;AAClB,4CAA+D;AAAtD,mGAAA,OAAO,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAErC,8CAA4C;AAAnC,qGAAA,QAAQ,OAAA;AACjB,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,gDAA8C;AAArC,uGAAA,SAAS,OAAA;AAClB,0DAAwD;AAA/C,iHAAA,cAAc,OAAA;AAGvB,gBAAgB;AAChB,yDAAwD;AAA/C,wGAAA,UAAU,OAAA;AACnB,6DAA2D;AAAlD,2GAAA,WAAW,OAAA;AACpB,uEAAoE;AAA3D,oHAAA,eAAe,OAAA;AAExB,cAAc;AACd,6DAoBkC;AAnBhC,+GAAA,WAAW,OAAA;AACX,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AACf,kHAAA,cAAc,OAAA;AACd,oHAAA,gBAAgB,OAAA;AAChB,wHAAA,oBAAoB,OAAA;AACpB,qHAAA,iBAAiB,OAAA;AACjB,6HAAA,yBAAyB,OAAA;AACzB,2HAAA,uBAAuB,OAAA;AACvB,yHAAA,qBAAqB,OAAA;AACrB,sHAAA,kBAAkB,OAAA;AAClB,qHAAA,iBAAiB,OAAA;AACjB,uHAAA,mBAAmB,OAAA;AACnB,sHAAA,kBAAkB,OAAA;AAClB,6HAAA,yBAAyB,OAAA;AACzB,uHAAA,mBAAmB,OAAA;AACnB,wHAAA,oBAAoB,OAAA;AACpB,iHAAA,aAAa,OAAA;AACb,uHAAA,mBAAmB,OAAA;AAGrB,yBAAyB;AACzB,yDAAuD;AAA9C,iHAAA,cAAc,OAAA;AACvB,mDAAiD;AAAxC,2GAAA,WAAW,OAAA;AACpB,6DAA2D;AAAlD,qHAAA,gBAAgB,OAAA;AACzB,iEAOmC;AANjC,wHAAA,iBAAiB,OAAA;AACjB,kIAAA,2BAA2B,OAAA;AAC3B,+HAAA,wBAAwB,OAAA;AACxB,2HAAA,oBAAoB,OAAA;AACpB,kHAAA,WAAW,OAAA;AACX,iIAAA,0BAA0B,OAAA;AAE5B,4CAAuF;AAA9E,wHAAA,6BAA6B,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAE5D,UAAU;AACV,2DAAyD;AAAhD,+GAAA,aAAa,OAAA;AAgDtB,iBAAiB;AACjB,kBAAe;IACb,IAAI;IACJ,QAAQ;IACR,aAAa;IACb,UAAU;IACV,EAAE,EAAF,UAAE;IACF,MAAM,EAAE,YAAY;IACpB,YAAY;IACZ,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,OAAO;IACP,eAAe;IACf,cAAc;IACd,cAAc;CACf,CAAC"}
|
|
@@ -2,10 +2,12 @@ import type { NativeAddon } from '../types/addon';
|
|
|
2
2
|
export interface NativeAddonBuildOptions {
|
|
3
3
|
projectRoot: string;
|
|
4
4
|
pythonExecutable: string;
|
|
5
|
+
pythonLibrary: string;
|
|
6
|
+
pythonVersion: string;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
|
-
* Load
|
|
8
|
-
* JavaScript runtime when
|
|
9
|
+
* Load a compatible packaged prebuild or exact local addon, compiling through
|
|
10
|
+
* the active JavaScript runtime only when neither can be used.
|
|
9
11
|
*/
|
|
10
12
|
export declare function loadOrBuildNativeAddon(options: NativeAddonBuildOptions): NativeAddon;
|
|
11
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=native-addon-loader.d.ts.map
|