codespy-ai 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl
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.
- {codespy_ai-0.1.0.dist-info → codespy_ai-0.1.1.dist-info}/METADATA +64 -4
- {codespy_ai-0.1.0.dist-info → codespy_ai-0.1.1.dist-info}/RECORD +5 -5
- {codespy_ai-0.1.0.dist-info → codespy_ai-0.1.1.dist-info}/WHEEL +0 -0
- {codespy_ai-0.1.0.dist-info → codespy_ai-0.1.1.dist-info}/entry_points.txt +0 -0
- {codespy_ai-0.1.0.dist-info → codespy_ai-0.1.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codespy-ai
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: Code review agent powered by DSPy
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -52,7 +52,7 @@ Description-Content-Type: text/markdown
|
|
|
52
52
|
<img src="assets/codespy-logo.png" alt="CodeSpy logo">
|
|
53
53
|
</p>
|
|
54
54
|
|
|
55
|
-
<h1 align="center">
|
|
55
|
+
<h1 align="center">Code<a href="https://github.com/khezen/codespy">Spy</a></h1>
|
|
56
56
|
|
|
57
57
|
<p align="center">
|
|
58
58
|
<strong>Automated code reviews for teams who care about correctness.</strong>
|
|
@@ -113,6 +113,7 @@ Built for **engineering teams that care about correctness, security, and control
|
|
|
113
113
|
- 💰 **Cost Tracking** - Track LLM calls, tokens, and costs per review
|
|
114
114
|
- 🤖 **Model Agnostic** - Works with OpenAI, AWS Bedrock, Anthropic, Ollama, and more via LiteLLM
|
|
115
115
|
- 🐳 **Docker Ready** - Run locally or in the cloud with Docker
|
|
116
|
+
- 🔌 **GitHub Action** - One-line integration for automatic PR reviews
|
|
116
117
|
|
|
117
118
|
---
|
|
118
119
|
|
|
@@ -124,6 +125,13 @@ Built for **engineering teams that care about correctness, security, and control
|
|
|
124
125
|
pip install codespy-ai
|
|
125
126
|
```
|
|
126
127
|
|
|
128
|
+
### Using Homebrew (macOS/Linux)
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
brew tap khezen/codespy
|
|
132
|
+
brew install codespy
|
|
133
|
+
```
|
|
134
|
+
|
|
127
135
|
### Using Docker
|
|
128
136
|
|
|
129
137
|
```bash
|
|
@@ -221,6 +229,59 @@ docker run --rm \
|
|
|
221
229
|
ghcr.io/khezen/codespy:0.1.0 review https://github.com/owner/repo/pull/123
|
|
222
230
|
```
|
|
223
231
|
|
|
232
|
+
### GitHub Action
|
|
233
|
+
|
|
234
|
+
Add CodeSpy to your repository for automatic PR reviews:
|
|
235
|
+
|
|
236
|
+
```yaml
|
|
237
|
+
# .github/workflows/codespy-review.yml
|
|
238
|
+
name: CodeSpy Code Review
|
|
239
|
+
|
|
240
|
+
on:
|
|
241
|
+
pull_request:
|
|
242
|
+
types: [opened, synchronize, reopened]
|
|
243
|
+
|
|
244
|
+
jobs:
|
|
245
|
+
review:
|
|
246
|
+
runs-on: ubuntu-latest
|
|
247
|
+
permissions:
|
|
248
|
+
contents: read
|
|
249
|
+
pull-requests: write
|
|
250
|
+
|
|
251
|
+
steps:
|
|
252
|
+
- name: Run CodeSpy Review
|
|
253
|
+
uses: khezen/codespy@v1
|
|
254
|
+
with:
|
|
255
|
+
model: 'claude-sonnet-4-5-20250929'
|
|
256
|
+
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Available Providers:**
|
|
260
|
+
|
|
261
|
+
```yaml
|
|
262
|
+
# OpenAI
|
|
263
|
+
- uses: khezen/codespy@v1
|
|
264
|
+
with:
|
|
265
|
+
model: 'gpt-5'
|
|
266
|
+
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
|
|
267
|
+
|
|
268
|
+
# AWS Bedrock
|
|
269
|
+
- uses: khezen/codespy@v1
|
|
270
|
+
with:
|
|
271
|
+
model: 'bedrock/us.anthropic.claude-sonnet-4-5-20250929-v1:0'
|
|
272
|
+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
273
|
+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
274
|
+
aws-region: 'us-east-1'
|
|
275
|
+
|
|
276
|
+
# Google Gemini
|
|
277
|
+
- uses: khezen/codespy@v1
|
|
278
|
+
with:
|
|
279
|
+
model: 'gemini/gemini-2.5-pro'
|
|
280
|
+
gemini-api-key: ${{ secrets.GEMINI_API_KEY }}
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
See [`.github/workflows/codespy-review.yml.example`](.github/workflows/codespy-review.yml.example) for more examples.
|
|
284
|
+
|
|
224
285
|
---
|
|
225
286
|
|
|
226
287
|
## Configuration
|
|
@@ -234,9 +295,8 @@ Priority: Environment Variables > YAML Config > Defaults
|
|
|
234
295
|
### Setup
|
|
235
296
|
|
|
236
297
|
```bash
|
|
237
|
-
# Copy the example
|
|
298
|
+
# Copy the example file
|
|
238
299
|
cp .env.example .env
|
|
239
|
-
cp codespy.example.yaml codespy.yaml # Optional, for advanced config
|
|
240
300
|
```
|
|
241
301
|
|
|
242
302
|
### GitHub Token
|
|
@@ -61,8 +61,8 @@ codespy/tools/web/__init__.py,sha256=xGNyE1CQipwp8CynlV_Dvkaf6VppKjH05rsD-J-PFqE
|
|
|
61
61
|
codespy/tools/web/client.py,sha256=o0Y0qpxg2_rxDzZ8MbrgJhzkQQ9b1WHZywYsdqjzyAA,8649
|
|
62
62
|
codespy/tools/web/models.py,sha256=4VhZhFyIrec2NXjdB5YbfuSXz9z6n8sB7cSVsd6SRs8,2117
|
|
63
63
|
codespy/tools/web/server.py,sha256=l_G9gc0aEB4jGHlspbavZXIoz2q0Lpwe0WLU_sdiQRg,2114
|
|
64
|
-
codespy_ai-0.1.
|
|
65
|
-
codespy_ai-0.1.
|
|
66
|
-
codespy_ai-0.1.
|
|
67
|
-
codespy_ai-0.1.
|
|
68
|
-
codespy_ai-0.1.
|
|
64
|
+
codespy_ai-0.1.1.dist-info/METADATA,sha256=0IpWVFiZp8J06Vwy2Uh218b4FSvGnxqhbUoRJ5vj5tg,26209
|
|
65
|
+
codespy_ai-0.1.1.dist-info/WHEEL,sha256=kJCRJT_g0adfAJzTx2GUMmS80rTJIVHRCfG0DQgLq3o,88
|
|
66
|
+
codespy_ai-0.1.1.dist-info/entry_points.txt,sha256=II1KMChjcCbKaTvbqqDQ6zYHVZ3Hwgu5RvyjWwvFuTM,43
|
|
67
|
+
codespy_ai-0.1.1.dist-info/licenses/LICENSE,sha256=_-qwumi2UGIP8c2laLk49moSb5MYWN07rJ-IPMntAb4,1063
|
|
68
|
+
codespy_ai-0.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|