pyneat-cli 2.4.3__tar.gz → 2.4.4__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.
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/PKG-INFO +1 -1
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/__init__.py +1 -1
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/cli.py +13 -9
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat_cli.egg-info/PKG-INFO +1 -1
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyproject.toml +1 -1
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/LICENSE +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/README.md +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/__main__.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/benchmark.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/config.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/__init__.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/atomic.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/engine.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/manifest.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/marker_cleanup.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/scope_guard.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/semantic_guard.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/type_shield.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/core/types.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/pre_commit.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/__init__.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/ai_bugs.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/base.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/comments.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/conservative.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/dataclass.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/deadcode.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/debug.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/destructive.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/duplication.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/fstring.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/imports.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/init_protection.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/is_not_none.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/isolated.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/magic_numbers.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/match_case.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/naming.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/performance.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/quality.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/range_len_pattern.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/redundant.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/refactoring.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/safe.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security_pack/__init__.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security_pack/critical.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security_pack/high.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security_pack/info.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security_pack/low.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security_pack/medium.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/security_registry.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/typing.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/rules/unused.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/scanner/rust_scanner.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/__init__.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/github_fuzz/__init__.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/github_fuzz/__main__.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/github_fuzz/debug_logger.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/github_fuzz/fuzz_runner.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/github_fuzz/github_client.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/security/advisory_db.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/tools/security/dependency_scanner.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat/utils/naming.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat_cli.egg-info/SOURCES.txt +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat_cli.egg-info/dependency_links.txt +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat_cli.egg-info/entry_points.txt +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat_cli.egg-info/requires.txt +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/pyneat_cli.egg-info/top_level.txt +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/setup.cfg +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/setup.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_engine.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_fuzz.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_fuzz_github.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_integration.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_layers.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_rust_scanner.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_semantic_integrity.py +0 -0
- {pyneat_cli-2.4.3 → pyneat_cli-2.4.4}/tests/test_smoke.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyneat-cli
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.4
|
|
4
4
|
Summary: Neat Python AI Code Cleaner — removes AI-generated code artifacts, dead code, and security vulnerabilities
|
|
5
5
|
License: GNU AGPL-3.0-or-later
|
|
6
6
|
Keywords: ai,code-cleaner,python,linter,formatter,security,dead-code,refactoring,ast,auto-fix
|
|
@@ -1528,23 +1528,27 @@ def _get_menu_suggestions(last_command: str, context: str) -> Dict[str, tuple]:
|
|
|
1528
1528
|
|
|
1529
1529
|
def _handle_menu_choice(choice: str, suggestions: Dict[str, tuple], ctx: click.Context) -> None:
|
|
1530
1530
|
"""Handle user's menu choice - run the command directly."""
|
|
1531
|
-
# Command map: key -> (feature_name,
|
|
1531
|
+
# Command map: key -> (feature_name, command_name)
|
|
1532
1532
|
choice_map = {
|
|
1533
|
-
'A': ('check',
|
|
1534
|
-
'B': ('explain',
|
|
1535
|
-
'C': ('clean',
|
|
1536
|
-
'D': ('report',
|
|
1533
|
+
'A': ('check', 'check'),
|
|
1534
|
+
'B': ('explain', 'explain'),
|
|
1535
|
+
'C': ('clean', 'clean'),
|
|
1536
|
+
'D': ('report', 'report'),
|
|
1537
1537
|
}
|
|
1538
1538
|
|
|
1539
1539
|
if choice in choice_map:
|
|
1540
|
-
feature,
|
|
1540
|
+
feature, cmd_name = choice_map[choice]
|
|
1541
1541
|
click.echo("")
|
|
1542
|
-
click.echo(f" Running: {click.style('pyneat ' + ' '
|
|
1542
|
+
click.echo(f" Running: {click.style('pyneat ' + cmd_name + ' --help', fg='cyan', bold=True)}")
|
|
1543
1543
|
click.echo("")
|
|
1544
1544
|
|
|
1545
|
-
#
|
|
1545
|
+
# Lấy subcommand từ CLI group và invoke nó
|
|
1546
1546
|
try:
|
|
1547
|
-
ctx.
|
|
1547
|
+
sub_cmd = ctx.command.commands.get(cmd_name)
|
|
1548
|
+
if sub_cmd:
|
|
1549
|
+
ctx.invoke(sub_cmd, ['--help'])
|
|
1550
|
+
else:
|
|
1551
|
+
click.echo(f" {click.style('[!]', fg='red')} Command '{cmd_name}' not found")
|
|
1548
1552
|
except SystemExit:
|
|
1549
1553
|
pass
|
|
1550
1554
|
except Exception as e:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyneat-cli
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.4
|
|
4
4
|
Summary: Neat Python AI Code Cleaner — removes AI-generated code artifacts, dead code, and security vulnerabilities
|
|
5
5
|
License: GNU AGPL-3.0-or-later
|
|
6
6
|
Keywords: ai,code-cleaner,python,linter,formatter,security,dead-code,refactoring,ast,auto-fix
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyneat-cli"
|
|
7
|
-
version = "2.4.
|
|
7
|
+
version = "2.4.4"
|
|
8
8
|
description = "Neat Python AI Code Cleaner — removes AI-generated code artifacts, dead code, and security vulnerabilities"
|
|
9
9
|
license = {text = "GNU AGPL-3.0-or-later"}
|
|
10
10
|
readme = "README.md"
|
|
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
|