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.
Files changed (44) hide show
  1. package/README.md +47 -34
  2. package/SECURITY.md +1 -1
  3. package/dist/cjs/index.js +409 -261
  4. package/dist/cjs/index.js.map +10 -9
  5. package/dist/cjs/sync-resolver.js +369 -236
  6. package/dist/cjs/sync-resolver.js.map +9 -8
  7. package/dist/cli.js +12 -3
  8. package/dist/cli.js.map +1 -1
  9. package/dist/client.d.ts +6 -6
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +31 -21
  12. package/dist/client.js.map +1 -1
  13. package/dist/config.d.ts +9 -2
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +48 -1
  16. package/dist/config.js.map +1 -1
  17. package/dist/index.d.ts +3 -4
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/package-target.d.ts +3 -3
  22. package/dist/package-target.d.ts.map +1 -1
  23. package/dist/package-target.js +6 -6
  24. package/dist/package-target.js.map +1 -1
  25. package/dist/provision.d.ts +8 -12
  26. package/dist/provision.d.ts.map +1 -1
  27. package/dist/provision.js +156 -158
  28. package/dist/provision.js.map +1 -1
  29. package/dist/python-venv.d.ts +12 -0
  30. package/dist/python-venv.d.ts.map +1 -0
  31. package/dist/{virtual-environment.js → python-venv.js} +12 -9
  32. package/dist/python-venv.js.map +1 -0
  33. package/dist/runners.js +12 -12
  34. package/dist/runners.js.map +1 -1
  35. package/dist/sync-resolver.js +2 -2
  36. package/dist/sync-resolver.js.map +1 -1
  37. package/dist/venv-identity.d.ts +36 -0
  38. package/dist/venv-identity.d.ts.map +1 -0
  39. package/dist/venv-identity.js +80 -0
  40. package/dist/venv-identity.js.map +1 -0
  41. package/package.json +2 -2
  42. package/dist/virtual-environment.d.ts +0 -11
  43. package/dist/virtual-environment.d.ts.map +0 -1
  44. package/dist/virtual-environment.js.map +0 -1
package/dist/provision.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
2
  import { createReadStream, createWriteStream } from 'node:fs';
3
- import { chmod, copyFile, mkdir, mkdtemp, readFile, readdir, rename, rm, writeFile, } from 'node:fs/promises';
4
- import fs from 'node:fs';
3
+ import { chmod, copyFile, mkdir, mkdtemp, readFile, readdir, rename, rm, stat, writeFile, } from 'node:fs/promises';
5
4
  import os from 'node:os';
6
5
  import path from 'node:path';
7
6
  import { Readable } from 'node:stream';
@@ -9,81 +8,89 @@ import { pipeline } from 'node:stream/promises';
9
8
  import { unzipSync } from 'fflate';
10
9
  import * as tar from 'tar';
11
10
  import { EnvHttpProxyAgent, fetch } from 'undici';
12
- import { resolveOptions, uvEnvironment, } from './config.js';
11
+ import { hasRuntimeRequirements, resolveOptions, uvProcessEnvironment, } from './config.js';
12
+ import { createVenvIdentity, requirementsDigest, venvMatches, writeVenvMetadata, } from './venv-identity.js';
13
13
  import { withProvisioningLock } from './provision-lock.js';
14
- import { sanitizeUvEnvironment, uvCommandEnvironment } from './package-target.js';
14
+ import { sanitizeUvProcessEnvironment, uvCommandProcessEnvironment, } from './package-target.js';
15
15
  import { maxPep440Version, normalizePep440Version, } from './pep440.js';
16
16
  import { findUv, probePython, probeUv, pythonSatisfiesPolicy, } from './probes.js';
17
17
  import { runAsync } from './process.js';
18
- import { canonicalPath, externalVirtualEnvironmentDirectories, pathsEqual, virtualEnvironmentDirectory, virtualEnvironmentPythonExecutable, } from './virtual-environment.js';
18
+ import { canonicalPath, externalPythonVenvDirectories, pathsEqual, pythonVenvDirectory, pythonVenvExecutable, } from './python-venv.js';
19
19
  /** Ensure a compatible uv executable, preferring an existing installation. */
20
20
  export async function ensureUv(options = {}) {
21
21
  return ensureUvResolved(resolveOptions(options));
22
22
  }
23
23
  /**
24
- * Select a compatible environment and optionally add runtime dependencies.
25
- * Project dependency files are inputs only and are never changed.
24
+ * Select an external dependency-free venv or a private content-addressed venv.
25
+ * Only caller-provided dependency specifiers and requirements files are resolved.
26
26
  */
27
- export async function ensureEnvironment(options = {}, dependencies = [], dependencyOptions = {}) {
27
+ export async function ensurePython(options = {}) {
28
28
  const resolved = resolveOptions(options);
29
- const normalized = normalizeDependencies(dependencies);
30
- const selections = normalizeDependencyOptions(dependencyOptions);
29
+ await validateRequirementsFiles(resolved.requirements);
31
30
  const uv = await ensureUvResolved(resolved);
32
- const python = await ensureVirtualEnvironmentResolved(resolved, uv);
33
- if (normalized.length > 0 || selections.extras.length > 0 ||
34
- selections.groups.length > 0 || selections.allExtras) {
35
- await installRuntimeDependencies(uv, python, normalized, selections, resolved);
31
+ if (!hasRuntimeRequirements(resolved)) {
32
+ const external = await findReusableExternalPythonVenv(resolved);
33
+ if (external) {
34
+ return { managed: false, python: external, uv, venvId: null };
35
+ }
36
36
  }
37
- return {
38
- python,
39
- uv,
40
- managed: isManagedEnvironment(python, resolved),
41
- };
37
+ const basePython = await ensureBasePythonResolved(uv, resolved);
38
+ const resolution = await resolveRuntimeDependencies(uv, basePython, resolved);
39
+ const venv = createVenvIdentity(basePython, resolution.sha256);
40
+ const python = await ensureManagedPythonVenv(uv, basePython, venv, resolution, resolved);
41
+ return { managed: true, python, uv, venvId: venv.id };
42
42
  }
43
- async function ensureVirtualEnvironmentResolved(options, uv) {
44
- const existing = await findReusableEnvironment(options);
45
- if (existing)
46
- return existing;
47
- const directory = virtualEnvironmentDirectory(options.projectRoot);
43
+ async function ensureManagedPythonVenv(uv, basePython, venv, resolution, options) {
44
+ const directory = pythonVenvDirectory(options.projectRoot, venv.directoryName);
48
45
  const check = async () => {
49
- const candidate = await inspectVirtualEnvironment(directory, options);
50
- return candidate && pythonSatisfiesPolicy(candidate, options) &&
51
- await virtualEnvironmentMatchesConfiguredPython(candidate, options)
52
- ? candidate
53
- : null;
46
+ if (!await venvMatches(directory, venv))
47
+ return null;
48
+ const candidate = await inspectPythonVenv(directory, options);
49
+ return candidate && pythonSatisfiesPolicy(candidate, options) ? candidate : null;
54
50
  };
51
+ const existing = await check();
52
+ if (existing)
53
+ return existing;
55
54
  if (!options.createVirtualEnvironment) {
56
55
  throw new Error(`No compatible environment is available and creation is disabled. ` +
57
56
  `Pyfig would create ${directory}.`);
58
57
  }
59
- const basePython = await ensureBasePythonResolved(uv, options);
60
58
  return withProvisioningLock({
61
59
  key: `venv:${canonicalPath(directory)}`,
62
60
  timeoutMs: options.coordinationTimeoutMs,
63
61
  check,
64
62
  mutate: async () => {
65
- // Only Pyfig's private path is replaceable. Active and repository-root
66
- // environments are preserved when incompatible.
67
63
  await rm(directory, { recursive: true, force: true });
68
64
  await mkdir(path.dirname(directory), { recursive: true });
69
- await runAsync(uv.executable, [
70
- 'venv',
71
- '--no-project',
72
- '--no-config',
73
- '--no-python-downloads',
74
- '--python',
75
- basePython.executable,
76
- directory,
77
- ], isolatedUvEnvironment(options), options.installTimeoutMs);
78
- const installed = await check();
79
- if (!installed) {
80
- throw new Error(`uv created ${directory}, but its Python does not satisfy the requested capabilities.`);
65
+ try {
66
+ await runAsync(uv.executable, [
67
+ 'venv',
68
+ '--no-project',
69
+ '--no-config',
70
+ '--no-python-downloads',
71
+ '--python',
72
+ basePython.executable,
73
+ directory,
74
+ ], isolatedUvProcessEnvironment(options), options.installTimeoutMs);
75
+ const created = await inspectPythonVenv(directory, options);
76
+ if (!created || !pythonSatisfiesPolicy(created, options)) {
77
+ throw new Error(`uv created ${directory}, but its Python does not satisfy the requested capabilities.`);
78
+ }
79
+ await installResolvedDependencies(uv, created, resolution, options);
80
+ await writeVenvMetadata(directory, venv);
81
+ const installed = await check();
82
+ if (!installed)
83
+ throw new Error(`Pyfig could not validate environment ${directory}.`);
84
+ return installed;
85
+ }
86
+ catch (error) {
87
+ await rm(directory, { recursive: true, force: true });
88
+ throw error;
81
89
  }
82
- return installed;
83
90
  },
84
91
  });
85
92
  }
86
- async function findReusableEnvironment(options) {
93
+ async function findReusableExternalPythonVenv(options) {
87
94
  if (options.python) {
88
95
  const configured = await probePython({ executable: options.python, args: [] }, options);
89
96
  if (!configured || !pythonSatisfiesPolicy(configured, options)) {
@@ -92,15 +99,10 @@ async function findReusableEnvironment(options) {
92
99
  if (configured.virtualEnvironment)
93
100
  return configured;
94
101
  }
95
- for (const directory of [
96
- ...externalVirtualEnvironmentDirectories(options.projectRoot, options.env),
97
- virtualEnvironmentDirectory(options.projectRoot),
98
- ]) {
99
- const info = await inspectVirtualEnvironment(directory, options);
100
- if (info && pythonSatisfiesPolicy(info, options) &&
101
- await virtualEnvironmentMatchesConfiguredPython(info, options)) {
102
+ for (const directory of externalPythonVenvDirectories(options.projectRoot, options.env)) {
103
+ const info = await inspectPythonVenv(directory, options);
104
+ if (info && pythonSatisfiesPolicy(info, options))
102
105
  return info;
103
- }
104
106
  }
105
107
  return null;
106
108
  }
@@ -117,6 +119,9 @@ async function ensureBasePythonResolved(uv, options) {
117
119
  return base;
118
120
  throw incompatibleConfiguredPython(options);
119
121
  }
122
+ const externalBase = await findExternalBasePython(options);
123
+ if (externalBase)
124
+ return externalBase;
120
125
  // Corporate and offline hosts get a strict system-only pass before Pyfig
121
126
  // considers any already-managed interpreter or network installation.
122
127
  const system = await findPythonWithUv(uv, options, 'system');
@@ -133,7 +138,7 @@ async function ensureBasePythonResolved(uv, options) {
133
138
  timeoutMs: options.coordinationTimeoutMs,
134
139
  check: () => findPythonWithUv(uv, options, 'managed'),
135
140
  mutate: async () => {
136
- await runAsync(uv.executable, ['python', 'install', '--no-config', options.managedPython], isolatedUvEnvironment(options), options.installTimeoutMs);
141
+ await runAsync(uv.executable, ['python', 'install', '--no-config', options.managedPython], isolatedUvProcessEnvironment(options), options.installTimeoutMs);
137
142
  const installed = await findPythonWithUv(uv, options, 'managed');
138
143
  if (!installed) {
139
144
  throw new Error(missingPythonMessage(options, `uv installed ${options.managedPython}, but it remains incompatible`));
@@ -142,6 +147,17 @@ async function ensureBasePythonResolved(uv, options) {
142
147
  },
143
148
  });
144
149
  }
150
+ async function findExternalBasePython(options) {
151
+ for (const directory of externalPythonVenvDirectories(options.projectRoot, options.env)) {
152
+ const environment = await inspectPythonVenv(directory, options);
153
+ if (!environment || !pythonSatisfiesPolicy(environment, options))
154
+ continue;
155
+ const base = await probePython({ executable: environment.baseExecutable, args: [] }, options);
156
+ if (base && !base.virtualEnvironment && pythonSatisfiesPolicy(base, options))
157
+ return base;
158
+ }
159
+ return null;
160
+ }
145
161
  async function findPythonWithUv(uv, options, source) {
146
162
  for (const request of ['', options.managedPython]) {
147
163
  const args = [
@@ -155,7 +171,7 @@ async function findPythonWithUv(uv, options, source) {
155
171
  if (request)
156
172
  args.push(request);
157
173
  try {
158
- const { stdout } = await runAsync(uv.executable, args, explicitPythonSourceEnvironment(options), options.probeTimeoutMs);
174
+ const { stdout } = await runAsync(uv.executable, args, explicitPythonSourceProcessEnvironment(options), options.probeTimeoutMs);
159
175
  const info = await probePython({ executable: stdout.trim(), args: [] }, options);
160
176
  if (info && pythonSatisfiesPolicy(info, options))
161
177
  return info;
@@ -178,7 +194,7 @@ async function findPythonWithUv(uv, options, source) {
178
194
  '--output-format',
179
195
  'json',
180
196
  source === 'system' ? '--no-managed-python' : '--managed-python',
181
- ], explicitPythonSourceEnvironment(options), options.probeTimeoutMs);
197
+ ], explicitPythonSourceProcessEnvironment(options), options.probeTimeoutMs);
182
198
  const candidates = installedPythonPaths(stdout);
183
199
  for (const executable of candidates) {
184
200
  const info = await probePython({ executable, args: [] }, options);
@@ -204,55 +220,70 @@ function installedPythonPaths(output) {
204
220
  });
205
221
  return [...new Map(paths.map((candidate) => [canonicalPath(candidate), candidate])).values()];
206
222
  }
207
- async function inspectVirtualEnvironment(directory, options) {
208
- const executable = virtualEnvironmentPythonExecutable(directory);
223
+ async function inspectPythonVenv(directory, options) {
224
+ const executable = pythonVenvExecutable(directory);
209
225
  const info = await probePython({ executable, args: [] }, options);
210
226
  return info?.virtualEnvironment && pathsEqual(info.virtualEnvironment, directory) ? info : null;
211
227
  }
212
- async function installRuntimeDependencies(uv, python, dependencies, dependencyOptions, options) {
228
+ async function resolveRuntimeDependencies(uv, python, options) {
229
+ if (!hasRuntimeRequirements(options)) {
230
+ return { content: '', sha256: requirementsDigest('') };
231
+ }
232
+ const temporary = await mkdtemp(path.join(os.tmpdir(), 'pyfig-resolution-'));
233
+ try {
234
+ const additions = path.join(temporary, 'runtime-dependencies.txt');
235
+ const output = path.join(temporary, 'resolved-dependencies.txt');
236
+ const sources = [...options.requirements];
237
+ if (options.dependencies.length > 0) {
238
+ await writeFile(additions, `${options.dependencies.join('\n')}\n`, 'utf8');
239
+ sources.push(additions);
240
+ }
241
+ await runAsync(uv.executable, [
242
+ 'pip', 'compile', '--no-config', '--no-header', '--no-annotate',
243
+ '--generate-hashes', '--python', python.executable,
244
+ ...sources, '--output-file', output,
245
+ ], isolatedUvProcessEnvironment(options), options.installTimeoutMs, undefined, options.projectRoot);
246
+ const content = normalizeResolution(await readFile(output, 'utf8'));
247
+ return { content, sha256: requirementsDigest(content) };
248
+ }
249
+ finally {
250
+ await rm(temporary, { recursive: true, force: true });
251
+ }
252
+ }
253
+ async function validateRequirementsFiles(requirements) {
254
+ for (const requirement of requirements) {
255
+ let information;
256
+ try {
257
+ information = await stat(requirement);
258
+ }
259
+ catch (error) {
260
+ throw new Error(`Requirements file is unavailable: ${requirement}`, { cause: error });
261
+ }
262
+ if (!information.isFile()) {
263
+ throw new Error(`Requirements path is not a file: ${requirement}`);
264
+ }
265
+ }
266
+ }
267
+ async function installResolvedDependencies(uv, python, resolution, options) {
268
+ if (!resolution.content)
269
+ return;
213
270
  if (!python.virtualEnvironment) {
214
271
  throw new Error('Runtime dependency installation requires a virtual environment.');
215
272
  }
216
- await withProvisioningLock({
217
- key: `dependencies:${canonicalPath(python.virtualEnvironment)}`,
218
- timeoutMs: options.coordinationTimeoutMs,
219
- check: async () => null,
220
- mutate: async () => {
221
- const temporary = await mkdtemp(path.join(os.tmpdir(), 'pyfig-dependencies-'));
222
- try {
223
- const additions = path.join(temporary, 'runtime-dependencies.txt');
224
- const resolved = path.join(temporary, 'resolved-dependencies.txt');
225
- const pyproject = path.join(options.projectRoot, 'pyproject.toml');
226
- const hasPyproject = fs.existsSync(pyproject);
227
- if (!hasPyproject && (dependencyOptions.extras.length > 0 ||
228
- dependencyOptions.groups.length > 0 ||
229
- dependencyOptions.allExtras)) {
230
- throw new Error('Runtime extras and groups require an existing pyproject.toml.');
231
- }
232
- const sources = hasPyproject ? [pyproject] : [];
233
- if (dependencies.length > 0) {
234
- await writeFile(additions, `${dependencies.join('\n')}\n`, 'utf8');
235
- sources.push(additions);
236
- }
237
- const selectionArgs = [
238
- ...dependencyOptions.extras.flatMap((extra) => ['--extra', extra]),
239
- ...dependencyOptions.groups.flatMap((group) => ['--group', group]),
240
- ...(dependencyOptions.allExtras ? ['--all-extras'] : []),
241
- ];
242
- await runAsync(uv.executable, [
243
- 'pip', 'compile', '--no-config', '--python', python.executable, ...selectionArgs,
244
- ...sources, '--output-file', resolved,
245
- ], targetUvEnvironment(options, python), options.installTimeoutMs, undefined, options.projectRoot);
246
- // install preserves unrelated packages; sync would remove anything not
247
- // represented in this temporary resolution.
248
- await runAsync(uv.executable, ['pip', 'install', '--no-config', '--python', python.executable, '-r', resolved], targetUvEnvironment(options, python), options.installTimeoutMs, undefined, options.projectRoot);
249
- }
250
- finally {
251
- await rm(temporary, { recursive: true, force: true });
252
- }
253
- return true;
254
- },
255
- });
273
+ const temporary = await mkdtemp(path.join(os.tmpdir(), 'pyfig-install-'));
274
+ try {
275
+ const requirements = path.join(temporary, 'resolved-dependencies.txt');
276
+ await writeFile(requirements, resolution.content, { encoding: 'utf8', flag: 'wx' });
277
+ await runAsync(uv.executable, ['pip', 'install', '--no-config', '--python', python.executable, '-r', requirements], targetUvProcessEnvironment(options, python), options.installTimeoutMs, undefined, options.projectRoot);
278
+ await runAsync(uv.executable, ['pip', 'check', '--no-config', '--python', python.executable], targetUvProcessEnvironment(options, python), options.installTimeoutMs, undefined, options.projectRoot);
279
+ }
280
+ finally {
281
+ await rm(temporary, { recursive: true, force: true });
282
+ }
283
+ }
284
+ function normalizeResolution(content) {
285
+ const normalized = content.replace(/\r\n/gu, '\n').trimEnd();
286
+ return normalized ? `${normalized}\n` : '';
256
287
  }
257
288
  async function ensureUvResolved(options) {
258
289
  const existing = await findAvailableUv(options);
@@ -308,46 +339,17 @@ async function findManagedUv(options) {
308
339
  }
309
340
  return null;
310
341
  }
311
- function normalizeDependencies(dependencies) {
312
- const normalized = dependencies.map((dependency) => dependency.trim());
313
- for (const dependency of normalized) {
314
- if (!dependency || /[\0\r\n]/u.test(dependency)) {
315
- throw new TypeError(`Invalid runtime dependency: ${JSON.stringify(dependency)}`);
316
- }
317
- }
318
- return [...new Set(normalized)];
319
- }
320
- function normalizeDependencyOptions(options) {
321
- const extras = normalizeNames('extra', options.extras ?? []);
322
- const groups = normalizeNames('dependency group', options.groups ?? []);
323
- if (options.allExtras && extras.length > 0) {
324
- throw new TypeError('allExtras cannot be combined with explicit extras.');
325
- }
326
- return { extras, groups, allExtras: options.allExtras ?? false };
327
- }
328
- function normalizeNames(kind, names) {
329
- const normalized = names.map((name) => name.trim());
330
- for (const name of normalized) {
331
- if (!name || !/^[A-Za-z0-9][A-Za-z0-9._-]*$/u.test(name)) {
332
- throw new TypeError(`Invalid ${kind}: ${JSON.stringify(name)}`);
333
- }
334
- }
335
- return [...new Set(normalized)];
336
- }
337
- function isManagedEnvironment(python, options) {
338
- return Boolean(python.virtualEnvironment) && pathsEqual(python.virtualEnvironment, virtualEnvironmentDirectory(options.projectRoot));
339
- }
340
- function isolatedUvEnvironment(options) {
341
- return sanitizeUvEnvironment(uvEnvironment(options));
342
+ function isolatedUvProcessEnvironment(options) {
343
+ return sanitizeUvProcessEnvironment(uvProcessEnvironment(options));
342
344
  }
343
345
  /** Explicit --system/--managed-python selectors cannot be combined with uv's preference setting. */
344
- function explicitPythonSourceEnvironment(options) {
345
- const env = isolatedUvEnvironment(options);
346
+ function explicitPythonSourceProcessEnvironment(options) {
347
+ const env = isolatedUvProcessEnvironment(options);
346
348
  delete env['UV_PYTHON_PREFERENCE'];
347
349
  return env;
348
350
  }
349
- function targetUvEnvironment(options, python) {
350
- return uvCommandEnvironment(uvEnvironment(options), python);
351
+ function targetUvProcessEnvironment(options, python) {
352
+ return uvCommandProcessEnvironment(uvProcessEnvironment(options), python);
351
353
  }
352
354
  function incompatibleConfiguredPython(options) {
353
355
  return new Error(`Configured Python ${options.python} is unavailable or does not satisfy ` +
@@ -360,20 +362,6 @@ function missingPythonMessage(options, reason) {
360
362
  : '';
361
363
  return `No Python satisfies requires-python ${options.requiresPython}${embedding}; ${reason}.`;
362
364
  }
363
- async function virtualEnvironmentMatchesConfiguredPython(virtualEnvironment, options) {
364
- if (!options.python)
365
- return true;
366
- const configured = await probePython({ executable: options.python, args: [] }, options);
367
- if (!configured || !pythonSatisfiesPolicy(configured, options))
368
- return false;
369
- if (configured.virtualEnvironment && pathsEqual(configured.executable, virtualEnvironment.executable)) {
370
- return true;
371
- }
372
- const configuredBase = configured.virtualEnvironment
373
- ? configured.baseExecutable
374
- : configured.executable;
375
- return pathsEqual(configuredBase, virtualEnvironment.baseExecutable);
376
- }
377
365
  const UV_RELEASE_PAGE_SIZE = 100;
378
366
  const UV_RELEASE_MAX_PAGES = 20;
379
367
  const UV_RELEASE_METADATA_TTL_MS = 24 * 60 * 60_000;
@@ -416,11 +404,7 @@ async function fetchUvReleaseCatalog(options) {
416
404
  let exhausted = false;
417
405
  try {
418
406
  for (let page = 1; page <= UV_RELEASE_MAX_PAGES; page += 1) {
419
- const text = await downloadText(`https://api.github.com/repos/astral-sh/uv/releases?per_page=${UV_RELEASE_PAGE_SIZE}&page=${page}`, options.downloadTimeoutMs, dispatcher, {
420
- Accept: 'application/vnd.github+json',
421
- 'User-Agent': 'pyfig',
422
- 'X-GitHub-Api-Version': '2022-11-28',
423
- });
407
+ const text = await downloadText(`https://api.github.com/repos/astral-sh/uv/releases?per_page=${UV_RELEASE_PAGE_SIZE}&page=${page}`, options.downloadTimeoutMs, dispatcher, githubApiHeaders(options.env));
424
408
  const payload = JSON.parse(text);
425
409
  if (!Array.isArray(payload)) {
426
410
  throw new Error('GitHub returned invalid uv release metadata.');
@@ -454,6 +438,20 @@ async function fetchUvReleaseCatalog(options) {
454
438
  }
455
439
  return { fetchedAt: Date.now(), releases: [...releases.values()] };
456
440
  }
441
+ /** Build GitHub API headers without exposing credentials outside the request. */
442
+ export function githubApiHeaders(env) {
443
+ const token = [env['GITHUB_TOKEN'], env['GH_TOKEN']]
444
+ .find(value => typeof value === 'string' && value.trim().length > 0);
445
+ if (token && /[\r\n]/u.test(token)) {
446
+ throw new TypeError('GitHub API token must not contain line breaks.');
447
+ }
448
+ return {
449
+ Accept: 'application/vnd.github+json',
450
+ 'User-Agent': 'pyfig',
451
+ 'X-GitHub-Api-Version': '2022-11-28',
452
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
453
+ };
454
+ }
457
455
  async function readFreshUvReleaseCatalog(file) {
458
456
  const catalog = await readUvReleaseCatalog(file);
459
457
  if (!catalog)
@@ -640,17 +638,17 @@ async function downloadText(url, timeoutMs, dispatcher, headers) {
640
638
  return response.text();
641
639
  }
642
640
  function proxyDispatcher(env) {
643
- const httpProxy = environmentValue(env, 'http_proxy', 'HTTP_PROXY');
644
- const httpsProxy = environmentValue(env, 'https_proxy', 'HTTPS_PROXY');
641
+ const httpProxy = processEnvironmentValue(env, 'http_proxy', 'HTTP_PROXY');
642
+ const httpsProxy = processEnvironmentValue(env, 'https_proxy', 'HTTPS_PROXY');
645
643
  if (!httpProxy && !httpsProxy)
646
644
  return undefined;
647
645
  return new EnvHttpProxyAgent({
648
646
  httpProxy,
649
647
  httpsProxy,
650
- noProxy: environmentValue(env, 'no_proxy', 'NO_PROXY'),
648
+ noProxy: processEnvironmentValue(env, 'no_proxy', 'NO_PROXY'),
651
649
  });
652
650
  }
653
- function environmentValue(env, lowercase, uppercase) {
651
+ function processEnvironmentValue(env, lowercase, uppercase) {
654
652
  return env[lowercase] ?? env[uppercase];
655
653
  }
656
654
  async function sha256File(file) {
@@ -1 +1 @@
1
- {"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare const VIRTUAL_ENV_ROOT_NAME: string;
2
+ export declare function pythonVenvRoot(projectRoot: string): string;
3
+ export declare function pythonVenvDirectory(projectRoot: string, venvDirectory: string): string;
4
+ /** Existing application environments are eligible for read-only reuse. */
5
+ export declare function externalPythonVenvDirectories(projectRoot: string, env: NodeJS.ProcessEnv): string[];
6
+ export declare function pythonVenvExecutable(pythonVenv: string): string;
7
+ /** Apply the environment changes that shell activation scripts make for child processes. */
8
+ export declare function activatePythonVenv(env: NodeJS.ProcessEnv, pythonVenv: string, pythonExecutable: string): NodeJS.ProcessEnv;
9
+ export declare function pathsEqual(left: string, right: string): boolean;
10
+ /** Canonicalize existing paths so symlink, junction, and filesystem casing aliases compare equally. */
11
+ export declare function canonicalPath(value: string): string;
12
+ //# sourceMappingURL=python-venv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python-venv.d.ts","sourceRoot":"","sources":["../src/python-venv.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB,QAA+C,CAAC;AAElF,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,MAAM,EAAE,CAKV;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAAC,UAAU,CAenB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,uGAAuG;AACvG,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASnD"}