pyfig 0.6.2 → 0.7.0
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 +47 -34
- package/SECURITY.md +1 -1
- package/dist/cjs/index.js +409 -261
- package/dist/cjs/index.js.map +10 -9
- package/dist/cjs/sync-resolver.js +369 -236
- package/dist/cjs/sync-resolver.js.map +9 -8
- package/dist/cli.js +12 -3
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +6 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +31 -21
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +9 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +48 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/package-target.d.ts +3 -3
- package/dist/package-target.d.ts.map +1 -1
- package/dist/package-target.js +6 -6
- package/dist/package-target.js.map +1 -1
- package/dist/provision.d.ts +8 -12
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +156 -158
- package/dist/provision.js.map +1 -1
- package/dist/python-venv.d.ts +12 -0
- package/dist/python-venv.d.ts.map +1 -0
- package/dist/{virtual-environment.js → python-venv.js} +12 -9
- package/dist/python-venv.js.map +1 -0
- package/dist/runners.js +12 -12
- package/dist/runners.js.map +1 -1
- package/dist/sync-resolver.js +2 -2
- package/dist/sync-resolver.js.map +1 -1
- package/dist/venv-identity.d.ts +36 -0
- package/dist/venv-identity.d.ts.map +1 -0
- package/dist/venv-identity.js +80 -0
- package/dist/venv-identity.js.map +1 -0
- package/package.json +2 -2
- package/dist/virtual-environment.d.ts +0 -11
- package/dist/virtual-environment.d.ts.map +0 -1
- package/dist/virtual-environment.js.map +0 -1
package/dist/client.js
CHANGED
|
@@ -1,25 +1,35 @@
|
|
|
1
1
|
import { memoize } from 'loqkit';
|
|
2
|
-
import {
|
|
2
|
+
import { ensurePython, ensureUv, } from './provision.js';
|
|
3
3
|
import { uvSpawn, uvSpawnSync } from './runners.js';
|
|
4
|
-
/**
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
4
|
+
/** A scoped uv-first Python runtime with one consistent environment policy. */
|
|
5
|
+
export class Python {
|
|
6
|
+
#options;
|
|
7
|
+
#python;
|
|
8
|
+
#uvInfo;
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
this.#options = {
|
|
11
|
+
...options,
|
|
12
|
+
dependencies: options.dependencies ? [...options.dependencies] : undefined,
|
|
13
|
+
requirements: options.requirements ? [...options.requirements] : undefined,
|
|
14
|
+
env: options.env ? { ...options.env } : undefined,
|
|
15
|
+
};
|
|
16
|
+
this.#python = memoize(() => ensurePython(this.#options));
|
|
17
|
+
this.#uvInfo = memoize(() => ensureUv(this.#options));
|
|
18
|
+
}
|
|
19
|
+
prepare() {
|
|
20
|
+
return this.#python();
|
|
21
|
+
}
|
|
22
|
+
async pythonInfo() {
|
|
23
|
+
return (await this.#python()).python;
|
|
24
|
+
}
|
|
25
|
+
uvInfo() {
|
|
26
|
+
return this.#uvInfo();
|
|
27
|
+
}
|
|
28
|
+
uv(args = [], options = {}) {
|
|
29
|
+
return uvSpawn(args, options, this.#options);
|
|
30
|
+
}
|
|
31
|
+
uvSync(args, options) {
|
|
32
|
+
return uvSpawnSync(args, options, this.#options);
|
|
33
|
+
}
|
|
24
34
|
}
|
|
25
35
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,OAAO,EACL,YAAY,EACZ,QAAQ,GAET,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpD,+EAA+E;AAC/E,MAAM,OAAO,MAAM;IACR,QAAQ,CAAe;IACvB,OAAO,CAAmC;IAC1C,OAAO,CAAwB;IAExC,YAAY,OAAO,GAAiB,EAAE;QACpC,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,OAAO;YACV,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1E,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1E,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,EAAE,CAAC,IAAI,GAAsB,EAAE,EAAE,OAAO,GAAiB,EAAE;QACzD,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CACJ,IAAwB,EACxB,OAA0B;QAE1B,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;CACF"}
|
package/dist/config.d.ts
CHANGED
|
@@ -2,9 +2,13 @@ export declare const DEFAULT_REQUIRES_PYTHON = ">=3.10,<4";
|
|
|
2
2
|
export declare const DEFAULT_MANAGED_PYTHON = "3.12";
|
|
3
3
|
export declare const DEFAULT_REQUIRES_UV = ">=0.10,<1";
|
|
4
4
|
export interface PyfigOptions {
|
|
5
|
+
/** PEP 508 runtime dependencies resolved into this environment's private venv. */
|
|
6
|
+
dependencies?: readonly string[];
|
|
7
|
+
/** Explicit requirements files resolved into this environment's private venv. */
|
|
8
|
+
requirements?: readonly string[];
|
|
5
9
|
/** Exact interpreter path that an existing or newly created venv must derive from. */
|
|
6
10
|
python?: string;
|
|
7
|
-
/** PEP 440 Python version specifier
|
|
11
|
+
/** PEP 440 Python version specifier accepted for the selected interpreter. */
|
|
8
12
|
requiresPython?: string;
|
|
9
13
|
/** uv Python request used only when no compatible interpreter exists. */
|
|
10
14
|
managedPython?: string;
|
|
@@ -38,6 +42,8 @@ export interface PyfigOptions {
|
|
|
38
42
|
env?: NodeJS.ProcessEnv;
|
|
39
43
|
}
|
|
40
44
|
export interface ResolvedPyfigOptions {
|
|
45
|
+
dependencies: readonly string[];
|
|
46
|
+
requirements: readonly string[];
|
|
41
47
|
python: string;
|
|
42
48
|
requiresPython: string;
|
|
43
49
|
managedPython: string;
|
|
@@ -57,6 +63,7 @@ export interface ResolvedPyfigOptions {
|
|
|
57
63
|
env: NodeJS.ProcessEnv;
|
|
58
64
|
}
|
|
59
65
|
export declare function resolveOptions(options?: PyfigOptions): ResolvedPyfigOptions;
|
|
66
|
+
export declare function hasRuntimeRequirements(options: Pick<ResolvedPyfigOptions, 'dependencies' | 'requirements'>): boolean;
|
|
60
67
|
/** Keep uv data private while preferring a compatible system interpreter. */
|
|
61
|
-
export declare function
|
|
68
|
+
export declare function uvProcessEnvironment(options: ResolvedPyfigOptions): NodeJS.ProcessEnv;
|
|
62
69
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAG7C,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAkB/C,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAG7C,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAkB/C,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,iFAAiF;IACjF,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kFAAkF;IAClF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB,EAAE,OAAO,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAC,OAAO,GAAE,YAAiB,GAAG,oBAAoB,CAwE/E;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,cAAc,CAAC,GACnE,OAAO,CAET;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAQrF"}
|
package/dist/config.js
CHANGED
|
@@ -45,7 +45,11 @@ export function resolveOptions(options = {}) {
|
|
|
45
45
|
? path.resolve(configuredProjectRoot)
|
|
46
46
|
: resolveProjectRoot(env['INIT_CWD'] ?? process.cwd());
|
|
47
47
|
const autoInstall = options.autoInstall ?? parseBoolean(env['PYFIG_AUTO_INSTALL'], true);
|
|
48
|
+
const dependencies = normalizeDependencies(options.dependencies ?? []);
|
|
49
|
+
const requirements = normalizeRequirements(options.requirements ?? [], projectRoot);
|
|
48
50
|
return {
|
|
51
|
+
dependencies,
|
|
52
|
+
requirements,
|
|
49
53
|
python: options.python ?? env['PYFIG_PYTHON'] ?? '',
|
|
50
54
|
requiresPython,
|
|
51
55
|
managedPython,
|
|
@@ -66,8 +70,11 @@ export function resolveOptions(options = {}) {
|
|
|
66
70
|
env,
|
|
67
71
|
};
|
|
68
72
|
}
|
|
73
|
+
export function hasRuntimeRequirements(options) {
|
|
74
|
+
return options.dependencies.length > 0 || options.requirements.length > 0;
|
|
75
|
+
}
|
|
69
76
|
/** Keep uv data private while preferring a compatible system interpreter. */
|
|
70
|
-
export function
|
|
77
|
+
export function uvProcessEnvironment(options) {
|
|
71
78
|
return {
|
|
72
79
|
...options.env,
|
|
73
80
|
UV_PYTHON_INSTALL_DIR: path.join(options.cacheDir, 'python'),
|
|
@@ -109,4 +116,44 @@ function parseBoolean(value, fallback) {
|
|
|
109
116
|
return false;
|
|
110
117
|
throw new TypeError(`Invalid boolean value: ${value}`);
|
|
111
118
|
}
|
|
119
|
+
function normalizeDependencies(dependencies) {
|
|
120
|
+
const normalized = dependencies.map((dependency) => dependency.trim());
|
|
121
|
+
for (const dependency of normalized) {
|
|
122
|
+
if (!dependency || /[\0\r\n]/u.test(dependency)) {
|
|
123
|
+
throw new TypeError(`Invalid runtime dependency: ${JSON.stringify(dependency)}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// uv owns requirement parsing and source priority. Preserve caller order so
|
|
127
|
+
// direct URLs, Git references, local files, and index directives retain uv's semantics.
|
|
128
|
+
return normalized;
|
|
129
|
+
}
|
|
130
|
+
function normalizeRequirements(requirements, projectRoot) {
|
|
131
|
+
const normalized = [];
|
|
132
|
+
for (const requirement of requirements) {
|
|
133
|
+
const candidate = requirement.trim();
|
|
134
|
+
if (!candidate || /[\0\r\n]/u.test(candidate)) {
|
|
135
|
+
throw new TypeError(`Invalid requirements file path: ${JSON.stringify(candidate)}`);
|
|
136
|
+
}
|
|
137
|
+
const absolute = path.resolve(projectRoot, candidate);
|
|
138
|
+
const basename = path.basename(absolute).toLowerCase();
|
|
139
|
+
if (isPythonProjectFile(basename)) {
|
|
140
|
+
throw new TypeError(`Expected a requirements file, not Python project metadata: ${absolute}`);
|
|
141
|
+
}
|
|
142
|
+
normalized.push(absolute);
|
|
143
|
+
}
|
|
144
|
+
return normalized;
|
|
145
|
+
}
|
|
146
|
+
const PYTHON_PROJECT_FILES = new Set([
|
|
147
|
+
'pdm.lock',
|
|
148
|
+
'pipfile',
|
|
149
|
+
'pipfile.lock',
|
|
150
|
+
'poetry.lock',
|
|
151
|
+
'pyproject.toml',
|
|
152
|
+
'setup.cfg',
|
|
153
|
+
'setup.py',
|
|
154
|
+
'uv.lock',
|
|
155
|
+
]);
|
|
156
|
+
function isPythonProjectFile(basename) {
|
|
157
|
+
return PYTHON_PROJECT_FILES.has(basename) || /^pylock(?:\.[^.]+)?\.toml$/u.test(basename);
|
|
158
|
+
}
|
|
112
159
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;AACnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAE/C,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,0BAA0B,GAAG,EAAE,GAAG,MAAM,CAAC;AAC/C,MAAM,2BAA2B,GAAG,CAAC,GAAG,MAAM,CAAC;AAE/C,6EAA6E;AAC7E,+EAA+E;AAC/E,4BAA4B;AAC5B,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;IAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAEzB,CAAC;IACF,MAAM,cAAc,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;IACpF,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC3F,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
export { DEFAULT_MANAGED_PYTHON, DEFAULT_REQUIRES_PYTHON, DEFAULT_REQUIRES_UV, } from './config.js';
|
|
2
2
|
export type { PyfigOptions } from './config.js';
|
|
3
|
-
export {
|
|
4
|
-
export type { PyfigClient } from './client.js';
|
|
3
|
+
export { Python } from './client.js';
|
|
5
4
|
export { resolveProjectRoot } from './project-root.js';
|
|
6
5
|
export type { PythonEmbeddingInfo, PythonInfo, UvInfo, } from './probes.js';
|
|
7
|
-
export {
|
|
8
|
-
export type { PythonEnvironment
|
|
6
|
+
export { ensurePython, ensureUv, } from './provision.js';
|
|
7
|
+
export type { PythonEnvironment } from './provision.js';
|
|
9
8
|
export { uvSpawn, uvSpawnSync, } from './runners.js';
|
|
10
9
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,QAAQ,GACT,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,OAAO,EACP,WAAW,GACZ,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { DEFAULT_MANAGED_PYTHON, DEFAULT_REQUIRES_PYTHON, DEFAULT_REQUIRES_UV, } from './config.js';
|
|
2
|
-
export {
|
|
2
|
+
export { Python } from './client.js';
|
|
3
3
|
export { resolveProjectRoot } from './project-root.js';
|
|
4
|
-
export {
|
|
4
|
+
export { ensurePython, ensureUv, } from './provision.js';
|
|
5
5
|
export { uvSpawn, uvSpawnSync, } from './runners.js';
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAMvD,OAAO,EACL,YAAY,EACZ,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,OAAO,EACP,WAAW,GACZ,MAAM,cAAc,CAAC"}
|
package/dist/package-target.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { PythonInfo } from './probes.js';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function uvCommandNeedsPython(args: readonly string[]): boolean;
|
|
3
3
|
/** Pin uv pip and uv run to the environment selected by Pyfig. */
|
|
4
4
|
export declare function targetUvArguments(args: readonly string[], python: PythonInfo): string[];
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function uvCommandProcessEnvironment(env: NodeJS.ProcessEnv, python?: PythonInfo): NodeJS.ProcessEnv;
|
|
6
6
|
/** Remove inherited values that could redirect uv away from an explicit target. */
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function sanitizeUvProcessEnvironment(env: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
8
8
|
//# sourceMappingURL=package-target.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-target.d.ts","sourceRoot":"","sources":["../src/package-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoC9C,wBAAgB,
|
|
1
|
+
{"version":3,"file":"package-target.d.ts","sourceRoot":"","sources":["../src/package-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoC9C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAErE;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,MAAM,EAAE,UAAU,GACjB,MAAM,EAAE,CAYV;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,MAAM,CAAC,EAAE,UAAU,GAClB,MAAM,CAAC,UAAU,CAWnB;AAED,mFAAmF;AACnF,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAMtF"}
|
package/dist/package-target.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { activatePythonVenv } from './python-venv.js';
|
|
2
2
|
const TARGET_OPTIONS = new Set([
|
|
3
3
|
'--active',
|
|
4
4
|
'--config-file',
|
|
@@ -30,7 +30,7 @@ const TARGET_ENVIRONMENT_VARIABLES = new Set([
|
|
|
30
30
|
'UV_SYSTEM_PYTHON',
|
|
31
31
|
'UV_TARGET',
|
|
32
32
|
]);
|
|
33
|
-
export function
|
|
33
|
+
export function uvCommandNeedsPython(args) {
|
|
34
34
|
return args[0] === 'pip' || args[0] === 'run';
|
|
35
35
|
}
|
|
36
36
|
/** Pin uv pip and uv run to the environment selected by Pyfig. */
|
|
@@ -47,17 +47,17 @@ export function targetUvArguments(args, python) {
|
|
|
47
47
|
}
|
|
48
48
|
return [...args];
|
|
49
49
|
}
|
|
50
|
-
export function
|
|
51
|
-
const sanitized =
|
|
50
|
+
export function uvCommandProcessEnvironment(env, python) {
|
|
51
|
+
const sanitized = sanitizeUvProcessEnvironment(env);
|
|
52
52
|
if (!python?.virtualEnvironment)
|
|
53
53
|
return sanitized;
|
|
54
54
|
return {
|
|
55
|
-
...
|
|
55
|
+
...activatePythonVenv(sanitized, python.virtualEnvironment, python.executable),
|
|
56
56
|
UV_PYTHON: python.executable,
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
59
|
/** Remove inherited values that could redirect uv away from an explicit target. */
|
|
60
|
-
export function
|
|
60
|
+
export function sanitizeUvProcessEnvironment(env) {
|
|
61
61
|
const sanitized = { ...env };
|
|
62
62
|
for (const key of Object.keys(sanitized)) {
|
|
63
63
|
if (TARGET_ENVIRONMENT_VARIABLES.has(key.toUpperCase()))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-target.js","sourceRoot":"","sources":["../src/package-target.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"package-target.js","sourceRoot":"","sources":["../src/package-target.ts"],"names":[],"mappings":"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"}
|
package/dist/provision.d.ts
CHANGED
|
@@ -3,22 +3,18 @@ import { type PythonInfo, type UvInfo } from './probes.js';
|
|
|
3
3
|
export interface PythonEnvironment {
|
|
4
4
|
python: PythonInfo;
|
|
5
5
|
uv: UvInfo;
|
|
6
|
-
/** True when the
|
|
6
|
+
/** True when the venv lives below node_modules/.pyfig/venvs. */
|
|
7
7
|
managed: boolean;
|
|
8
|
-
|
|
9
|
-
|
|
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[];
|
|
8
|
+
/** Full content identity for managed venvs; null for an externally owned venv. */
|
|
9
|
+
venvId: string | null;
|
|
16
10
|
}
|
|
17
11
|
/** Ensure a compatible uv executable, preferring an existing installation. */
|
|
18
12
|
export declare function ensureUv(options?: PyfigOptions): Promise<UvInfo>;
|
|
19
13
|
/**
|
|
20
|
-
* Select
|
|
21
|
-
*
|
|
14
|
+
* Select an external dependency-free venv or a private content-addressed venv.
|
|
15
|
+
* Only caller-provided dependency specifiers and requirements files are resolved.
|
|
22
16
|
*/
|
|
23
|
-
export declare function
|
|
17
|
+
export declare function ensurePython(options?: PyfigOptions): Promise<PythonEnvironment>;
|
|
18
|
+
/** Build GitHub API headers without exposing credentials outside the request. */
|
|
19
|
+
export declare function githubApiHeaders(env: NodeJS.ProcessEnv): Record<string, string>;
|
|
24
20
|
//# sourceMappingURL=provision.d.ts.map
|
package/dist/provision.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAqBA,OAAO,
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAqBA,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,aAAa,CAAC;AAiBrB,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,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAOD,8EAA8E;AAC9E,wBAAsB,QAAQ,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE1E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAe5B;AAggBD,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAY/E"}
|