pyfig 0.6.3 → 0.7.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 +77 -166
- package/SECURITY.md +16 -5
- package/dist/cjs/index.js +471 -980
- package/dist/cjs/index.js.map +6 -15
- package/dist/index.d.ts +2 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/process.d.ts +6 -12
- package/dist/process.d.ts.map +1 -1
- package/dist/process.js +35 -54
- package/dist/process.js.map +1 -1
- package/dist/pyfig.d.ts +31 -0
- package/dist/pyfig.d.ts.map +1 -0
- package/dist/pyfig.js +275 -0
- package/dist/pyfig.js.map +1 -0
- package/dist/uv.d.ts +3 -0
- package/dist/uv.d.ts.map +1 -0
- package/dist/uv.js +423 -0
- package/dist/uv.js.map +1 -0
- package/package.json +6 -12
- package/dist/cjs/sync-resolver.js +0 -1217
- package/dist/cjs/sync-resolver.js.map +0 -19
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -48
- package/dist/cli.js.map +0 -1
- package/dist/client.d.ts +0 -15
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -25
- package/dist/client.js.map +0 -1
- package/dist/config.d.ts +0 -62
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -112
- package/dist/config.js.map +0 -1
- package/dist/package-target.d.ts +0 -8
- package/dist/package-target.d.ts.map +0 -1
- package/dist/package-target.js +0 -81
- package/dist/package-target.js.map +0 -1
- package/dist/pep440.d.ts +0 -12
- package/dist/pep440.d.ts.map +0 -1
- package/dist/pep440.js +0 -21
- package/dist/pep440.js.map +0 -1
- package/dist/probes.d.ts +0 -37
- package/dist/probes.d.ts.map +0 -1
- package/dist/probes.js +0 -145
- package/dist/probes.js.map +0 -1
- package/dist/project-root.d.ts +0 -3
- package/dist/project-root.d.ts.map +0 -1
- package/dist/project-root.js +0 -22
- package/dist/project-root.js.map +0 -1
- package/dist/provision-lock.d.ts +0 -10
- package/dist/provision-lock.d.ts.map +0 -1
- package/dist/provision-lock.js +0 -24
- package/dist/provision-lock.js.map +0 -1
- package/dist/provision.d.ts +0 -26
- package/dist/provision.d.ts.map +0 -1
- package/dist/provision.js +0 -685
- package/dist/provision.js.map +0 -1
- package/dist/runners.d.ts +0 -14
- package/dist/runners.d.ts.map +0 -1
- package/dist/runners.js +0 -71
- package/dist/runners.js.map +0 -1
- package/dist/runtime-files.d.ts +0 -3
- package/dist/runtime-files.d.ts.map +0 -1
- package/dist/runtime-files.js +0 -12
- package/dist/runtime-files.js.map +0 -1
- package/dist/sync-resolver.d.ts +0 -2
- package/dist/sync-resolver.d.ts.map +0 -1
- package/dist/sync-resolver.js +0 -15
- package/dist/sync-resolver.js.map +0 -1
- package/dist/virtual-environment.d.ts +0 -11
- package/dist/virtual-environment.d.ts.map +0 -1
- package/dist/virtual-environment.js +0 -49
- package/dist/virtual-environment.js.map +0 -1
package/dist/package-target.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { activateVirtualEnvironment } from './virtual-environment.js';
|
|
2
|
-
const TARGET_OPTIONS = new Set([
|
|
3
|
-
'--active',
|
|
4
|
-
'--config-file',
|
|
5
|
-
'--directory',
|
|
6
|
-
'--isolated',
|
|
7
|
-
'--prefix',
|
|
8
|
-
'--project',
|
|
9
|
-
'--python',
|
|
10
|
-
'--root',
|
|
11
|
-
'--system',
|
|
12
|
-
'--target',
|
|
13
|
-
'--user',
|
|
14
|
-
]);
|
|
15
|
-
const TARGET_ENVIRONMENT_VARIABLES = new Set([
|
|
16
|
-
'CONDA_PREFIX',
|
|
17
|
-
'PIP_PREFIX',
|
|
18
|
-
'PIP_PYTHON',
|
|
19
|
-
'PIP_ROOT',
|
|
20
|
-
'PIP_TARGET',
|
|
21
|
-
'PIP_USER',
|
|
22
|
-
'PYTHONHOME',
|
|
23
|
-
'PYTHONUSERBASE',
|
|
24
|
-
'UV_CONFIG_FILE',
|
|
25
|
-
'UV_PROJECT',
|
|
26
|
-
'UV_PROJECT_ENVIRONMENT',
|
|
27
|
-
'UV_PYTHON',
|
|
28
|
-
'UV_PREFIX',
|
|
29
|
-
'UV_ROOT',
|
|
30
|
-
'UV_SYSTEM_PYTHON',
|
|
31
|
-
'UV_TARGET',
|
|
32
|
-
]);
|
|
33
|
-
export function uvCommandNeedsEnvironment(args) {
|
|
34
|
-
return args[0] === 'pip' || args[0] === 'run';
|
|
35
|
-
}
|
|
36
|
-
/** Pin uv pip and uv run to the environment selected by Pyfig. */
|
|
37
|
-
export function targetUvArguments(args, python) {
|
|
38
|
-
if (!python.virtualEnvironment) {
|
|
39
|
-
throw new Error('Targeted uv commands require a virtual environment.');
|
|
40
|
-
}
|
|
41
|
-
assertNoTargetOverride(args);
|
|
42
|
-
if (args[0] === 'run') {
|
|
43
|
-
return ['run', '--no-project', '--python', python.executable, ...args.slice(1)];
|
|
44
|
-
}
|
|
45
|
-
if (args[0] === 'pip' && args[1]) {
|
|
46
|
-
return ['pip', args[1], '--python', python.executable, ...args.slice(2)];
|
|
47
|
-
}
|
|
48
|
-
return [...args];
|
|
49
|
-
}
|
|
50
|
-
export function uvCommandEnvironment(env, python) {
|
|
51
|
-
const sanitized = sanitizeUvEnvironment(env);
|
|
52
|
-
if (!python?.virtualEnvironment)
|
|
53
|
-
return sanitized;
|
|
54
|
-
return {
|
|
55
|
-
...activateVirtualEnvironment(sanitized, python.virtualEnvironment, python.executable),
|
|
56
|
-
UV_PYTHON: python.executable,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/** Remove inherited values that could redirect uv away from an explicit target. */
|
|
60
|
-
export function sanitizeUvEnvironment(env) {
|
|
61
|
-
const sanitized = { ...env };
|
|
62
|
-
for (const key of Object.keys(sanitized)) {
|
|
63
|
-
if (TARGET_ENVIRONMENT_VARIABLES.has(key.toUpperCase()))
|
|
64
|
-
delete sanitized[key];
|
|
65
|
-
}
|
|
66
|
-
return sanitized;
|
|
67
|
-
}
|
|
68
|
-
function assertNoTargetOverride(args) {
|
|
69
|
-
for (const argument of args.slice(1)) {
|
|
70
|
-
if (argument === '--')
|
|
71
|
-
return;
|
|
72
|
-
const [name] = argument.split('=', 1);
|
|
73
|
-
if (name && TARGET_OPTIONS.has(name)) {
|
|
74
|
-
throw new Error(`${name} cannot override the environment selected by Pyfig.`);
|
|
75
|
-
}
|
|
76
|
-
if (argument === '-p' || argument.startsWith('-p=') || /^-p[^-]/u.test(argument)) {
|
|
77
|
-
throw new Error('-p cannot override the environment selected by Pyfig.');
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=package-target.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"package-target.js","sourceRoot":"","sources":["../src/package-target.ts"],"names":[],"mappings":"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"}
|
package/dist/pep440.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/** Validate a PEP 440 version specifier used by a runtime policy. */
|
|
2
|
-
export declare function isValidPep440Specifier(specifier: string): boolean;
|
|
3
|
-
/** Normalize a PEP 440 version, or reject invalid input. */
|
|
4
|
-
export declare function normalizePep440Version(version: string): string | null;
|
|
5
|
-
/**
|
|
6
|
-
* Match a version using PEP 440 specifier-set behavior, including its
|
|
7
|
-
* pre-release fallback when the candidate set has no matching final release.
|
|
8
|
-
*/
|
|
9
|
-
export declare function pep440VersionSatisfies(version: string, specifier: string): boolean;
|
|
10
|
-
/** Select the greatest PEP 440 version allowed by a specifier. */
|
|
11
|
-
export declare function maxPep440Version(versions: readonly string[], specifier: string): string | null;
|
|
12
|
-
//# sourceMappingURL=pep440.d.ts.map
|
package/dist/pep440.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pep440.d.ts","sourceRoot":"","sources":["../src/pep440.ts"],"names":[],"mappings":"AAOA,qEAAqE;AACrE,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAEf"}
|
package/dist/pep440.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { filter, maxSatisfying, valid as validPep440Version, validRange as validPep440Specifier, } from '@renovatebot/pep440';
|
|
2
|
-
/** Validate a PEP 440 version specifier used by a runtime policy. */
|
|
3
|
-
export function isValidPep440Specifier(specifier) {
|
|
4
|
-
return validPep440Specifier(specifier);
|
|
5
|
-
}
|
|
6
|
-
/** Normalize a PEP 440 version, or reject invalid input. */
|
|
7
|
-
export function normalizePep440Version(version) {
|
|
8
|
-
return validPep440Version(version);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Match a version using PEP 440 specifier-set behavior, including its
|
|
12
|
-
* pre-release fallback when the candidate set has no matching final release.
|
|
13
|
-
*/
|
|
14
|
-
export function pep440VersionSatisfies(version, specifier) {
|
|
15
|
-
return filter([version], specifier).length === 1;
|
|
16
|
-
}
|
|
17
|
-
/** Select the greatest PEP 440 version allowed by a specifier. */
|
|
18
|
-
export function maxPep440Version(versions, specifier) {
|
|
19
|
-
return maxSatisfying([...versions], specifier);
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=pep440.js.map
|
package/dist/pep440.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pep440.js","sourceRoot":"","sources":["../src/pep440.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,EACb,KAAK,IAAI,kBAAkB,EAC3B,UAAU,IAAI,oBAAoB,GACnC,MAAM,qBAAqB,CAAC;AAE7B,qEAAqE;AACrE,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,SAAiB;IACvE,OAAO,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAC9B,QAA2B,EAC3B,SAAiB;IAEjB,OAAO,aAAa,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC"}
|
package/dist/probes.d.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { ResolvedPyfigOptions } from './config.js';
|
|
2
|
-
import { type CommandSpec } from './process.js';
|
|
3
|
-
export interface PythonInfo {
|
|
4
|
-
executable: string;
|
|
5
|
-
baseExecutable: string;
|
|
6
|
-
version: string;
|
|
7
|
-
major: number;
|
|
8
|
-
minor: number;
|
|
9
|
-
patch: number;
|
|
10
|
-
releaseLevel: string;
|
|
11
|
-
implementation: string;
|
|
12
|
-
architecture: string;
|
|
13
|
-
pointerBits: number;
|
|
14
|
-
prefix: string;
|
|
15
|
-
basePrefix: string;
|
|
16
|
-
virtualEnvironment: string | null;
|
|
17
|
-
gilDisabled: boolean;
|
|
18
|
-
embedding: PythonEmbeddingInfo | null;
|
|
19
|
-
}
|
|
20
|
-
export interface PythonEmbeddingInfo {
|
|
21
|
-
includeDirectory: string;
|
|
22
|
-
headerPath: string;
|
|
23
|
-
libraryPath: string;
|
|
24
|
-
libraryDirectory: string;
|
|
25
|
-
libraryName: string;
|
|
26
|
-
libraryKind: 'import' | 'shared' | 'static';
|
|
27
|
-
stableAbiLibraryPath: string | null;
|
|
28
|
-
}
|
|
29
|
-
export interface UvInfo {
|
|
30
|
-
executable: string;
|
|
31
|
-
version: string;
|
|
32
|
-
}
|
|
33
|
-
export declare function pythonSatisfiesPolicy(python: PythonInfo, options: Pick<ResolvedPyfigOptions, 'requiresPython' | 'requireEmbedding' | 'requireGil'>): boolean;
|
|
34
|
-
export declare function probePython(candidate: CommandSpec, options: ResolvedPyfigOptions): Promise<PythonInfo | null>;
|
|
35
|
-
export declare function findUv(options: ResolvedPyfigOptions): Promise<UvInfo | null>;
|
|
36
|
-
export declare function probeUv(executable: string, options: ResolvedPyfigOptions): UvInfo | null;
|
|
37
|
-
//# sourceMappingURL=probes.d.ts.map
|
package/dist/probes.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"probes.d.ts","sourceRoot":"","sources":["../src/probes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AA2FD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,YAAY,CAAC,GACxF,OAAO,CAQT;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAe5B;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKlF;AAED,wBAAgB,OAAO,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,GAAG,IAAI,CAQf"}
|
package/dist/probes.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { normalizePep440Version, pep440VersionSatisfies } from './pep440.js';
|
|
2
|
-
import { resolveExecutable, run } from './process.js';
|
|
3
|
-
const PYTHON_PROBE = `
|
|
4
|
-
import json
|
|
5
|
-
import os
|
|
6
|
-
import platform
|
|
7
|
-
import struct
|
|
8
|
-
import sys
|
|
9
|
-
import sysconfig
|
|
10
|
-
|
|
11
|
-
base_prefix = getattr(sys, "base_prefix", sys.prefix)
|
|
12
|
-
include_directory = sysconfig.get_path("include") or ""
|
|
13
|
-
header_path = os.path.join(include_directory, "Python.h") if include_directory else ""
|
|
14
|
-
library_candidates = []
|
|
15
|
-
stable_abi_library_candidates = []
|
|
16
|
-
if os.name == "nt":
|
|
17
|
-
library_directory = sysconfig.get_config_var("LIBDIR") or os.path.join(base_prefix, "libs")
|
|
18
|
-
configured_library = sysconfig.get_config_var("LDLIBRARY") or ""
|
|
19
|
-
if configured_library:
|
|
20
|
-
library_candidates.append(os.path.join(library_directory, os.path.splitext(configured_library)[0] + ".lib"))
|
|
21
|
-
library_candidates.append(os.path.join(library_directory, f"python{sys.version_info.major}{sys.version_info.minor}.lib"))
|
|
22
|
-
stable_abi_library_candidates.append(os.path.join(library_directory, "python3.lib"))
|
|
23
|
-
else:
|
|
24
|
-
library_directories = [
|
|
25
|
-
sysconfig.get_config_var("LIBDIR"),
|
|
26
|
-
sysconfig.get_config_var("LIBPL"),
|
|
27
|
-
os.path.join(base_prefix, "lib"),
|
|
28
|
-
]
|
|
29
|
-
library_names = [
|
|
30
|
-
sysconfig.get_config_var("LDLIBRARY"),
|
|
31
|
-
sysconfig.get_config_var("LIBRARY"),
|
|
32
|
-
]
|
|
33
|
-
for directory in library_directories:
|
|
34
|
-
for name in library_names:
|
|
35
|
-
if directory and name:
|
|
36
|
-
library_candidates.append(os.path.join(directory, name))
|
|
37
|
-
if directory:
|
|
38
|
-
stable_abi_library_candidates.extend([
|
|
39
|
-
os.path.join(directory, "libpython3.so"),
|
|
40
|
-
os.path.join(directory, "libpython3.dylib"),
|
|
41
|
-
])
|
|
42
|
-
|
|
43
|
-
library_path = next((candidate for candidate in library_candidates if os.path.isfile(candidate)), "")
|
|
44
|
-
stable_abi_library_path = next(
|
|
45
|
-
(candidate for candidate in stable_abi_library_candidates if os.path.isfile(candidate)),
|
|
46
|
-
None,
|
|
47
|
-
)
|
|
48
|
-
embedding = None
|
|
49
|
-
if os.path.isfile(header_path) and library_path:
|
|
50
|
-
library_name = os.path.basename(library_path)
|
|
51
|
-
library_kind = "import" if os.name == "nt" else ("static" if library_name.endswith(".a") else "shared")
|
|
52
|
-
embedding = {
|
|
53
|
-
"includeDirectory": include_directory,
|
|
54
|
-
"headerPath": header_path,
|
|
55
|
-
"libraryPath": library_path,
|
|
56
|
-
"libraryDirectory": os.path.dirname(library_path),
|
|
57
|
-
"libraryName": library_name,
|
|
58
|
-
"libraryKind": library_kind,
|
|
59
|
-
"stableAbiLibraryPath": stable_abi_library_path,
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
release_level = sys.version_info.releaselevel
|
|
63
|
-
release_suffixes = {
|
|
64
|
-
"alpha": "a",
|
|
65
|
-
"beta": "b",
|
|
66
|
-
"candidate": "rc",
|
|
67
|
-
"final": "",
|
|
68
|
-
}
|
|
69
|
-
release_suffix = release_suffixes[release_level]
|
|
70
|
-
if release_suffix:
|
|
71
|
-
release_suffix += str(sys.version_info.serial)
|
|
72
|
-
|
|
73
|
-
print(json.dumps({
|
|
74
|
-
"executable": sys.executable,
|
|
75
|
-
"baseExecutable": getattr(sys, "_base_executable", sys.executable),
|
|
76
|
-
"version": ".".join(map(str, sys.version_info[:3])) + release_suffix,
|
|
77
|
-
"major": sys.version_info.major,
|
|
78
|
-
"minor": sys.version_info.minor,
|
|
79
|
-
"patch": sys.version_info.micro,
|
|
80
|
-
"releaseLevel": release_level,
|
|
81
|
-
"implementation": sys.implementation.name,
|
|
82
|
-
"architecture": platform.machine().lower(),
|
|
83
|
-
"pointerBits": struct.calcsize("P") * 8,
|
|
84
|
-
"prefix": sys.prefix,
|
|
85
|
-
"basePrefix": base_prefix,
|
|
86
|
-
"virtualEnvironment": sys.prefix if sys.prefix != base_prefix else None,
|
|
87
|
-
"gilDisabled": bool(sysconfig.get_config_var("Py_GIL_DISABLED")),
|
|
88
|
-
"embedding": embedding,
|
|
89
|
-
}))
|
|
90
|
-
`;
|
|
91
|
-
export function pythonSatisfiesPolicy(python, options) {
|
|
92
|
-
return pep440VersionSatisfies(python.version, options.requiresPython) &&
|
|
93
|
-
(!options.requireEmbedding || (python.implementation === 'cpython' &&
|
|
94
|
-
python.embedding !== null &&
|
|
95
|
-
pythonArchitectureMatchesRuntime(python))) &&
|
|
96
|
-
(!options.requireGil || !python.gilDisabled);
|
|
97
|
-
}
|
|
98
|
-
export async function probePython(candidate, options) {
|
|
99
|
-
const executable = await resolveExecutable(candidate.executable, options.env);
|
|
100
|
-
if (!executable)
|
|
101
|
-
return null;
|
|
102
|
-
try {
|
|
103
|
-
const { stdout } = run(executable, [...candidate.args, '-c', PYTHON_PROBE], options.env, options.probeTimeoutMs);
|
|
104
|
-
const info = JSON.parse(stdout.trim());
|
|
105
|
-
return normalizePep440Version(info.version) ? info : null;
|
|
106
|
-
}
|
|
107
|
-
catch {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
export async function findUv(options) {
|
|
112
|
-
const configured = options.env['PYFIG_UV'] ?? 'uv';
|
|
113
|
-
const executable = await resolveExecutable(configured, options.env);
|
|
114
|
-
const uv = executable ? probeUv(executable, options) : null;
|
|
115
|
-
return uv && pep440VersionSatisfies(uv.version, options.requiresUv) ? uv : null;
|
|
116
|
-
}
|
|
117
|
-
export function probeUv(executable, options) {
|
|
118
|
-
try {
|
|
119
|
-
const { stdout } = run(executable, ['--version'], options.env, options.probeTimeoutMs);
|
|
120
|
-
const version = normalizeVersion(stdout.match(/^uv\s+(\S+)/iu)?.[1]);
|
|
121
|
-
return version ? { executable, version } : null;
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
function normalizeVersion(value) {
|
|
128
|
-
if (!value)
|
|
129
|
-
return null;
|
|
130
|
-
return normalizePep440Version(value);
|
|
131
|
-
}
|
|
132
|
-
function pythonArchitectureMatchesRuntime(python) {
|
|
133
|
-
const architecture = python.architecture.toLowerCase();
|
|
134
|
-
if (python.pointerBits !== (process.arch === 'ia32' ? 32 : 64))
|
|
135
|
-
return false;
|
|
136
|
-
if (process.arch === 'x64')
|
|
137
|
-
return architecture === 'x86_64' || architecture === 'amd64';
|
|
138
|
-
if (process.arch === 'arm64')
|
|
139
|
-
return architecture === 'aarch64' || architecture === 'arm64';
|
|
140
|
-
if (process.arch === 'ia32') {
|
|
141
|
-
return architecture === 'x86' || architecture === 'i386' || architecture === 'i686';
|
|
142
|
-
}
|
|
143
|
-
return architecture === process.arch;
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=probes.js.map
|
package/dist/probes.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"probes.js","sourceRoot":"","sources":["../src/probes.ts"],"names":[],"mappings":"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"}
|
package/dist/project-root.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../src/project-root.ts"],"names":[],"mappings":"AAGA,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,cAAc,GAAE,MAAsB,GAAG,MAAM,CAMjF"}
|
package/dist/project-root.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
/** Resolve the nearest Git worktree without interpreting project manifests. */
|
|
4
|
-
export function resolveProjectRoot(startDirectory = process.cwd()) {
|
|
5
|
-
const start = path.resolve(startDirectory);
|
|
6
|
-
for (const directory of ancestors(start)) {
|
|
7
|
-
if (fs.existsSync(path.join(directory, '.git')))
|
|
8
|
-
return directory;
|
|
9
|
-
}
|
|
10
|
-
return start;
|
|
11
|
-
}
|
|
12
|
-
function* ancestors(startDirectory) {
|
|
13
|
-
let directory = startDirectory;
|
|
14
|
-
while (true) {
|
|
15
|
-
yield directory;
|
|
16
|
-
const parent = path.dirname(directory);
|
|
17
|
-
if (parent === directory)
|
|
18
|
-
return;
|
|
19
|
-
directory = parent;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=project-root.js.map
|
package/dist/project-root.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-root.js","sourceRoot":"","sources":["../src/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,cAAc,GAAW,OAAO,CAAC,GAAG,EAAE;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3C,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;IACpE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAsB;IACxC,IAAI,SAAS,GAAG,cAAc,CAAC;IAC/B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,SAAS,GAAG,MAAM,CAAC;IACrB,CAAC;AACH,CAAC"}
|
package/dist/provision-lock.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface ProvisioningLockOptions<T> {
|
|
2
|
-
/** Stable logical identity shared by every caller of the protected resource. */
|
|
3
|
-
key: string;
|
|
4
|
-
timeoutMs: number;
|
|
5
|
-
check: () => Promise<T | null>;
|
|
6
|
-
mutate: () => Promise<T>;
|
|
7
|
-
}
|
|
8
|
-
/** Use Loqkit's layered lock and predicate checks for one idempotent mutation. */
|
|
9
|
-
export declare function withProvisioningLock<T>(options: ProvisioningLockOptions<T>): Promise<T>;
|
|
10
|
-
//# sourceMappingURL=provision-lock.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provision-lock.d.ts","sourceRoot":"","sources":["../src/provision-lock.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC,CAsBZ"}
|
package/dist/provision-lock.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { withLock } from 'loqkit';
|
|
2
|
-
/** Use Loqkit's layered lock and predicate checks for one idempotent mutation. */
|
|
3
|
-
export async function withProvisioningLock(options) {
|
|
4
|
-
let existing;
|
|
5
|
-
const result = await withLock({ resource: options.key }, options.mutate, {
|
|
6
|
-
key: options.key,
|
|
7
|
-
name: 'Pyfig provisioning',
|
|
8
|
-
namespace: 'pyfig',
|
|
9
|
-
timeout: options.timeoutMs,
|
|
10
|
-
predicate: async () => {
|
|
11
|
-
const value = await options.check();
|
|
12
|
-
if (value === null)
|
|
13
|
-
return true;
|
|
14
|
-
existing = { value };
|
|
15
|
-
return false;
|
|
16
|
-
},
|
|
17
|
-
});
|
|
18
|
-
if (result.context.state === 'executed')
|
|
19
|
-
return result.value;
|
|
20
|
-
if (existing)
|
|
21
|
-
return existing.value;
|
|
22
|
-
throw new Error(`Provisioning check for ${options.key} did not produce a resource.`);
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=provision-lock.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provision-lock.js","sourceRoot":"","sources":["../src/provision-lock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAUlC,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAmC;IAEnC,IAAI,QAAkC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EACzB,OAAO,CAAC,MAAM,EACd;QACE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAChC,QAAQ,GAAG,EAAE,KAAK,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,KAAU,CAAC;IAClE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;IACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,CAAC,GAAG,8BAA8B,CAAC,CAAC;AACvF,CAAC"}
|
package/dist/provision.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type PyfigOptions } from './config.js';
|
|
2
|
-
import { type PythonInfo, type UvInfo } from './probes.js';
|
|
3
|
-
export interface PythonEnvironment {
|
|
4
|
-
python: PythonInfo;
|
|
5
|
-
uv: UvInfo;
|
|
6
|
-
/** True when the environment lives in node_modules/.pyfig/venv. */
|
|
7
|
-
managed: boolean;
|
|
8
|
-
}
|
|
9
|
-
export interface RuntimeDependencyOptions {
|
|
10
|
-
/** Optional-dependency extras read from an existing pyproject.toml. */
|
|
11
|
-
extras?: readonly string[];
|
|
12
|
-
/** Include every optional-dependency extra from an existing pyproject.toml. */
|
|
13
|
-
allExtras?: boolean;
|
|
14
|
-
/** Dependency groups read from an existing pyproject.toml. */
|
|
15
|
-
groups?: readonly string[];
|
|
16
|
-
}
|
|
17
|
-
/** Ensure a compatible uv executable, preferring an existing installation. */
|
|
18
|
-
export declare function ensureUv(options?: PyfigOptions): Promise<UvInfo>;
|
|
19
|
-
/**
|
|
20
|
-
* Select a compatible environment and optionally add runtime dependencies.
|
|
21
|
-
* Project dependency files are inputs only and are never changed.
|
|
22
|
-
*/
|
|
23
|
-
export declare function ensureEnvironment(options?: PyfigOptions, dependencies?: readonly string[], dependencyOptions?: RuntimeDependencyOptions): Promise<PythonEnvironment>;
|
|
24
|
-
/** Build GitHub API headers without exposing credentials outside the request. */
|
|
25
|
-
export declare function githubApiHeaders(env: NodeJS.ProcessEnv): Record<string, string>;
|
|
26
|
-
//# sourceMappingURL=provision.d.ts.map
|
package/dist/provision.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAqBA,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAOrB,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,MAAM,EACZ,MAAM,aAAa,CAAC;AAUrB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,8EAA8E;AAC9E,wBAAsB,QAAQ,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1E;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,GAAE,YAAiB,EAC1B,YAAY,GAAE,SAAS,MAAM,EAAO,EACpC,iBAAiB,GAAE,wBAA6B,GAC/C,OAAO,CAAC,iBAAiB,CAAC,CAe5B;AAmhBD,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAY/E"}
|