wup 0.2.2__tar.gz → 0.2.7__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wup
3
- Version: 0.2.2
3
+ Version: 0.2.7
4
4
  Summary: WUP (What's Up) - Intelligent file watcher for regression testing in large projects
5
5
  Author-email: Tom Sapletta <tom@sapletta.com>
6
6
  License-Expression: Apache-2.0
@@ -28,17 +28,17 @@ Dynamic: license-file
28
28
 
29
29
  ## AI Cost Tracking
30
30
 
31
- ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.2.2-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
32
- ![AI Cost](https://img.shields.io/badge/AI%20Cost-$0.90-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-2.0h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
31
+ ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.2.7-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
32
+ ![AI Cost](https://img.shields.io/badge/AI%20Cost-$1.20-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-2.2h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
33
33
 
34
- - 🤖 **LLM usage:** $0.9000 (6 commits)
35
- - 👤 **Human dev:** ~$200 (2.0h @ $100/h, 30min dedup)
34
+ - 🤖 **LLM usage:** $1.2000 (8 commits)
35
+ - 👤 **Human dev:** ~$223 (2.2h @ $100/h, 30min dedup)
36
36
 
37
37
  Generated on 2026-04-29 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
38
38
 
39
39
  ---
40
40
 
41
- ![PyPI](https://img.shields.io/badge/pypi-wup-blue) ![Version](https://img.shields.io/badge/version-0.2.2-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
41
+ ![PyPI](https://img.shields.io/badge/pypi-wup-blue) ![Version](https://img.shields.io/badge/version-0.2.7-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
42
42
 
43
43
  **WUP (What's Up)** - Intelligent file watcher for regression testing in large projects.
44
44
 
@@ -121,6 +121,9 @@ wup watch ./my-project --config custom-config.yaml
121
121
 
122
122
  # TestQL mode
123
123
  wup watch ./my-project --mode testql
124
+
125
+ # Discover endpoints from TestQL scenarios
126
+ wup testql-endpoints /path/to/scenarios --output testql-deps.json
124
127
  ```
125
128
 
126
129
  ### Initialize Configuration
@@ -149,24 +152,24 @@ wup status --deps my-deps.json
149
152
 
150
153
  ```
151
154
  ┌─────────────────────────────────────────────────────────────┐
152
- │ DETECTION LAYER
155
+ │ DETECTION LAYER
153
156
  │ File watching with watchdog + heuristics │
154
157
  │ Skips: .git, __pycache__, node_modules, .venv │
155
158
  └──────────────────────┬──────────────────────────────────────┘
156
159
  │ File change
157
160
 
158
161
  ┌─────────────────────────────────────────────────────────────┐
159
- │ PRIORITY LAYER
162
+ │ PRIORITY LAYER
160
163
  │ Quick test: 3 endpoints max per service │
161
- │ Duration: ~1-2 seconds
162
- │ Result: Pass → Done, Fail → Escalate
164
+ │ Duration: ~1-2 seconds
165
+ │ Result: Pass → Done, Fail → Escalate
163
166
  └──────────────────────┬──────────────────────────────────────┘
164
167
  │ Failure
165
168
 
166
169
  ┌─────────────────────────────────────────────────────────────┐
167
- │ DETAIL LAYER
170
+ │ DETAIL LAYER
168
171
  │ Full test: All endpoints with blame report │
169
- │ Duration: ~3-5 seconds
172
+ │ Duration: ~3-5 seconds
170
173
  │ Result: Regression report with file/line/commit │
171
174
  └─────────────────────────────────────────────────────────────┘
172
175
  ```
@@ -214,24 +217,31 @@ watch:
214
217
  - "*.txt"
215
218
  - "migrations/**"
216
219
 
220
+ # File types to watch (empty = watch all files)
221
+ # Only changes to these file extensions will trigger tests
222
+ file_types:
223
+ - ".py"
224
+ - ".ts"
225
+ - ".jsx"
226
+
217
227
  services:
218
- # Service configurations
219
- - name: "users"
220
- root: "app/users"
228
+ # Service configurations - simplified with auto-detection
229
+ # If paths are empty, WUP auto-detects files by service name
230
+
231
+ - name: "users-shell"
232
+ type: "shell"
233
+ # Auto-detects files containing "users-shell"
234
+
235
+ - name: "users-web"
236
+ type: "web"
237
+ # Auto-detects files containing "users-web"
238
+ # Will detect coincidence with users-shell
239
+
240
+ # Or use explicit paths (old style still works)
241
+ - name: "payments"
221
242
  paths:
222
- - "app/users/**"
223
- - "routes/users/**"
224
- quick_tests:
225
- scope: "read,write"
226
- max_endpoints: 3
227
- detail_tests:
228
- scope: "all"
229
- max_endpoints: 10
230
- cpu_throttle: 0.7
231
- notify:
232
- type: "http+file"
233
- url: "http://localhost:8001/notify"
234
- file: "wup/notify-users.json"
243
+ - "app/payments/**"
244
+ type: "auto"
235
245
 
236
246
  test_strategy:
237
247
  quick:
@@ -3,17 +3,17 @@
3
3
 
4
4
  ## AI Cost Tracking
5
5
 
6
- ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.2.2-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
7
- ![AI Cost](https://img.shields.io/badge/AI%20Cost-$0.90-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-2.0h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
6
+ ![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.2.7-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
7
+ ![AI Cost](https://img.shields.io/badge/AI%20Cost-$1.20-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-2.2h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)
8
8
 
9
- - 🤖 **LLM usage:** $0.9000 (6 commits)
10
- - 👤 **Human dev:** ~$200 (2.0h @ $100/h, 30min dedup)
9
+ - 🤖 **LLM usage:** $1.2000 (8 commits)
10
+ - 👤 **Human dev:** ~$223 (2.2h @ $100/h, 30min dedup)
11
11
 
12
12
  Generated on 2026-04-29 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
13
13
 
14
14
  ---
15
15
 
16
- ![PyPI](https://img.shields.io/badge/pypi-wup-blue) ![Version](https://img.shields.io/badge/version-0.2.2-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
16
+ ![PyPI](https://img.shields.io/badge/pypi-wup-blue) ![Version](https://img.shields.io/badge/version-0.2.7-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
17
17
 
18
18
  **WUP (What's Up)** - Intelligent file watcher for regression testing in large projects.
19
19
 
@@ -96,6 +96,9 @@ wup watch ./my-project --config custom-config.yaml
96
96
 
97
97
  # TestQL mode
98
98
  wup watch ./my-project --mode testql
99
+
100
+ # Discover endpoints from TestQL scenarios
101
+ wup testql-endpoints /path/to/scenarios --output testql-deps.json
99
102
  ```
100
103
 
101
104
  ### Initialize Configuration
@@ -124,24 +127,24 @@ wup status --deps my-deps.json
124
127
 
125
128
  ```
126
129
  ┌─────────────────────────────────────────────────────────────┐
127
- │ DETECTION LAYER
130
+ │ DETECTION LAYER
128
131
  │ File watching with watchdog + heuristics │
129
132
  │ Skips: .git, __pycache__, node_modules, .venv │
130
133
  └──────────────────────┬──────────────────────────────────────┘
131
134
  │ File change
132
135
 
133
136
  ┌─────────────────────────────────────────────────────────────┐
134
- │ PRIORITY LAYER
137
+ │ PRIORITY LAYER
135
138
  │ Quick test: 3 endpoints max per service │
136
- │ Duration: ~1-2 seconds
137
- │ Result: Pass → Done, Fail → Escalate
139
+ │ Duration: ~1-2 seconds
140
+ │ Result: Pass → Done, Fail → Escalate
138
141
  └──────────────────────┬──────────────────────────────────────┘
139
142
  │ Failure
140
143
 
141
144
  ┌─────────────────────────────────────────────────────────────┐
142
- │ DETAIL LAYER
145
+ │ DETAIL LAYER
143
146
  │ Full test: All endpoints with blame report │
144
- │ Duration: ~3-5 seconds
147
+ │ Duration: ~3-5 seconds
145
148
  │ Result: Regression report with file/line/commit │
146
149
  └─────────────────────────────────────────────────────────────┘
147
150
  ```
@@ -189,24 +192,31 @@ watch:
189
192
  - "*.txt"
190
193
  - "migrations/**"
191
194
 
195
+ # File types to watch (empty = watch all files)
196
+ # Only changes to these file extensions will trigger tests
197
+ file_types:
198
+ - ".py"
199
+ - ".ts"
200
+ - ".jsx"
201
+
192
202
  services:
193
- # Service configurations
194
- - name: "users"
195
- root: "app/users"
203
+ # Service configurations - simplified with auto-detection
204
+ # If paths are empty, WUP auto-detects files by service name
205
+
206
+ - name: "users-shell"
207
+ type: "shell"
208
+ # Auto-detects files containing "users-shell"
209
+
210
+ - name: "users-web"
211
+ type: "web"
212
+ # Auto-detects files containing "users-web"
213
+ # Will detect coincidence with users-shell
214
+
215
+ # Or use explicit paths (old style still works)
216
+ - name: "payments"
196
217
  paths:
197
- - "app/users/**"
198
- - "routes/users/**"
199
- quick_tests:
200
- scope: "read,write"
201
- max_endpoints: 3
202
- detail_tests:
203
- scope: "all"
204
- max_endpoints: 10
205
- cpu_throttle: 0.7
206
- notify:
207
- type: "http+file"
208
- url: "http://localhost:8001/notify"
209
- file: "wup/notify-users.json"
218
+ - "app/payments/**"
219
+ type: "auto"
210
220
 
211
221
  test_strategy:
212
222
  quick:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "wup"
7
- version = "0.2.2"
7
+ version = "0.2.7"
8
8
  description = "WUP (What's Up) - Intelligent file watcher for regression testing in large projects"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"