claude-subprocess 0.1.2__tar.gz → 0.1.3__tar.gz
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.
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/PKG-INFO +9 -1
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/README.md +4 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/pyproject.toml +7 -1
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/.gitignore +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/LICENSE +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/__init__.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/batch.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/cache.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/errors.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/http_api.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/parsing.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/preflight.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/src/claude_cli/runner.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/tests/conftest.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/tests/test_batch.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/tests/test_cache.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/tests/test_http_api.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/tests/test_parsing.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/tests/test_preflight.py +0 -0
- {claude_subprocess-0.1.2 → claude_subprocess-0.1.3}/tests/test_runner.py +0 -0
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: claude-subprocess
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Hardened wrapper around the local `claude -p` CLI (subscription auth), + JSON extraction and response cache
|
|
5
5
|
Project-URL: Homepage, https://github.com/octrow/claude-cli
|
|
6
6
|
Project-URL: Issues, https://github.com/octrow/claude-cli/issues
|
|
7
7
|
Author: Daniil Petrov
|
|
8
8
|
License-Expression: MIT
|
|
9
9
|
License-File: LICENSE
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
10
14
|
Requires-Python: >=3.12
|
|
11
15
|
Provides-Extra: dev
|
|
12
16
|
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
|
|
@@ -15,6 +19,8 @@ Description-Content-Type: text/markdown
|
|
|
15
19
|
|
|
16
20
|
<p align="center">
|
|
17
21
|
<picture>
|
|
22
|
+
<source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-mobile-dark.svg">
|
|
23
|
+
<source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-mobile-light.svg">
|
|
18
24
|
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-dark.svg">
|
|
19
25
|
<img src="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-light.svg" width="100%" alt="claude-subprocess: call claude -p from Python on your Claude Code subscription, with the risky flags locked down. Beside the title, the real argv build_args(model='haiku') produces: omniroute run claude -- -p --model haiku --effort low --output-format json --no-session-persistence --tools '' --disable-slash-commands --setting-sources user --strict-mcp-config --mcp-config mcp-empty.json. --bare is never sent because it breaks OAuth.">
|
|
20
26
|
</picture>
|
|
@@ -66,6 +72,8 @@ extract_json(res.text) # {'ok': True}
|
|
|
66
72
|
## How a call is routed
|
|
67
73
|
|
|
68
74
|
<picture>
|
|
75
|
+
<source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-mobile-dark.svg">
|
|
76
|
+
<source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-mobile-light.svg">
|
|
69
77
|
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-dark.svg">
|
|
70
78
|
<img src="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-light.svg" width="100%" alt="run_claude, arun_claude and stream_claude send tool-less calls to OmniRoute's HTTP API at /v1/chat/completions. Calls with tools, a project cwd or stream-json go through omniroute run claude -- -p with a throwaway cwd and an empty MCP config. An HTTP error falls back to the CLI and parks HTTP for 600 seconds. Both paths return a ClaudeResult. NotLoggedInError and UsageLimitError fail fast and derive from ClaudeCliError(RuntimeError).">
|
|
71
79
|
</picture>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<picture>
|
|
3
|
+
<source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-mobile-dark.svg">
|
|
4
|
+
<source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-mobile-light.svg">
|
|
3
5
|
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-dark.svg">
|
|
4
6
|
<img src="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/hero-light.svg" width="100%" alt="claude-subprocess: call claude -p from Python on your Claude Code subscription, with the risky flags locked down. Beside the title, the real argv build_args(model='haiku') produces: omniroute run claude -- -p --model haiku --effort low --output-format json --no-session-persistence --tools '' --disable-slash-commands --setting-sources user --strict-mcp-config --mcp-config mcp-empty.json. --bare is never sent because it breaks OAuth.">
|
|
5
7
|
</picture>
|
|
@@ -51,6 +53,8 @@ extract_json(res.text) # {'ok': True}
|
|
|
51
53
|
## How a call is routed
|
|
52
54
|
|
|
53
55
|
<picture>
|
|
56
|
+
<source media="(max-width: 600px) and (prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-mobile-dark.svg">
|
|
57
|
+
<source media="(max-width: 600px)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-mobile-light.svg">
|
|
54
58
|
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-dark.svg">
|
|
55
59
|
<img src="https://raw.githubusercontent.com/octrow/claude-cli/main/assets/readme/flow-light.svg" width="100%" alt="run_claude, arun_claude and stream_claude send tool-less calls to OmniRoute's HTTP API at /v1/chat/completions. Calls with tools, a project cwd or stream-json go through omniroute run claude -- -p with a throwaway cwd and an empty MCP config. An HTTP error falls back to the CLI and parks HTTP for 600 seconds. Both paths return a ClaudeResult. NotLoggedInError and UsageLimitError fail fast and derive from ClaudeCliError(RuntimeError).">
|
|
56
60
|
</picture>
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "claude-subprocess"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.3"
|
|
4
4
|
license = "MIT"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [{ name = "Daniil Petrov" }]
|
|
7
7
|
description = "Hardened wrapper around the local `claude -p` CLI (subscription auth), + JSON extraction and response cache"
|
|
8
8
|
requires-python = ">=3.12"
|
|
9
|
+
classifiers = [
|
|
10
|
+
"Programming Language :: Python :: 3",
|
|
11
|
+
"Programming Language :: Python :: 3.12",
|
|
12
|
+
"Programming Language :: Python :: 3.13",
|
|
13
|
+
"Operating System :: OS Independent",
|
|
14
|
+
]
|
|
9
15
|
dependencies = [] # stdlib only, on purpose
|
|
10
16
|
|
|
11
17
|
[project.urls]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|