wup 0.2.76__tar.gz → 0.2.77__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.
- {wup-0.2.76/wup.egg-info → wup-0.2.77}/PKG-INFO +6 -6
- {wup-0.2.76 → wup-0.2.77}/README.md +5 -5
- {wup-0.2.76 → wup-0.2.77}/pyproject.toml +1 -1
- {wup-0.2.76 → wup-0.2.77}/tests/test_multi_project.py +9 -0
- {wup-0.2.76 → wup-0.2.77}/wup/__init__.py +1 -1
- {wup-0.2.76 → wup-0.2.77}/wup/config.py +2 -1
- {wup-0.2.76 → wup-0.2.77/wup.egg-info}/PKG-INFO +6 -6
- {wup-0.2.76 → wup-0.2.77}/LICENSE +0 -0
- {wup-0.2.76 → wup-0.2.77}/setup.cfg +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_aql.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_assistant.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_auto_detection.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_cli_bridge.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_cli_filtering.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_control.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_discovery_adapters.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_e2e.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_endpoints_init_cli.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_genericity.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_health_summary_passed.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_monitoring_manifest.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_oql.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_planfile_reporter_dedupe.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_probe_mutex.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_service_inference.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_status_data.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_sync.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_testql_monitor.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_testql_watcher.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_visual_diff_periodic_skip.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_visual_diff_progress.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_watch_exclude.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_watch_no_paths_exit.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_web_client.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_wup.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/tests/test_wup_generate.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/_ast_detector.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/_base_detector.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/_hash_detector.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/_yaml_detector.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/anomaly_detector.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/anomaly_models.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/aql.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/assistant.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/assistant_discovery.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/assistant_validator.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/bus.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/cli.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/cli_bridge.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/cli_config_generator.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/cli_scanner.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/control.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/core.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/dependency_mapper.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/discovery.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/endpoints.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/event_store.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/file_watcher/events/file_events.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/generate.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/init_cli.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/models/__init__.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/models/config.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/models/target.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/monitoring_manifest.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/multi.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/oql.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/paths.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/planfile_reporter.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/status_data.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/sync.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testing/events/health_events.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testing/events/test_results.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testing/handlers/event_handlers.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testing/handlers/health_handlers.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testing/queries/health_queries.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testql_cli_generator.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testql_discovery.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testql_monitor.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/testql_watcher.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/validate.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/visual_diff.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup/web_client.py +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup.egg-info/SOURCES.txt +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup.egg-info/dependency_links.txt +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup.egg-info/entry_points.txt +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup.egg-info/requires.txt +0 -0
- {wup-0.2.76 → wup-0.2.77}/wup.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wup
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.77
|
|
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
|
|
@@ -42,17 +42,17 @@ Dynamic: license-file
|
|
|
42
42
|
|
|
43
43
|
## AI Cost Tracking
|
|
44
44
|
|
|
45
|
-
    
|
|
46
|
+
  
|
|
47
47
|
|
|
48
|
-
- 🤖 **LLM usage:** $6.
|
|
49
|
-
- 👤 **Human dev:** ~$
|
|
48
|
+
- 🤖 **LLM usage:** $6.7608 (106 commits)
|
|
49
|
+
- 👤 **Human dev:** ~$5301 (53.0h @ $100/h, 30min dedup)
|
|
50
50
|
|
|
51
51
|
Generated on 2026-07-17 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
    
|
|
56
56
|
|
|
57
57
|
**WUP (What's Up)** - Intelligent file watcher for regression testing in large projects.
|
|
58
58
|
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
|
|
4
4
|
## AI Cost Tracking
|
|
5
5
|
|
|
6
|
-
    
|
|
7
|
+
  
|
|
8
8
|
|
|
9
|
-
- 🤖 **LLM usage:** $6.
|
|
10
|
-
- 👤 **Human dev:** ~$
|
|
9
|
+
- 🤖 **LLM usage:** $6.7608 (106 commits)
|
|
10
|
+
- 👤 **Human dev:** ~$5301 (53.0h @ $100/h, 30min dedup)
|
|
11
11
|
|
|
12
12
|
Generated on 2026-07-17 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
    
|
|
17
17
|
|
|
18
18
|
**WUP (What's Up)** - Intelligent file watcher for regression testing in large projects.
|
|
19
19
|
|
|
@@ -48,6 +48,15 @@ def test_detect_watch_paths_falls_back_when_nothing_matches(tmp_path: Path) -> N
|
|
|
48
48
|
assert detect_watch_paths(tmp_path) == ["app/**", "src/**", "routes/**"]
|
|
49
49
|
|
|
50
50
|
|
|
51
|
+
def test_detect_watch_paths_backend_frontend(tmp_path: Path) -> None:
|
|
52
|
+
# c2004-style module layout (backend/ + frontend/, no app/src).
|
|
53
|
+
(tmp_path / "backend").mkdir()
|
|
54
|
+
(tmp_path / "frontend").mkdir()
|
|
55
|
+
paths = detect_watch_paths(tmp_path)
|
|
56
|
+
assert "backend/**" in paths and "frontend/**" in paths
|
|
57
|
+
assert "app/**" not in paths
|
|
58
|
+
|
|
59
|
+
|
|
51
60
|
def test_default_config_watches_only_real_dirs(tmp_path: Path) -> None:
|
|
52
61
|
(tmp_path / "services").mkdir()
|
|
53
62
|
cfg = get_default_config(tmp_path)
|
|
@@ -7,7 +7,7 @@ WUP monitors file changes and runs intelligent regression tests using a 3-layer
|
|
|
7
7
|
3. Detail Layer: Full tests with blame reports (only on failure)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
-
__version__ = "0.2.
|
|
10
|
+
__version__ = "0.2.77"
|
|
11
11
|
__author__ = "Tom Sapletta"
|
|
12
12
|
|
|
13
13
|
from .config import load_config, save_config, get_default_config
|
|
@@ -397,7 +397,8 @@ def validate_config(raw: dict) -> WupConfig:
|
|
|
397
397
|
# for an auto-generated config. Only directories that actually exist are kept,
|
|
398
398
|
# so the generated wup.yaml doesn't point at paths that were never there.
|
|
399
399
|
_DEFAULT_SOURCE_DIRS = [
|
|
400
|
-
"app", "src", "routes", "services", "
|
|
400
|
+
"app", "src", "routes", "services", "backend", "frontend",
|
|
401
|
+
"lib", "packages", "pkg", "internal", "cmd",
|
|
401
402
|
]
|
|
402
403
|
|
|
403
404
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: wup
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.77
|
|
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
|
|
@@ -42,17 +42,17 @@ Dynamic: license-file
|
|
|
42
42
|
|
|
43
43
|
## AI Cost Tracking
|
|
44
44
|
|
|
45
|
-
    
|
|
46
|
+
  
|
|
47
47
|
|
|
48
|
-
- 🤖 **LLM usage:** $6.
|
|
49
|
-
- 👤 **Human dev:** ~$
|
|
48
|
+
- 🤖 **LLM usage:** $6.7608 (106 commits)
|
|
49
|
+
- 👤 **Human dev:** ~$5301 (53.0h @ $100/h, 30min dedup)
|
|
50
50
|
|
|
51
51
|
Generated on 2026-07-17 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
    
|
|
56
56
|
|
|
57
57
|
**WUP (What's Up)** - Intelligent file watcher for regression testing in large projects.
|
|
58
58
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|