Zoltan Kochan
53acaaf30a
refactor: extract python installation crate ( #14821 )
...
Give Python installation an independent crate boundary. Keep project
discovery and command adaptation in the CLI, and pass manifest paths plus
install and add options into the installer.
Move manifest handling, resolution, wheel fetching, interpreter operations,
and environment publication and rollback together. Preserve the existing
unit and CLI integration coverage and execution-path behavior.
Move pnpr ecosystem capability caching into the client crate so Cargo and
Python installation share the same process-wide cache without depending
on the CLI. Cover concurrent reuse and cached failures with tests.
Remove Python version/requirement type dependencies from the CLI while
retaining its resolver dependency for command-line specifier parsing.
Reject invalid Python save prefixes before preparing an install, preserving
the accepted values and default. Include regression coverage and a release note.
Follow-up to pnpm/pnpm#14816 .
2026-09-11 02:25:48 +02:00
..
2026-09-10 18:27:12 +02:00
2026-08-11 14:32:55 +02:00
2026-09-06 23:36:31 +02:00
2026-07-30 12:07:02 +02:00
2026-07-17 11:30:36 +02:00
2026-09-07 20:46:29 +02:00
2026-08-21 01:51:33 +02:00
2026-08-20 20:34:25 +02:00
2026-07-19 15:55:13 +02:00
2026-08-31 13:15:22 +02:00
2026-08-29 12:09:18 +02:00
2026-08-29 15:46:31 +02:00
2026-08-11 11:21:00 +02:00
2026-08-10 19:54:34 +02:00
2026-08-20 17:28:30 +02:00
2026-08-31 23:23:17 +02:00
2026-09-06 14:44:57 +02:00
2026-08-31 21:31:28 +02:00
2026-08-23 16:39:23 +02:00
2026-08-17 15:29:01 +02:00
2026-08-14 16:04:32 +02:00
2026-08-27 15:01:52 +02:00
2026-09-06 14:24:15 +02:00
2026-08-26 15:49:39 +02:00
2026-07-27 13:56:01 +02:00
2026-09-06 20:31:22 +02:00
2026-09-06 11:27:21 +02:00
2026-09-06 23:16:04 +02:00
2026-08-12 01:28:40 +02:00
2026-09-05 11:59:37 +02:00
2026-08-07 14:26:47 +02:00
2026-08-27 16:55:59 +02:00
2026-07-19 14:45:58 +02:00
2026-07-19 22:35:28 +02:00
2026-08-19 11:25:27 +02:00
2026-08-11 13:48:21 +02:00
2026-08-10 16:51:06 +02:00
2026-08-20 20:25:10 +02:00
2026-08-21 02:31:34 +02:00
2026-08-24 14:10:58 +02:00
2026-09-10 14:23:59 +02:00
2026-09-10 15:48:42 +02:00
2026-09-06 11:48:33 +02:00
2026-09-06 09:36:08 +02:00
2026-08-22 22:52:10 +02:00
2026-09-10 12:27:58 +02:00
2026-07-13 14:24:45 +02:00
2026-07-13 16:21:16 +02:00
2026-08-22 16:37:00 +02:00
2026-08-10 14:46:27 +02:00
2026-07-13 15:13:33 +02:00
2026-08-11 14:38:47 +02:00
2026-09-01 00:48:20 +02:00
2026-08-17 01:28:21 +02:00
2026-08-07 16:12:42 +02:00
2026-08-20 17:29:36 +02:00
2026-08-03 13:36:34 +02:00
2026-09-06 18:46:13 +02:00
2026-09-07 09:31:19 +02:00
2026-08-03 10:23:06 +02:00
2026-09-06 22:08:45 +02:00
2026-07-13 22:02:04 +02:00
2026-08-07 11:35:32 +02:00
2026-09-10 11:15:50 +02:00
2026-09-09 17:44:19 +02:00
2026-07-29 09:25:13 +02:00
2026-07-28 23:51:22 +02:00
2026-08-10 15:24:20 +02:00
2026-09-07 11:27:17 +02:00
2026-07-22 08:57:38 +02:00
2026-09-10 13:48:21 +02:00
2026-09-10 15:29:12 +02:00
2026-09-10 11:18:53 +02:00
2026-08-31 16:55:13 +02:00
2026-09-09 16:25:51 +02:00
2026-08-16 11:17:49 +02:00
2026-07-30 20:13:51 +02:00
2026-09-09 16:25:05 +02:00
2026-08-18 23:19:18 +02:00
2026-09-09 16:52:27 +02:00
2026-09-10 11:10:27 +02:00
2026-09-10 15:09:54 +02:00
2026-08-22 17:33:48 +02:00
2026-09-10 14:46:25 +02:00
2026-08-17 15:31:42 +02:00
2026-09-10 14:19:19 +02:00
2026-07-13 23:05:14 +02:00
2026-07-17 23:34:05 +02:00
2026-08-06 13:38:48 +02:00
2026-08-22 22:48:18 +02:00
2026-08-24 14:16:43 +02:00
2026-08-25 14:39:20 +02:00
2026-09-05 01:44:46 +02:00
2026-08-28 12:18:26 +02:00
2026-08-10 15:06:47 +02:00
2026-08-10 15:08:31 +02:00
2026-08-11 09:25:23 +02:00
2026-09-10 08:12:52 +02:00
2026-08-22 14:10:33 +02:00
2026-09-10 21:51:04 +02:00
2026-09-02 13:58:57 +02:00
2026-07-23 13:38:25 +02:00
2026-08-31 15:42:18 +02:00
2026-08-17 10:42:02 +02:00
2026-08-23 00:55:59 +02:00
2026-08-10 14:44:34 +02:00
2026-07-19 22:48:18 +02:00
2026-08-08 13:16:35 +02:00
2026-08-16 11:20:12 +02:00
2026-08-05 13:54:47 +02:00
2026-07-26 09:25:03 +02:00
2026-07-23 07:55:55 +02:00
2026-08-06 15:05:31 +02:00
2026-08-23 01:12:41 +02:00
2026-08-24 14:10:32 +02:00
2026-09-10 15:27:15 +02:00
2026-09-10 13:35:54 +02:00
2026-09-06 20:51:49 +02:00
2026-08-06 15:17:38 +02:00
2026-08-06 22:39:19 +02:00
2026-08-25 18:25:07 +02:00
2026-08-12 08:54:42 +02:00
2026-09-09 17:36:52 +00:00
2026-07-25 16:10:56 +02:00
2026-07-24 01:06:35 +02:00
2026-07-27 11:39:15 +02:00
2026-09-06 11:08:37 +02:00
2026-09-04 08:53:48 +02:00
2026-08-02 19:40:34 +02:00
2026-09-10 12:01:14 +02:00
2026-09-09 22:03:28 +02:00
2026-07-18 14:16:41 +02:00
2026-09-10 18:27:12 +02:00
2026-09-10 09:03:38 +02:00
2026-09-07 09:32:51 +02:00
2026-08-10 21:51:40 +02:00
2026-09-10 13:29:38 +02:00
2026-09-09 21:44:39 +02:00
2026-07-29 12:12:10 +02:00
2026-08-21 14:59:19 +02:00
2026-08-11 17:14:24 +02:00
2026-08-24 15:49:36 +02:00
2026-07-18 13:22:01 +02:00
2026-08-11 09:45:17 +02:00
2026-07-30 13:26:31 +02:00
2026-08-02 16:52:28 +02:00
2026-08-11 11:12:05 +02:00
2026-09-02 18:00:57 +02:00
2026-09-09 15:00:32 +02:00
2026-09-09 21:51:05 +02:00
2026-09-09 21:51:05 +02:00
2026-07-30 12:08:31 +02:00
2026-09-10 18:27:12 +02:00
2026-09-06 13:07:32 +02:00
2026-09-07 02:41:18 +02:00
2026-09-07 07:22:34 +02:00
2026-08-07 15:32:08 +02:00
2026-07-25 20:37:28 +02:00
2026-08-31 21:27:31 +02:00
2026-08-20 21:24:56 +02:00
2026-08-11 01:28:47 +02:00
2026-07-25 20:37:28 +02:00
2026-08-07 13:48:51 +02:00
2026-07-15 11:36:34 +02:00
2026-07-18 13:06:37 +02:00
2026-09-08 18:46:04 +02:00
2026-08-11 02:25:20 +02:00
2026-09-07 15:58:36 +02:00
2026-09-08 09:31:51 +02:00
2026-09-10 09:16:07 +02:00
2026-07-26 03:06:01 +02:00
2026-07-17 23:47:34 +02:00
2026-08-11 00:48:19 +02:00
2026-08-17 11:55:56 +02:00
2026-08-01 14:09:02 +02:00
2026-09-08 08:19:11 +02:00
2026-09-08 17:20:55 +02:00
2026-08-23 00:08:05 +02:00
2026-08-08 20:42:37 +02:00
2026-08-08 20:42:37 +02:00
2026-08-04 13:12:48 +02:00
2026-07-17 09:54:10 +02:00
2026-07-24 02:42:40 +02:00
2026-09-07 11:51:31 +02:00
2026-09-08 18:46:04 +02:00
2026-09-06 09:25:23 +02:00
2026-07-23 16:04:43 +02:00
2026-09-05 10:57:38 +02:00
2026-09-06 12:42:44 +02:00
2026-07-13 18:27:50 +02:00
2026-08-26 15:28:20 +02:00
2026-09-07 15:59:54 +02:00
2026-08-16 12:18:17 +02:00
2026-09-08 18:46:04 +02:00
2026-09-07 11:51:31 +02:00
2026-09-07 11:51:31 +02:00
2026-09-07 09:27:57 +02:00
2026-09-07 11:51:31 +02:00
2026-09-07 11:51:31 +02:00
2026-09-07 11:51:31 +02:00
2026-09-07 20:45:28 +02:00
2026-09-07 01:02:39 +02:00
2026-09-09 13:15:59 +02:00
2026-08-26 12:29:51 +02:00
2026-08-17 01:28:21 +02:00
2026-09-08 23:14:15 +02:00
2026-09-06 12:42:44 +02:00
2026-08-17 13:31:24 +02:00
2026-08-17 10:45:33 +02:00
2026-07-18 13:06:37 +02:00
2026-07-30 20:00:23 +02:00
2026-07-30 13:37:36 +02:00
2026-08-12 21:52:54 +02:00
2026-07-30 12:34:52 +02:00
2026-08-25 11:27:03 +02:00
2026-09-10 13:19:17 +02:00
2026-08-04 16:41:38 +02:00
2026-08-21 15:01:51 +02:00
2026-07-13 18:27:50 +02:00
2026-09-06 11:48:33 +02:00
2026-09-06 13:04:53 +02:00
2026-09-11 02:25:48 +02:00
2026-09-09 01:25:28 +02:00
2026-08-06 12:40:27 +02:00
2026-09-04 00:20:59 +02:00
2026-08-23 16:39:23 +02:00
2026-09-02 16:36:09 +02:00
2026-09-10 09:20:53 +02:00
2026-07-17 22:05:03 +02:00
2026-07-25 20:34:26 +02:00
2026-09-02 18:00:57 +02:00
2026-08-26 01:58:44 +02:00
2026-07-16 21:29:48 +02:00
2026-08-18 11:32:51 +02:00
2026-08-17 01:28:21 +02:00
2026-09-03 23:15:02 +02:00
2026-08-10 12:34:35 +02:00
2026-09-08 19:08:22 +02:00
2026-09-02 17:31:21 +02:00
2026-08-28 01:17:54 +02:00
2026-08-11 21:16:47 +02:00
2026-07-13 18:32:16 +02:00
2026-08-17 15:23:28 +02:00
2026-07-13 15:56:52 +02:00
2026-08-07 15:52:12 +02:00
2026-07-17 13:20:26 +02:00
2026-07-27 00:21:34 +02:00
2026-08-20 21:23:13 +02:00
2026-08-14 11:58:24 +02:00
2026-08-23 16:39:49 +02:00
2026-09-06 15:35:06 +02:00
2026-08-27 15:29:54 +02:00
2026-07-17 15:14:43 +02:00
2026-08-26 12:23:10 +02:00
2026-07-30 13:37:36 +02:00
2026-09-10 12:09:01 +02:00
2026-08-11 14:34:42 +02:00
2026-08-22 17:12:27 +02:00
2026-09-10 11:14:38 +02:00
2026-08-10 22:02:58 +02:00
2026-08-21 15:01:01 +02:00
2026-07-25 01:34:27 +02:00
2026-08-20 21:19:54 +02:00
2026-07-16 14:38:22 +02:00
2026-09-07 11:51:31 +02:00
2026-08-09 15:43:31 +02:00
2026-08-21 02:10:07 +02:00
2026-09-06 18:47:24 +02:00
2026-09-10 15:22:31 +02:00
2026-09-10 14:15:08 +02:00
2026-09-10 09:19:31 +02:00
2026-08-17 10:44:26 +02:00
2026-09-10 14:20:11 +02:00
2026-08-22 21:15:51 +02:00
2026-08-17 23:24:23 +02:00
2026-08-12 01:21:02 +02:00
2026-09-04 08:14:53 +02:00
2026-07-13 15:55:25 +02:00
2026-09-01 12:51:43 +02:00
2026-08-24 16:45:42 +02:00
2026-08-23 12:42:26 +02:00
2026-08-25 22:13:27 +02:00
2026-08-24 15:43:28 +02:00
2026-08-25 18:15:59 +02:00
2026-08-22 22:19:18 +02:00
2026-09-08 10:54:56 +02:00
2026-09-02 18:00:57 +02:00
2026-09-04 15:42:55 +02:00
2026-08-12 01:01:31 +02:00
2026-07-21 23:48:46 +02:00
2026-09-09 21:45:52 +02:00
2026-07-22 00:41:30 +02:00
2026-09-10 12:11:48 +02:00
2026-08-06 11:31:24 +02:00
2026-07-17 19:32:16 +02:00
2026-07-21 22:28:44 +02:00
2026-08-21 11:19:33 +02:00
2026-08-23 00:20:02 +02:00
2026-08-06 11:48:51 +02:00
2026-08-25 13:51:56 +02:00
2026-08-17 15:22:57 +02:00
2026-09-09 20:15:24 +02:00
2026-09-10 14:20:11 +02:00
2026-09-10 13:32:15 +02:00
2026-07-23 07:55:55 +02:00
2026-09-09 15:02:57 +02:00
2026-07-13 16:32:21 +02:00
2026-08-30 01:54:13 +02:00