redup 0.4.4__tar.gz → 0.4.5__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 (62) hide show
  1. {redup-0.4.4 → redup-0.4.5}/PKG-INFO +2 -2
  2. {redup-0.4.4 → redup-0.4.5}/README.md +1 -1
  3. {redup-0.4.4 → redup-0.4.5}/pyproject.toml +1 -1
  4. {redup-0.4.4 → redup-0.4.5}/src/redup/__init__.py +1 -1
  5. {redup-0.4.4 → redup-0.4.5}/src/redup/cli_app/main.py +12 -11
  6. {redup-0.4.4 → redup-0.4.5}/src/redup/cli_app/scan_commands.py +2 -2
  7. {redup-0.4.4 → redup-0.4.5}/src/redup.egg-info/PKG-INFO +2 -2
  8. {redup-0.4.4 → redup-0.4.5}/LICENSE +0 -0
  9. {redup-0.4.4 → redup-0.4.5}/setup.cfg +0 -0
  10. {redup-0.4.4 → redup-0.4.5}/src/redup/__main__.py +0 -0
  11. {redup-0.4.4 → redup-0.4.5}/src/redup/cli_app/__init__.py +0 -0
  12. {redup-0.4.4 → redup-0.4.5}/src/redup/cli_app/config_builder.py +0 -0
  13. {redup-0.4.4 → redup-0.4.5}/src/redup/cli_app/fuzzy_similarity.py +0 -0
  14. {redup-0.4.4 → redup-0.4.5}/src/redup/cli_app/output_writer.py +0 -0
  15. {redup-0.4.4 → redup-0.4.5}/src/redup/cli_app/scan_helpers.py +0 -0
  16. {redup-0.4.4 → redup-0.4.5}/src/redup/core/__init__.py +0 -0
  17. {redup-0.4.4 → redup-0.4.5}/src/redup/core/cache.py +0 -0
  18. {redup-0.4.4 → redup-0.4.5}/src/redup/core/config.py +0 -0
  19. {redup-0.4.4 → redup-0.4.5}/src/redup/core/differ.py +0 -0
  20. {redup-0.4.4 → redup-0.4.5}/src/redup/core/fuzzy_similarity.py +0 -0
  21. {redup-0.4.4 → redup-0.4.5}/src/redup/core/hash_cache.py +0 -0
  22. {redup-0.4.4 → redup-0.4.5}/src/redup/core/hasher.py +0 -0
  23. {redup-0.4.4 → redup-0.4.5}/src/redup/core/lazy_grouper.py +0 -0
  24. {redup-0.4.4 → redup-0.4.5}/src/redup/core/lsh_matcher.py +0 -0
  25. {redup-0.4.4 → redup-0.4.5}/src/redup/core/matcher.py +0 -0
  26. {redup-0.4.4 → redup-0.4.5}/src/redup/core/models.py +0 -0
  27. {redup-0.4.4 → redup-0.4.5}/src/redup/core/pipeline.py +0 -0
  28. {redup-0.4.4 → redup-0.4.5}/src/redup/core/planner.py +0 -0
  29. {redup-0.4.4 → redup-0.4.5}/src/redup/core/python_parser.py +0 -0
  30. {redup-0.4.4 → redup-0.4.5}/src/redup/core/scanner.py +0 -0
  31. {redup-0.4.4 → redup-0.4.5}/src/redup/core/semantic.py +0 -0
  32. {redup-0.4.4 → redup-0.4.5}/src/redup/core/ts_extractor.py +0 -0
  33. {redup-0.4.4 → redup-0.4.5}/src/redup/core/universal_fuzzy.py +0 -0
  34. {redup-0.4.4 → redup-0.4.5}/src/redup/core/utils/__init__.py +0 -0
  35. {redup-0.4.4 → redup-0.4.5}/src/redup/core/utils/diff_helpers.py +0 -0
  36. {redup-0.4.4 → redup-0.4.5}/src/redup/core/utils/duplicate_finders.py +0 -0
  37. {redup-0.4.4 → redup-0.4.5}/src/redup/core/utils/function_extractor.py +0 -0
  38. {redup-0.4.4 → redup-0.4.5}/src/redup/core/utils/hash_utils.py +0 -0
  39. {redup-0.4.4 → redup-0.4.5}/src/redup/core/utils/language_dispatcher.py +0 -0
  40. {redup-0.4.4 → redup-0.4.5}/src/redup/mcp_server.py +0 -0
  41. {redup-0.4.4 → redup-0.4.5}/src/redup/reporters/__init__.py +0 -0
  42. {redup-0.4.4 → redup-0.4.5}/src/redup/reporters/code2llm_reporter.py +0 -0
  43. {redup-0.4.4 → redup-0.4.5}/src/redup/reporters/enhanced_reporter.py +0 -0
  44. {redup-0.4.4 → redup-0.4.5}/src/redup/reporters/json_reporter.py +0 -0
  45. {redup-0.4.4 → redup-0.4.5}/src/redup/reporters/markdown_reporter.py +0 -0
  46. {redup-0.4.4 → redup-0.4.5}/src/redup/reporters/toon_reporter.py +0 -0
  47. {redup-0.4.4 → redup-0.4.5}/src/redup/reporters/yaml_reporter.py +0 -0
  48. {redup-0.4.4 → redup-0.4.5}/src/redup.egg-info/SOURCES.txt +0 -0
  49. {redup-0.4.4 → redup-0.4.5}/src/redup.egg-info/dependency_links.txt +0 -0
  50. {redup-0.4.4 → redup-0.4.5}/src/redup.egg-info/entry_points.txt +0 -0
  51. {redup-0.4.4 → redup-0.4.5}/src/redup.egg-info/requires.txt +0 -0
  52. {redup-0.4.4 → redup-0.4.5}/src/redup.egg-info/top_level.txt +0 -0
  53. {redup-0.4.4 → redup-0.4.5}/tests/test_e2e.py +0 -0
  54. {redup-0.4.4 → redup-0.4.5}/tests/test_hasher.py +0 -0
  55. {redup-0.4.4 → redup-0.4.5}/tests/test_matcher.py +0 -0
  56. {redup-0.4.4 → redup-0.4.5}/tests/test_mcp_server.py +0 -0
  57. {redup-0.4.4 → redup-0.4.5}/tests/test_models.py +0 -0
  58. {redup-0.4.4 → redup-0.4.5}/tests/test_pipeline.py +0 -0
  59. {redup-0.4.4 → redup-0.4.5}/tests/test_planner.py +0 -0
  60. {redup-0.4.4 → redup-0.4.5}/tests/test_reporters.py +0 -0
  61. {redup-0.4.4 → redup-0.4.5}/tests/test_scanner.py +0 -0
  62. {redup-0.4.4 → redup-0.4.5}/tests/test_ts_extractor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: redup
3
- Version: 0.4.4
3
+ Version: 0.4.5
4
4
  Summary: Code duplication analyzer and refactoring planner for LLMs
5
5
  Author-email: Tom Sapletta <tom@sapletta.com>
6
6
  License-Expression: Apache-2.0
@@ -92,7 +92,7 @@ Dynamic: license-file
92
92
  [![PyPI](https://img.shields.io/pypi/v/redup)](https://pypi.org/project/redup/)
93
93
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
94
94
  [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
95
- [![Version](https://img.shields.io/badge/version-0.4.4-green.svg)](https://pypi.org/project/redup/)
95
+ [![Version](https://img.shields.io/badge/version-0.4.5-green.svg)](https://pypi.org/project/redup/)
96
96
 
97
97
  reDUP scans codebases for duplicated functions, blocks, and structural patterns — then builds a prioritized refactoring map that LLMs can consume to eliminate redundancy systematically.
98
98
 
@@ -5,7 +5,7 @@
5
5
  [![PyPI](https://img.shields.io/pypi/v/redup)](https://pypi.org/project/redup/)
6
6
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
7
7
  [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
8
- [![Version](https://img.shields.io/badge/version-0.4.4-green.svg)](https://pypi.org/project/redup/)
8
+ [![Version](https://img.shields.io/badge/version-0.4.5-green.svg)](https://pypi.org/project/redup/)
9
9
 
10
10
  reDUP scans codebases for duplicated functions, blocks, and structural patterns — then builds a prioritized refactoring map that LLMs can consume to eliminate redundancy systematically.
11
11
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "redup"
7
- version = "0.4.4"
7
+ version = "0.4.5"
8
8
  description = "Code duplication analyzer and refactoring planner for LLMs"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- __version__ = "0.4.4"
5
+ __version__ = "0.4.5"
6
6
 
7
7
  from redup.core.models import (
8
8
  DuplicateFragment,
@@ -78,14 +78,15 @@ def scan(
78
78
  "--include-tests",
79
79
  help="Include test files. Overrides config.",
80
80
  ),
81
- functions_only: bool = typer.Option(
82
- True,
83
- "--functions-only/--no-functions-only",
84
- help="Only analyze function-level duplicates (default: enabled for speed).",
81
+ no_functions_only: bool = typer.Option(
82
+ False,
83
+ "--no-functions-only",
84
+ help="Analyze all code, not just functions (default: functions-only for speed).",
85
85
  ),
86
86
  parallel: bool = typer.Option(
87
87
  False,
88
- "--parallel/--no-parallel",
88
+ "--parallel",
89
+ "--no-parallel",
89
90
  help="Use parallel scanning for large projects (default: disabled due to issues).",
90
91
  ),
91
92
  max_workers: int | None = typer.Option(
@@ -98,10 +99,10 @@ def scan(
98
99
  "--incremental",
99
100
  help="Use incremental scanning with caching.",
100
101
  ),
101
- memory_cache: bool = typer.Option(
102
- True,
103
- "--memory-cache/--no-memory-cache",
104
- help="Use memory cache for faster scanning.",
102
+ no_memory_cache: bool = typer.Option(
103
+ False,
104
+ "--no-memory-cache",
105
+ help="Disable memory cache for scanning.",
105
106
  ),
106
107
  max_cache_mb: int = typer.Option(
107
108
  512,
@@ -122,8 +123,8 @@ def scan(
122
123
  """Scan a project for code duplicates."""
123
124
  return scan_command(
124
125
  path, format, output, extensions, min_lines, min_similarity,
125
- include_tests, functions_only, parallel, max_workers,
126
- incremental, memory_cache, max_cache_mb, fuzzy, fuzzy_threshold
126
+ include_tests, not no_functions_only, parallel, max_workers,
127
+ incremental, not no_memory_cache, max_cache_mb, fuzzy, fuzzy_threshold
127
128
  )
128
129
 
129
130
 
@@ -21,11 +21,11 @@ def scan_command(
21
21
  min_lines: Any = typer.Option(None, "--min-lines", help="Minimum block size (lines). Overrides config."),
22
22
  min_similarity: Any = typer.Option(None, "--min-sim", help="Minimum similarity score (0.0-1.0). Overrides config."),
23
23
  include_tests: bool = typer.Option(False, "--include-tests", help="Include test files in analysis."),
24
- functions_only: bool = typer.Option(True, "--functions-only/--no-functions-only", help="Only analyze function-level duplicates (default: enabled for speed)."),
24
+ functions_only: bool = typer.Option(True, "--functions-only", help="Only analyze function-level duplicates (default: enabled for speed)."),
25
25
  parallel: bool = typer.Option(False, "--parallel", help="Use parallel processing for faster analysis."),
26
26
  max_workers: Any = typer.Option(None, "--max-workers", help="Maximum number of parallel workers."),
27
27
  incremental: bool = typer.Option(False, "--incremental", help="Use incremental scanning (cache-based)."),
28
- memory_cache: bool = typer.Option(True, "--memory-cache/--no-memory-cache", help="Use memory cache for faster processing."),
28
+ memory_cache: bool = typer.Option(True, "--memory-cache", help="Use memory cache for faster processing."),
29
29
  max_cache_mb: int = typer.Option(512, "--max-cache-mb", help="Maximum memory cache size in MB."),
30
30
  fuzzy: bool = typer.Option(False, "--fuzzy", help="Enable fuzzy similarity detection."),
31
31
  fuzzy_threshold: float = typer.Option(0.8, "--fuzzy-threshold", help="Fuzzy similarity threshold (0.0-1.0)."),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: redup
3
- Version: 0.4.4
3
+ Version: 0.4.5
4
4
  Summary: Code duplication analyzer and refactoring planner for LLMs
5
5
  Author-email: Tom Sapletta <tom@sapletta.com>
6
6
  License-Expression: Apache-2.0
@@ -92,7 +92,7 @@ Dynamic: license-file
92
92
  [![PyPI](https://img.shields.io/pypi/v/redup)](https://pypi.org/project/redup/)
93
93
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
94
94
  [![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
95
- [![Version](https://img.shields.io/badge/version-0.4.4-green.svg)](https://pypi.org/project/redup/)
95
+ [![Version](https://img.shields.io/badge/version-0.4.5-green.svg)](https://pypi.org/project/redup/)
96
96
 
97
97
  reDUP scans codebases for duplicated functions, blocks, and structural patterns — then builds a prioritized refactoring map that LLMs can consume to eliminate redundancy systematically.
98
98
 
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