llmkit-cli 0.1.1__tar.gz → 0.1.2__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.
Files changed (28) hide show
  1. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/PKG-INFO +90 -68
  2. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/README.md +89 -67
  3. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/llmkit_cli.egg-info/PKG-INFO +90 -68
  4. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/pyproject.toml +1 -1
  5. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/agent_cmd.py +0 -0
  6. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/check.py +0 -0
  7. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/cli.py +0 -0
  8. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/env.py +0 -0
  9. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/git.py +0 -0
  10. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/git_cmds.py +0 -0
  11. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/init.py +0 -0
  12. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/llmkit_cli.egg-info/SOURCES.txt +0 -0
  13. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/llmkit_cli.egg-info/dependency_links.txt +0 -0
  14. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/llmkit_cli.egg-info/entry_points.txt +0 -0
  15. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/llmkit_cli.egg-info/requires.txt +0 -0
  16. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/llmkit_cli.egg-info/top_level.txt +0 -0
  17. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/lock.py +0 -0
  18. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/__init__.py +0 -0
  19. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/anthropic.py +0 -0
  20. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/deepseek.py +0 -0
  21. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/groq.py +0 -0
  22. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/local.py +0 -0
  23. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/mistral.py +0 -0
  24. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/openai.py +0 -0
  25. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/together.py +0 -0
  26. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/providers/utils.py +0 -0
  27. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/setup.cfg +0 -0
  28. {llmkit_cli-0.1.1 → llmkit_cli-0.1.2}/tests/test_llmkit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llmkit-cli
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Run any LLM with one config file. No framework lock-in.
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/abinz-aiml/llmkit
@@ -26,12 +26,24 @@ Requires-Dist: mcp; extra == "all"
26
26
 
27
27
  Run any LLM — local or via API — with one config file. No framework lock-in. Works on Windows, Mac, Linux.
28
28
 
29
+ ```bash
30
+ pip install llmkit-cli
31
+ ```
32
+
29
33
  ```bash
30
34
  llmkit run "explain this codebase in one sentence"
31
35
  ```
32
36
 
37
+ Switch between OpenAI, Anthropic, Groq, Mistral, DeepSeek, Together, and local Ollama models by changing **one line** in `llm.yaml`. No code changes. No redeploy.
38
+
33
39
  ## Install
34
40
 
41
+ **Recommended (PyPI):**
42
+ ```bash
43
+ pip install llmkit-cli
44
+ ```
45
+
46
+ **Or clone and run the platform installer:**
35
47
  ```bash
36
48
  # Linux
37
49
  bash install.sh
@@ -43,19 +55,21 @@ bash install.mac.sh
43
55
  ./install.ps1
44
56
  ```
45
57
 
46
- Each script installs deps, sets up Ollama if needed, and adds `llmkit` to your PATH.
58
+ **VS Code extension:** install `vscode-llmkit` to run prompts and commands from the editor status bar.
47
59
 
48
60
  ## Configure
49
61
 
50
- Edit `llm.yaml` (or run `llmkit init` for a guided setup):
62
+ Create `llm.yaml` in your project (or run `llmkit init` for a guided setup):
51
63
 
52
64
  ```yaml
53
65
  provider: groq # local | openai | anthropic | groq | together | deepseek | mistral
54
66
  model: llama-3.3-70b-versatile
55
- mode: chat
56
67
  ```
57
68
 
58
- For API providers, copy `.env.example` to `.env` and add your key.
69
+ For API providers, add your key to `.env`:
70
+ ```
71
+ GROQ_API_KEY=your_key_here
72
+ ```
59
73
 
60
74
  ## Commands
61
75
 
@@ -63,7 +77,7 @@ For API providers, copy `.env.example` to `.env` and add your key.
63
77
  # One-shot prompt
64
78
  llmkit run "explain this codebase in one sentence"
65
79
 
66
- # Validate config + check provider reachability
80
+ # Validate config and check provider reachability
67
81
  llmkit check
68
82
 
69
83
  # Interactive wizard to create llm.yaml
@@ -72,6 +86,9 @@ llmkit init
72
86
  # Pin current model to llm.lock (commit this file)
73
87
  llmkit lock
74
88
 
89
+ # Manage API keys in .env
90
+ llmkit env
91
+
75
92
  # Generate a commit message from staged changes
76
93
  llmkit commit
77
94
 
@@ -91,50 +108,45 @@ llmkit agent --plan "add pagination to the API"
91
108
  llmkit agent --approve "run the test suite and fix any failures"
92
109
  ```
93
110
 
94
- ## Examples
95
-
96
- ```bash
97
- # Chat
98
- python examples/chat.py
99
- node examples/chat.js # all providers including Anthropic
100
-
101
- # Streaming
102
- python examples/stream.py
103
- node examples/stream.js # all providers including Anthropic
111
+ ## Switch providers
104
112
 
105
- # Function calling / tools
106
- python examples/tools.py
113
+ Change one line in `llm.yaml`, run `llmkit check`, done:
107
114
 
108
- # Vision (image input)
109
- python examples/vision.py
115
+ ```yaml
116
+ # was: provider: groq
117
+ provider: anthropic
118
+ model: claude-3-5-haiku-20241022
119
+ ```
110
120
 
111
- # Multi-round conversation
112
- python examples/multiround.py
121
+ No code changes. No redeploy. Works in CI too.
113
122
 
114
- # Embeddings + cosine similarity
115
- python examples/embed.py
123
+ ## Fallback
116
124
 
117
- # Coding agent
118
- python examples/agent.py
125
+ If the primary provider fails, llmkit cascades to the next:
119
126
 
120
- # MCP agent (connects to MCP servers defined in llm.yaml)
121
- python examples/mcp_agent.py
127
+ ```yaml
128
+ provider: groq
129
+ model: llama-3.3-70b-versatile
130
+ fallback:
131
+ - provider: openai
132
+ model: gpt-4o-mini
133
+ - provider: anthropic
134
+ model: claude-3-5-haiku-20241022
122
135
  ```
123
136
 
124
- ## Local models (via Ollama)
137
+ ## Budget
125
138
 
126
- | Model | Config |
127
- |---|---|
128
- | Llama 4 | `model: llama4` |
129
- | Qwen 3 | `model: qwen3` |
130
- | DeepSeek R1 | `model: deepseek-r1` |
131
- | Mistral | `model: mistral` |
132
- | Phi-4 | `model: phi4` |
133
- | Gemma 3 | `model: gemma3` |
139
+ Cap token usage per run:
140
+
141
+ ```yaml
142
+ budget:
143
+ max_tokens_per_run: 10000
144
+ warn_at: 8000
145
+ ```
134
146
 
135
147
  ## API providers
136
148
 
137
- | Provider | Env key | Fast cheap model |
149
+ | Provider | Env key | Fast model |
138
150
  |---|---|---|
139
151
  | OpenAI | `OPENAI_API_KEY` | `gpt-4o-mini` |
140
152
  | Anthropic | `ANTHROPIC_API_KEY` | `claude-3-5-haiku-20241022` |
@@ -143,50 +155,60 @@ python examples/mcp_agent.py
143
155
  | DeepSeek | `DEEPSEEK_API_KEY` | `deepseek-chat` |
144
156
  | Mistral | `MISTRAL_API_KEY` | `mistral-small-latest` |
145
157
 
146
- ## 5-minute team setup
147
-
148
- ```bash
149
- # 1 — clone
150
- git clone https://github.com/your-org/llmkit
151
- cd llmkit
152
-
153
- # 2 — install deps + register llmkit command
154
- bash install.sh # Mac: bash install.mac.sh | Windows: ./install.ps1
155
-
156
- # 3 — set one API key (Groq free tier works)
157
- echo "GROQ_API_KEY=your_key_here" > .env
158
-
159
- # 4 — verify everything is wired up
160
- llmkit check
158
+ ## Local models (via Ollama)
161
159
 
162
- # 5 — run your first prompt
163
- llmkit run "explain this codebase in one sentence"
160
+ ```yaml
161
+ provider: local
162
+ model: llama4 # or qwen3, deepseek-r1, mistral, phi4, gemma3
164
163
  ```
165
164
 
166
- No server. No IDE extension. No code to write. Switch providers by editing one line in `llm.yaml`.
167
-
168
165
  ## llm.lock
169
166
 
170
- Run `llmkit lock` to pin your model runtime. Commit `llm.lock` alongside your code:
167
+ Run `llmkit lock` to pin your model runtime. Commit `llm.lock` alongside your code — same idea as `package-lock.json`:
171
168
 
172
169
  ```yaml
173
- # Auto-generated — commit this file to pin your model runtime
174
170
  locked_at: "2026-06-26T12:00:00Z"
175
171
  provider: groq
176
172
  model: llama-3.3-70b-versatile
177
- mode: chat
178
173
  ```
179
174
 
180
- Same idea as `package-lock.json` reproducible environments, no surprise model swaps between teammates.
175
+ ## 5-minute team setup
181
176
 
182
- ## Switch providers
177
+ ```bash
178
+ # 1 — install
179
+ pip install llmkit-cli
183
180
 
184
- Change one line in `llm.yaml`, run `llmkit check`, done:
181
+ # 2 — set one API key (Groq free tier works)
182
+ echo "GROQ_API_KEY=your_key_here" > .env
185
183
 
186
- ```yaml
187
- # was: provider: groq
188
- provider: anthropic
189
- model: claude-3-5-haiku-20241022
184
+ # 3 — create config
185
+ llmkit init
186
+
187
+ # 4 — verify
188
+ llmkit check
189
+
190
+ # 5 — run
191
+ llmkit run "explain this codebase in one sentence"
190
192
  ```
191
193
 
192
- No code changes. No redeploy. Works in CI too.
194
+ No server. No IDE plugin required. No code to write.
195
+
196
+ ## Examples
197
+
198
+ ```bash
199
+ python examples/chat.py
200
+ python examples/stream.py
201
+ python examples/tools.py # function calling
202
+ python examples/multiround.py # multi-round conversation
203
+ python examples/embed.py # embeddings + cosine similarity
204
+ python examples/agent.py # coding agent
205
+ python examples/mcp_agent.py # MCP agent
206
+
207
+ node examples/chat.js # JS — all providers
208
+ node examples/stream.js # JS — streaming
209
+ ```
210
+
211
+ ## Links
212
+
213
+ - PyPI: https://pypi.org/project/llmkit-cli/
214
+ - GitHub: https://github.com/abinz-aiml/llmkit
@@ -2,12 +2,24 @@
2
2
 
3
3
  Run any LLM — local or via API — with one config file. No framework lock-in. Works on Windows, Mac, Linux.
4
4
 
5
+ ```bash
6
+ pip install llmkit-cli
7
+ ```
8
+
5
9
  ```bash
6
10
  llmkit run "explain this codebase in one sentence"
7
11
  ```
8
12
 
13
+ Switch between OpenAI, Anthropic, Groq, Mistral, DeepSeek, Together, and local Ollama models by changing **one line** in `llm.yaml`. No code changes. No redeploy.
14
+
9
15
  ## Install
10
16
 
17
+ **Recommended (PyPI):**
18
+ ```bash
19
+ pip install llmkit-cli
20
+ ```
21
+
22
+ **Or clone and run the platform installer:**
11
23
  ```bash
12
24
  # Linux
13
25
  bash install.sh
@@ -19,19 +31,21 @@ bash install.mac.sh
19
31
  ./install.ps1
20
32
  ```
21
33
 
22
- Each script installs deps, sets up Ollama if needed, and adds `llmkit` to your PATH.
34
+ **VS Code extension:** install `vscode-llmkit` to run prompts and commands from the editor status bar.
23
35
 
24
36
  ## Configure
25
37
 
26
- Edit `llm.yaml` (or run `llmkit init` for a guided setup):
38
+ Create `llm.yaml` in your project (or run `llmkit init` for a guided setup):
27
39
 
28
40
  ```yaml
29
41
  provider: groq # local | openai | anthropic | groq | together | deepseek | mistral
30
42
  model: llama-3.3-70b-versatile
31
- mode: chat
32
43
  ```
33
44
 
34
- For API providers, copy `.env.example` to `.env` and add your key.
45
+ For API providers, add your key to `.env`:
46
+ ```
47
+ GROQ_API_KEY=your_key_here
48
+ ```
35
49
 
36
50
  ## Commands
37
51
 
@@ -39,7 +53,7 @@ For API providers, copy `.env.example` to `.env` and add your key.
39
53
  # One-shot prompt
40
54
  llmkit run "explain this codebase in one sentence"
41
55
 
42
- # Validate config + check provider reachability
56
+ # Validate config and check provider reachability
43
57
  llmkit check
44
58
 
45
59
  # Interactive wizard to create llm.yaml
@@ -48,6 +62,9 @@ llmkit init
48
62
  # Pin current model to llm.lock (commit this file)
49
63
  llmkit lock
50
64
 
65
+ # Manage API keys in .env
66
+ llmkit env
67
+
51
68
  # Generate a commit message from staged changes
52
69
  llmkit commit
53
70
 
@@ -67,50 +84,45 @@ llmkit agent --plan "add pagination to the API"
67
84
  llmkit agent --approve "run the test suite and fix any failures"
68
85
  ```
69
86
 
70
- ## Examples
71
-
72
- ```bash
73
- # Chat
74
- python examples/chat.py
75
- node examples/chat.js # all providers including Anthropic
76
-
77
- # Streaming
78
- python examples/stream.py
79
- node examples/stream.js # all providers including Anthropic
87
+ ## Switch providers
80
88
 
81
- # Function calling / tools
82
- python examples/tools.py
89
+ Change one line in `llm.yaml`, run `llmkit check`, done:
83
90
 
84
- # Vision (image input)
85
- python examples/vision.py
91
+ ```yaml
92
+ # was: provider: groq
93
+ provider: anthropic
94
+ model: claude-3-5-haiku-20241022
95
+ ```
86
96
 
87
- # Multi-round conversation
88
- python examples/multiround.py
97
+ No code changes. No redeploy. Works in CI too.
89
98
 
90
- # Embeddings + cosine similarity
91
- python examples/embed.py
99
+ ## Fallback
92
100
 
93
- # Coding agent
94
- python examples/agent.py
101
+ If the primary provider fails, llmkit cascades to the next:
95
102
 
96
- # MCP agent (connects to MCP servers defined in llm.yaml)
97
- python examples/mcp_agent.py
103
+ ```yaml
104
+ provider: groq
105
+ model: llama-3.3-70b-versatile
106
+ fallback:
107
+ - provider: openai
108
+ model: gpt-4o-mini
109
+ - provider: anthropic
110
+ model: claude-3-5-haiku-20241022
98
111
  ```
99
112
 
100
- ## Local models (via Ollama)
113
+ ## Budget
101
114
 
102
- | Model | Config |
103
- |---|---|
104
- | Llama 4 | `model: llama4` |
105
- | Qwen 3 | `model: qwen3` |
106
- | DeepSeek R1 | `model: deepseek-r1` |
107
- | Mistral | `model: mistral` |
108
- | Phi-4 | `model: phi4` |
109
- | Gemma 3 | `model: gemma3` |
115
+ Cap token usage per run:
116
+
117
+ ```yaml
118
+ budget:
119
+ max_tokens_per_run: 10000
120
+ warn_at: 8000
121
+ ```
110
122
 
111
123
  ## API providers
112
124
 
113
- | Provider | Env key | Fast cheap model |
125
+ | Provider | Env key | Fast model |
114
126
  |---|---|---|
115
127
  | OpenAI | `OPENAI_API_KEY` | `gpt-4o-mini` |
116
128
  | Anthropic | `ANTHROPIC_API_KEY` | `claude-3-5-haiku-20241022` |
@@ -119,50 +131,60 @@ python examples/mcp_agent.py
119
131
  | DeepSeek | `DEEPSEEK_API_KEY` | `deepseek-chat` |
120
132
  | Mistral | `MISTRAL_API_KEY` | `mistral-small-latest` |
121
133
 
122
- ## 5-minute team setup
123
-
124
- ```bash
125
- # 1 — clone
126
- git clone https://github.com/your-org/llmkit
127
- cd llmkit
128
-
129
- # 2 — install deps + register llmkit command
130
- bash install.sh # Mac: bash install.mac.sh | Windows: ./install.ps1
131
-
132
- # 3 — set one API key (Groq free tier works)
133
- echo "GROQ_API_KEY=your_key_here" > .env
134
-
135
- # 4 — verify everything is wired up
136
- llmkit check
134
+ ## Local models (via Ollama)
137
135
 
138
- # 5 — run your first prompt
139
- llmkit run "explain this codebase in one sentence"
136
+ ```yaml
137
+ provider: local
138
+ model: llama4 # or qwen3, deepseek-r1, mistral, phi4, gemma3
140
139
  ```
141
140
 
142
- No server. No IDE extension. No code to write. Switch providers by editing one line in `llm.yaml`.
143
-
144
141
  ## llm.lock
145
142
 
146
- Run `llmkit lock` to pin your model runtime. Commit `llm.lock` alongside your code:
143
+ Run `llmkit lock` to pin your model runtime. Commit `llm.lock` alongside your code — same idea as `package-lock.json`:
147
144
 
148
145
  ```yaml
149
- # Auto-generated — commit this file to pin your model runtime
150
146
  locked_at: "2026-06-26T12:00:00Z"
151
147
  provider: groq
152
148
  model: llama-3.3-70b-versatile
153
- mode: chat
154
149
  ```
155
150
 
156
- Same idea as `package-lock.json` reproducible environments, no surprise model swaps between teammates.
151
+ ## 5-minute team setup
157
152
 
158
- ## Switch providers
153
+ ```bash
154
+ # 1 — install
155
+ pip install llmkit-cli
159
156
 
160
- Change one line in `llm.yaml`, run `llmkit check`, done:
157
+ # 2 — set one API key (Groq free tier works)
158
+ echo "GROQ_API_KEY=your_key_here" > .env
161
159
 
162
- ```yaml
163
- # was: provider: groq
164
- provider: anthropic
165
- model: claude-3-5-haiku-20241022
160
+ # 3 — create config
161
+ llmkit init
162
+
163
+ # 4 — verify
164
+ llmkit check
165
+
166
+ # 5 — run
167
+ llmkit run "explain this codebase in one sentence"
166
168
  ```
167
169
 
168
- No code changes. No redeploy. Works in CI too.
170
+ No server. No IDE plugin required. No code to write.
171
+
172
+ ## Examples
173
+
174
+ ```bash
175
+ python examples/chat.py
176
+ python examples/stream.py
177
+ python examples/tools.py # function calling
178
+ python examples/multiround.py # multi-round conversation
179
+ python examples/embed.py # embeddings + cosine similarity
180
+ python examples/agent.py # coding agent
181
+ python examples/mcp_agent.py # MCP agent
182
+
183
+ node examples/chat.js # JS — all providers
184
+ node examples/stream.js # JS — streaming
185
+ ```
186
+
187
+ ## Links
188
+
189
+ - PyPI: https://pypi.org/project/llmkit-cli/
190
+ - GitHub: https://github.com/abinz-aiml/llmkit
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llmkit-cli
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Run any LLM with one config file. No framework lock-in.
5
5
  License-Expression: MIT
6
6
  Project-URL: Homepage, https://github.com/abinz-aiml/llmkit
@@ -26,12 +26,24 @@ Requires-Dist: mcp; extra == "all"
26
26
 
27
27
  Run any LLM — local or via API — with one config file. No framework lock-in. Works on Windows, Mac, Linux.
28
28
 
29
+ ```bash
30
+ pip install llmkit-cli
31
+ ```
32
+
29
33
  ```bash
30
34
  llmkit run "explain this codebase in one sentence"
31
35
  ```
32
36
 
37
+ Switch between OpenAI, Anthropic, Groq, Mistral, DeepSeek, Together, and local Ollama models by changing **one line** in `llm.yaml`. No code changes. No redeploy.
38
+
33
39
  ## Install
34
40
 
41
+ **Recommended (PyPI):**
42
+ ```bash
43
+ pip install llmkit-cli
44
+ ```
45
+
46
+ **Or clone and run the platform installer:**
35
47
  ```bash
36
48
  # Linux
37
49
  bash install.sh
@@ -43,19 +55,21 @@ bash install.mac.sh
43
55
  ./install.ps1
44
56
  ```
45
57
 
46
- Each script installs deps, sets up Ollama if needed, and adds `llmkit` to your PATH.
58
+ **VS Code extension:** install `vscode-llmkit` to run prompts and commands from the editor status bar.
47
59
 
48
60
  ## Configure
49
61
 
50
- Edit `llm.yaml` (or run `llmkit init` for a guided setup):
62
+ Create `llm.yaml` in your project (or run `llmkit init` for a guided setup):
51
63
 
52
64
  ```yaml
53
65
  provider: groq # local | openai | anthropic | groq | together | deepseek | mistral
54
66
  model: llama-3.3-70b-versatile
55
- mode: chat
56
67
  ```
57
68
 
58
- For API providers, copy `.env.example` to `.env` and add your key.
69
+ For API providers, add your key to `.env`:
70
+ ```
71
+ GROQ_API_KEY=your_key_here
72
+ ```
59
73
 
60
74
  ## Commands
61
75
 
@@ -63,7 +77,7 @@ For API providers, copy `.env.example` to `.env` and add your key.
63
77
  # One-shot prompt
64
78
  llmkit run "explain this codebase in one sentence"
65
79
 
66
- # Validate config + check provider reachability
80
+ # Validate config and check provider reachability
67
81
  llmkit check
68
82
 
69
83
  # Interactive wizard to create llm.yaml
@@ -72,6 +86,9 @@ llmkit init
72
86
  # Pin current model to llm.lock (commit this file)
73
87
  llmkit lock
74
88
 
89
+ # Manage API keys in .env
90
+ llmkit env
91
+
75
92
  # Generate a commit message from staged changes
76
93
  llmkit commit
77
94
 
@@ -91,50 +108,45 @@ llmkit agent --plan "add pagination to the API"
91
108
  llmkit agent --approve "run the test suite and fix any failures"
92
109
  ```
93
110
 
94
- ## Examples
95
-
96
- ```bash
97
- # Chat
98
- python examples/chat.py
99
- node examples/chat.js # all providers including Anthropic
100
-
101
- # Streaming
102
- python examples/stream.py
103
- node examples/stream.js # all providers including Anthropic
111
+ ## Switch providers
104
112
 
105
- # Function calling / tools
106
- python examples/tools.py
113
+ Change one line in `llm.yaml`, run `llmkit check`, done:
107
114
 
108
- # Vision (image input)
109
- python examples/vision.py
115
+ ```yaml
116
+ # was: provider: groq
117
+ provider: anthropic
118
+ model: claude-3-5-haiku-20241022
119
+ ```
110
120
 
111
- # Multi-round conversation
112
- python examples/multiround.py
121
+ No code changes. No redeploy. Works in CI too.
113
122
 
114
- # Embeddings + cosine similarity
115
- python examples/embed.py
123
+ ## Fallback
116
124
 
117
- # Coding agent
118
- python examples/agent.py
125
+ If the primary provider fails, llmkit cascades to the next:
119
126
 
120
- # MCP agent (connects to MCP servers defined in llm.yaml)
121
- python examples/mcp_agent.py
127
+ ```yaml
128
+ provider: groq
129
+ model: llama-3.3-70b-versatile
130
+ fallback:
131
+ - provider: openai
132
+ model: gpt-4o-mini
133
+ - provider: anthropic
134
+ model: claude-3-5-haiku-20241022
122
135
  ```
123
136
 
124
- ## Local models (via Ollama)
137
+ ## Budget
125
138
 
126
- | Model | Config |
127
- |---|---|
128
- | Llama 4 | `model: llama4` |
129
- | Qwen 3 | `model: qwen3` |
130
- | DeepSeek R1 | `model: deepseek-r1` |
131
- | Mistral | `model: mistral` |
132
- | Phi-4 | `model: phi4` |
133
- | Gemma 3 | `model: gemma3` |
139
+ Cap token usage per run:
140
+
141
+ ```yaml
142
+ budget:
143
+ max_tokens_per_run: 10000
144
+ warn_at: 8000
145
+ ```
134
146
 
135
147
  ## API providers
136
148
 
137
- | Provider | Env key | Fast cheap model |
149
+ | Provider | Env key | Fast model |
138
150
  |---|---|---|
139
151
  | OpenAI | `OPENAI_API_KEY` | `gpt-4o-mini` |
140
152
  | Anthropic | `ANTHROPIC_API_KEY` | `claude-3-5-haiku-20241022` |
@@ -143,50 +155,60 @@ python examples/mcp_agent.py
143
155
  | DeepSeek | `DEEPSEEK_API_KEY` | `deepseek-chat` |
144
156
  | Mistral | `MISTRAL_API_KEY` | `mistral-small-latest` |
145
157
 
146
- ## 5-minute team setup
147
-
148
- ```bash
149
- # 1 — clone
150
- git clone https://github.com/your-org/llmkit
151
- cd llmkit
152
-
153
- # 2 — install deps + register llmkit command
154
- bash install.sh # Mac: bash install.mac.sh | Windows: ./install.ps1
155
-
156
- # 3 — set one API key (Groq free tier works)
157
- echo "GROQ_API_KEY=your_key_here" > .env
158
-
159
- # 4 — verify everything is wired up
160
- llmkit check
158
+ ## Local models (via Ollama)
161
159
 
162
- # 5 — run your first prompt
163
- llmkit run "explain this codebase in one sentence"
160
+ ```yaml
161
+ provider: local
162
+ model: llama4 # or qwen3, deepseek-r1, mistral, phi4, gemma3
164
163
  ```
165
164
 
166
- No server. No IDE extension. No code to write. Switch providers by editing one line in `llm.yaml`.
167
-
168
165
  ## llm.lock
169
166
 
170
- Run `llmkit lock` to pin your model runtime. Commit `llm.lock` alongside your code:
167
+ Run `llmkit lock` to pin your model runtime. Commit `llm.lock` alongside your code — same idea as `package-lock.json`:
171
168
 
172
169
  ```yaml
173
- # Auto-generated — commit this file to pin your model runtime
174
170
  locked_at: "2026-06-26T12:00:00Z"
175
171
  provider: groq
176
172
  model: llama-3.3-70b-versatile
177
- mode: chat
178
173
  ```
179
174
 
180
- Same idea as `package-lock.json` reproducible environments, no surprise model swaps between teammates.
175
+ ## 5-minute team setup
181
176
 
182
- ## Switch providers
177
+ ```bash
178
+ # 1 — install
179
+ pip install llmkit-cli
183
180
 
184
- Change one line in `llm.yaml`, run `llmkit check`, done:
181
+ # 2 — set one API key (Groq free tier works)
182
+ echo "GROQ_API_KEY=your_key_here" > .env
185
183
 
186
- ```yaml
187
- # was: provider: groq
188
- provider: anthropic
189
- model: claude-3-5-haiku-20241022
184
+ # 3 — create config
185
+ llmkit init
186
+
187
+ # 4 — verify
188
+ llmkit check
189
+
190
+ # 5 — run
191
+ llmkit run "explain this codebase in one sentence"
190
192
  ```
191
193
 
192
- No code changes. No redeploy. Works in CI too.
194
+ No server. No IDE plugin required. No code to write.
195
+
196
+ ## Examples
197
+
198
+ ```bash
199
+ python examples/chat.py
200
+ python examples/stream.py
201
+ python examples/tools.py # function calling
202
+ python examples/multiround.py # multi-round conversation
203
+ python examples/embed.py # embeddings + cosine similarity
204
+ python examples/agent.py # coding agent
205
+ python examples/mcp_agent.py # MCP agent
206
+
207
+ node examples/chat.js # JS — all providers
208
+ node examples/stream.js # JS — streaming
209
+ ```
210
+
211
+ ## Links
212
+
213
+ - PyPI: https://pypi.org/project/llmkit-cli/
214
+ - GitHub: https://github.com/abinz-aiml/llmkit
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "llmkit-cli"
7
- version = "0.1.1"
7
+ version = "0.1.2"
8
8
  description = "Run any LLM with one config file. No framework lock-in."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
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