@paretools/python 0.8.5 → 0.10.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 (62) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/formatters.d.ts +52 -5
  5. package/dist/lib/formatters.d.ts.map +1 -1
  6. package/dist/lib/formatters.js +287 -37
  7. package/dist/lib/formatters.js.map +1 -1
  8. package/dist/lib/parsers.d.ts +30 -15
  9. package/dist/lib/parsers.d.ts.map +1 -1
  10. package/dist/lib/parsers.js +506 -51
  11. package/dist/lib/parsers.js.map +1 -1
  12. package/dist/lib/python-runner.d.ts +2 -0
  13. package/dist/lib/python-runner.d.ts.map +1 -1
  14. package/dist/lib/python-runner.js +12 -8
  15. package/dist/lib/python-runner.js.map +1 -1
  16. package/dist/schemas/index.d.ts +354 -69
  17. package/dist/schemas/index.d.ts.map +1 -1
  18. package/dist/schemas/index.js +266 -32
  19. package/dist/schemas/index.js.map +1 -1
  20. package/dist/tools/black.d.ts.map +1 -1
  21. package/dist/tools/black.js +45 -10
  22. package/dist/tools/black.js.map +1 -1
  23. package/dist/tools/conda.d.ts.map +1 -1
  24. package/dist/tools/conda.js +73 -14
  25. package/dist/tools/conda.js.map +1 -1
  26. package/dist/tools/mypy.d.ts.map +1 -1
  27. package/dist/tools/mypy.js +168 -13
  28. package/dist/tools/mypy.js.map +1 -1
  29. package/dist/tools/pip-audit.d.ts.map +1 -1
  30. package/dist/tools/pip-audit.js +75 -15
  31. package/dist/tools/pip-audit.js.map +1 -1
  32. package/dist/tools/pip-install.d.ts.map +1 -1
  33. package/dist/tools/pip-install.js +88 -14
  34. package/dist/tools/pip-install.js.map +1 -1
  35. package/dist/tools/pip-list.d.ts.map +1 -1
  36. package/dist/tools/pip-list.js +58 -13
  37. package/dist/tools/pip-list.js.map +1 -1
  38. package/dist/tools/pip-show.d.ts.map +1 -1
  39. package/dist/tools/pip-show.js +46 -12
  40. package/dist/tools/pip-show.js.map +1 -1
  41. package/dist/tools/poetry.d.ts.map +1 -1
  42. package/dist/tools/poetry.js +75 -14
  43. package/dist/tools/poetry.js.map +1 -1
  44. package/dist/tools/pyenv.d.ts.map +1 -1
  45. package/dist/tools/pyenv.js +84 -19
  46. package/dist/tools/pyenv.js.map +1 -1
  47. package/dist/tools/pytest.d.ts.map +1 -1
  48. package/dist/tools/pytest.js +77 -11
  49. package/dist/tools/pytest.js.map +1 -1
  50. package/dist/tools/ruff-format.d.ts.map +1 -1
  51. package/dist/tools/ruff-format.js +84 -9
  52. package/dist/tools/ruff-format.js.map +1 -1
  53. package/dist/tools/ruff.d.ts.map +1 -1
  54. package/dist/tools/ruff.js +87 -11
  55. package/dist/tools/ruff.js.map +1 -1
  56. package/dist/tools/uv-install.d.ts.map +1 -1
  57. package/dist/tools/uv-install.js +79 -14
  58. package/dist/tools/uv-install.js.map +1 -1
  59. package/dist/tools/uv-run.d.ts.map +1 -1
  60. package/dist/tools/uv-run.js +81 -13
  61. package/dist/tools/uv-run.js.map +1 -1
  62. package/package.json +2 -2
@@ -8,16 +8,9 @@ import { UvInstallSchema } from "../schemas/index.js";
8
8
  export function registerUvInstallTool(server) {
9
9
  server.registerTool("uv-install", {
10
10
  title: "uv Install",
11
- description: "Runs uv pip install and returns a structured summary of installed packages. " +
12
- "Use instead of running `uv pip install` in the terminal. " +
13
- "WARNING: Installing packages may execute arbitrary setup.py code during build. " +
14
- "Only install trusted packages. Use dryRun to preview what would be installed before committing.",
11
+ description: "Runs uv pip install and returns a structured summary of installed packages. WARNING: may execute untrusted code.",
15
12
  inputSchema: {
16
- path: z
17
- .string()
18
- .max(INPUT_LIMITS.PATH_MAX)
19
- .optional()
20
- .describe("Working directory (default: cwd)"),
13
+ path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Working directory"),
21
14
  packages: z
22
15
  .array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
23
16
  .max(INPUT_LIMITS.ARRAY_MAX)
@@ -33,24 +26,96 @@ export function registerUvInstallTool(server) {
33
26
  .optional()
34
27
  .default(false)
35
28
  .describe("Preview what would be installed without actually installing (--dry-run)"),
36
- compact: z
29
+ verifyHashes: z
30
+ .boolean()
31
+ .optional()
32
+ .default(false)
33
+ .describe("Verify package hashes for supply-chain security (--verify-hashes)"),
34
+ upgrade: z
37
35
  .boolean()
38
36
  .optional()
39
- .default(true)
40
- .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
37
+ .default(false)
38
+ .describe("Upgrade already-installed packages to the newest version (--upgrade)"),
39
+ noDeps: z
40
+ .boolean()
41
+ .optional()
42
+ .default(false)
43
+ .describe("Do not install package dependencies (--no-deps)"),
44
+ reinstall: z
45
+ .boolean()
46
+ .optional()
47
+ .default(false)
48
+ .describe("Force reinstall of all packages even if already installed (--reinstall)"),
49
+ editable: z
50
+ .string()
51
+ .max(INPUT_LIMITS.PATH_MAX)
52
+ .optional()
53
+ .describe("Path to local package for editable install (-e PATH)"),
54
+ constraint: z
55
+ .string()
56
+ .max(INPUT_LIMITS.PATH_MAX)
57
+ .optional()
58
+ .describe("Path to constraints file for version pinning (-c FILE)"),
59
+ indexUrl: z
60
+ .string()
61
+ .max(INPUT_LIMITS.STRING_MAX)
62
+ .optional()
63
+ .describe("Base URL of the Python Package Index (-i URL)"),
64
+ python: z
65
+ .string()
66
+ .max(INPUT_LIMITS.SHORT_STRING_MAX)
67
+ .optional()
68
+ .describe("Python interpreter version to use (-p VERSION)"),
69
+ extras: z
70
+ .array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
71
+ .max(INPUT_LIMITS.ARRAY_MAX)
72
+ .optional()
73
+ .describe("Package extras to install (--extra NAME)"),
74
+ compact: z.boolean().optional().default(true).describe("Prefer compact output"),
41
75
  },
42
76
  outputSchema: UvInstallSchema,
43
- }, async ({ path, packages, requirements, dryRun, compact }) => {
77
+ }, async ({ path, packages, requirements, dryRun, verifyHashes, upgrade, noDeps, reinstall, editable, constraint, indexUrl, python, extras, compact, }) => {
44
78
  const cwd = path || process.cwd();
45
79
  for (const p of packages ?? []) {
46
80
  assertNoFlagInjection(p, "packages");
47
81
  }
48
82
  if (requirements)
49
83
  assertNoFlagInjection(requirements, "requirements");
84
+ if (editable)
85
+ assertNoFlagInjection(editable, "editable");
86
+ if (constraint)
87
+ assertNoFlagInjection(constraint, "constraint");
88
+ if (indexUrl)
89
+ assertNoFlagInjection(indexUrl, "indexUrl");
90
+ if (python)
91
+ assertNoFlagInjection(python, "python");
92
+ for (const e of extras ?? []) {
93
+ assertNoFlagInjection(e, "extras");
94
+ }
50
95
  const args = ["pip", "install"];
51
96
  if (dryRun)
52
97
  args.push("--dry-run");
53
- if (requirements) {
98
+ if (verifyHashes)
99
+ args.push("--verify-hashes");
100
+ if (upgrade)
101
+ args.push("--upgrade");
102
+ if (noDeps)
103
+ args.push("--no-deps");
104
+ if (reinstall)
105
+ args.push("--reinstall");
106
+ if (constraint)
107
+ args.push("-c", constraint);
108
+ if (indexUrl)
109
+ args.push("-i", indexUrl);
110
+ if (python)
111
+ args.push("-p", python);
112
+ for (const e of extras ?? []) {
113
+ args.push("--extra", e);
114
+ }
115
+ if (editable) {
116
+ args.push("-e", editable);
117
+ }
118
+ else if (requirements) {
54
119
  args.push("-r", requirements);
55
120
  }
56
121
  else if (packages && packages.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"uv-install.js","sourceRoot":"","sources":["../../src/tools/uv-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uv-install.js","sourceRoot":"","sources":["../../src/tools/uv-install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uv-run.d.ts","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QAgDlD"}
1
+ {"version":3,"file":"uv-run.d.ts","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,QAsHlD"}
@@ -8,34 +8,102 @@ import { UvRunSchema } from "../schemas/index.js";
8
8
  export function registerUvRunTool(server) {
9
9
  server.registerTool("uv-run", {
10
10
  title: "uv Run",
11
- description: "Runs a command in a uv-managed environment and returns structured output. Use instead of running `uv run` in the terminal.",
11
+ description: "Runs a command in a uv-managed environment and returns structured output.",
12
12
  inputSchema: {
13
- path: z
14
- .string()
15
- .max(INPUT_LIMITS.PATH_MAX)
16
- .optional()
17
- .describe("Working directory (default: cwd)"),
13
+ path: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Working directory"),
18
14
  command: z
19
15
  .array(z.string().max(INPUT_LIMITS.STRING_MAX))
20
16
  .max(INPUT_LIMITS.ARRAY_MAX)
21
17
  .min(1)
22
18
  .describe("Command and arguments to run (e.g. ['python', 'script.py'])"),
23
- compact: z
19
+ isolated: z
20
+ .boolean()
21
+ .optional()
22
+ .default(false)
23
+ .describe("Run in a clean isolated environment (--isolated)"),
24
+ module: z
24
25
  .boolean()
25
26
  .optional()
26
- .default(true)
27
- .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
27
+ .default(false)
28
+ .describe("Run as python -m <module> instead of a script (-m)"),
29
+ noSync: z
30
+ .boolean()
31
+ .optional()
32
+ .default(false)
33
+ .describe("Skip syncing the environment for faster execution (--no-sync)"),
34
+ locked: z
35
+ .boolean()
36
+ .optional()
37
+ .default(false)
38
+ .describe("Assert the lockfile is up-to-date (--locked)"),
39
+ frozen: z
40
+ .boolean()
41
+ .optional()
42
+ .default(false)
43
+ .describe("Run without updating the lockfile (--frozen)"),
44
+ withPackages: z
45
+ .array(z.string().max(INPUT_LIMITS.SHORT_STRING_MAX))
46
+ .max(INPUT_LIMITS.ARRAY_MAX)
47
+ .optional()
48
+ .describe("Additional packages to inject for one-off use (--with PKG)"),
49
+ python: z
50
+ .string()
51
+ .max(INPUT_LIMITS.SHORT_STRING_MAX)
52
+ .optional()
53
+ .describe("Python interpreter version to use (-p VERSION)"),
54
+ envFile: z
55
+ .string()
56
+ .max(INPUT_LIMITS.PATH_MAX)
57
+ .optional()
58
+ .describe("Path to environment file (--env-file FILE)"),
59
+ outputLimit: z
60
+ .number()
61
+ .int()
62
+ .positive()
63
+ .optional()
64
+ .default(20000)
65
+ .describe("Maximum characters to return for stdout/stderr before truncation"),
66
+ compact: z.boolean().optional().default(true).describe("Prefer compact output"),
28
67
  },
29
68
  outputSchema: UvRunSchema,
30
- }, async ({ path, command, compact }) => {
69
+ }, async ({ path, command, isolated, module, noSync, locked, frozen, withPackages, python, envFile, outputLimit, compact, }) => {
31
70
  const cwd = path || process.cwd();
32
71
  assertNoFlagInjection(command[0], "command");
33
- const args = ["run", ...command];
72
+ if (python)
73
+ assertNoFlagInjection(python, "python");
74
+ if (envFile)
75
+ assertNoFlagInjection(envFile, "envFile");
76
+ for (const p of withPackages ?? []) {
77
+ assertNoFlagInjection(p, "withPackages");
78
+ }
79
+ const args = ["run"];
80
+ if (isolated)
81
+ args.push("--isolated");
82
+ if (module)
83
+ args.push("-m");
84
+ if (noSync)
85
+ args.push("--no-sync");
86
+ if (locked)
87
+ args.push("--locked");
88
+ if (frozen)
89
+ args.push("--frozen");
90
+ for (const p of withPackages ?? []) {
91
+ args.push("--with", p);
92
+ }
93
+ if (python)
94
+ args.push("-p", python);
95
+ if (envFile)
96
+ args.push("--env-file", envFile);
97
+ // Use "--" separator to isolate uv flags from command arguments,
98
+ // preventing command args from being interpreted as uv options.
99
+ args.push("--", ...command);
34
100
  const start = Date.now();
35
101
  const result = await uv(args, cwd);
36
102
  const elapsed = Date.now() - start;
37
- const data = parseUvRun(result.stdout, result.stderr, result.exitCode, elapsed);
38
- return compactDualOutput(data, result.stdout, formatUvRun, compactUvRunMap, formatUvRunCompact, compact === false);
103
+ const data = parseUvRun(result.stdout, result.stderr, result.exitCode, elapsed, {
104
+ maxOutputChars: outputLimit,
105
+ });
106
+ return compactDualOutput(data, `${result.stdout}\n${result.stderr}`, formatUvRun, compactUvRunMap, formatUvRunCompact, compact === false);
39
107
  });
40
108
  }
41
109
  //# sourceMappingURL=uv-run.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uv-run.js","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,QAAQ,EACR;QACE,KAAK,EAAE,QAAQ;QACf,WAAW,EACT,4HAA4H;QAC9H,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,OAAO,EAAE,CAAC;iBACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAC9C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,WAAW;KAC1B,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACnC,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAEnC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChF,OAAO,iBAAiB,CACtB,IAAI,EACJ,MAAM,CAAC,MAAM,EACb,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"uv-run.js","sourceRoot":"","sources":["../../src/tools/uv-run.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paretools/python",
3
- "version": "0.8.5",
3
+ "version": "0.10.0",
4
4
  "mcpName": "io.github.Dave-London/pare-python",
5
5
  "description": "MCP server for Python tools (pip, mypy, ruff) with structured, token-efficient output",
6
6
  "license": "MIT",
@@ -53,7 +53,7 @@
53
53
  "dependencies": {
54
54
  "@modelcontextprotocol/sdk": "^1.26.0",
55
55
  "zod": "^4.3.6",
56
- "@paretools/shared": "0.8.5"
56
+ "@paretools/shared": "0.10.0"
57
57
  },
58
58
  "devDependencies": {
59
59
  "@types/node": "^25.2.3",