evolver-tools 2.5.0__tar.gz → 3.0.0__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.
- {evolver_tools-2.5.0/src/evolver_tools.egg-info → evolver_tools-3.0.0}/PKG-INFO +2 -2
- evolver_tools-3.0.0/pyproject.toml +36 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/__init__.py +2 -0
- evolver_tools-3.0.0/src/evolver_tools/autoreg.py +88 -0
- evolver_tools-3.0.0/src/evolver_tools/cli.py +66 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/agent_b_tool.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/api_tester.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ascii_gen.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/audit_log.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/b64/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/backup.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/banner/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/banner.py +2 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/bookmark.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/cal_tool/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/cal_tool/cli.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/cert_check.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/changelog_gen/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/changelog_gen.py +2 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/chart_cli/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/checksum_dir.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/clipboard/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/colorize.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/colors/__init__.py +7 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/config_validator.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/cron/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/crontab_helper.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/csv_stats/__init__.py +13 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/csv_stats/cli.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/db_schema.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/dep_graph.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/diff_csv.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/diff_tool/__init__.py +7 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/dirsize/__init__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/disk_usage/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/dt_convert.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/env_manager.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/envcheck/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/excel2csv.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ff/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/figlet_cli.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/figlet_tool.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/file_encrypt.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/find_dups/__init__.py +15 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/find_dups/cli.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/firewall_rule.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/fmt/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/git_branch_cleaner.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/hashsum/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/html2markdown.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/html2md.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/http_live/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/image_meta.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/ini_parser/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ipcalc/__init__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/ipinfo/__init__.py +10 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/join.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/joke.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/jq_lite/__init__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/json2csv/__init__.py +10 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/json_pretty/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/jsonql/__init__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/license_cli/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/license_cli/cli.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/log_analyzer.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/log_tail.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/markdown_check/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/morse.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/nb/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/net_speed.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/note_taker.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/otp_gen.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/passgen/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/password_strength.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/portcheck/__init__.py +10 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/portcheck/__main__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/pr_tool/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/process_kill.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/progress_bar.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/project_doctor/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/qrcode.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/quote_tool/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/rainbow.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/reminder.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ren/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/restore.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/scan_ports.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/service_check.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/shuffle.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/siege_lite/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/smellfinder/__init__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/sort/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/spinner.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/split_tool/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/sql2csv.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/sqlite_cli/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ssh_key_gen.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ssl_check.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/stopwatch.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/sysmon/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/timer/__init__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/timer_pro/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/timer_pro.py +2 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/todo_cli.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/treedir/__init__.py +10 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/treedir/__main__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/uniq_tool/__init__.py +9 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/urlparse_tool/__init__.py +11 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/urlparse_tool/cli.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/uuid_tool/__init__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/weather_cli.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/web_summary/__init__.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/wordcount/__init__.py +10 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/wordcount/__main__.py +8 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/xml2json.py +8 -0
- evolver_tools-3.0.0/src/evolver_tools/vendor/yaml2json/__init__.py +9 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0/src/evolver_tools.egg-info}/PKG-INFO +2 -2
- evolver_tools-3.0.0/src/evolver_tools.egg-info/entry_points.txt +2 -0
- evolver_tools-2.5.0/pyproject.toml +0 -134
- evolver_tools-2.5.0/src/evolver_tools/autoreg.py +0 -150
- evolver_tools-2.5.0/src/evolver_tools/cli.py +0 -156
- evolver_tools-2.5.0/src/evolver_tools/vendor/agent_b_tool.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/b64/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/banner/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/cal_tool/__init__.py +0 -1
- evolver_tools-2.5.0/src/evolver_tools/vendor/changelog_gen/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/clipboard/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/csv_stats/__init__.py +0 -5
- evolver_tools-2.5.0/src/evolver_tools/vendor/disk_usage/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/find_dups/__init__.py +0 -7
- evolver_tools-2.5.0/src/evolver_tools/vendor/fmt/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/ini_parser/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/ipinfo/__init__.py +0 -3
- evolver_tools-2.5.0/src/evolver_tools/vendor/json2csv/__init__.py +0 -3
- evolver_tools-2.5.0/src/evolver_tools/vendor/json_pretty/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/license_cli/__init__.py +0 -1
- evolver_tools-2.5.0/src/evolver_tools/vendor/portcheck/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/pr_tool/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/quote_tool/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/sort/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/split_tool/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/timer_pro/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/treedir/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/uniq_tool/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/urlparse_tool/__init__.py +0 -3
- evolver_tools-2.5.0/src/evolver_tools/vendor/wordcount/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools/vendor/yaml2json/__init__.py +0 -2
- evolver_tools-2.5.0/src/evolver_tools.egg-info/entry_points.txt +0 -100
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/LICENSE +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/README.md +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/setup.cfg +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/__init__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/b64/b64.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/banner/banner.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/changelog_gen/changelog_gen.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/chart_cli/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/clipboard/clipboard.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/colors/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/cron/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/csv_stats/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/csv_stats/analyzer.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/diff_tool/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/disk_usage/disk_usage.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ff/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/fmt/fmt.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/hashsum/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/http_live/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ini_parser/ini_parser.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ipcalc/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ipinfo/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/jq_lite/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/json2csv/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/json_pretty/json_pretty.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/jsonql/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/license_cli/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/nb/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/pr_tool/pr_tool.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/project_doctor/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/quote_tool/quote.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/ren/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/siege_lite/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/smellfinder/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/sort/sort.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/split.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/split_tool/split.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/sqlite_cli/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/sysmon/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/timer_pro/timer_pro.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/uniq_tool/uniq.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/uuid_tool/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/web_summary/__main__.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools/vendor/yaml2json/yaml2json.py +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools.egg-info/SOURCES.txt +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools.egg-info/dependency_links.txt +0 -0
- {evolver_tools-2.5.0 → evolver_tools-3.0.0}/src/evolver_tools.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: evolver-tools
|
|
3
|
-
Version:
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 3.0.0
|
|
4
|
+
Summary: 100 essential CLI tools - one pip install
|
|
5
5
|
Author: EVOLVER
|
|
6
6
|
License-Expression: MIT
|
|
7
7
|
Project-URL: Homepage, https://evolver-dev.github.io/evolver-tools
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=64.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "evolver-tools"
|
|
7
|
+
version = "3.0.0"
|
|
8
|
+
description = "100 essential CLI tools - one pip install"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "MIT"
|
|
11
|
+
requires-python = ">=3.8"
|
|
12
|
+
keywords = ["cli", "devops", "productivity", "developer-tools", "terminal"]
|
|
13
|
+
authors = [
|
|
14
|
+
{name = "EVOLVER"},
|
|
15
|
+
]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 5 - Production/Stable",
|
|
18
|
+
"Environment :: Console",
|
|
19
|
+
"Intended Audience :: Developers",
|
|
20
|
+
"Intended Audience :: System Administrators",
|
|
21
|
+
"Operating System :: OS Independent",
|
|
22
|
+
"Programming Language :: Python :: 3",
|
|
23
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
24
|
+
"Topic :: Utilities",
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
Homepage = "https://evolver-dev.github.io/evolver-tools"
|
|
29
|
+
Repository = "https://github.com/evolver-dev/evolver-tools"
|
|
30
|
+
|
|
31
|
+
[project.scripts]
|
|
32
|
+
evtool = "evolver_tools.cli:main"
|
|
33
|
+
|
|
34
|
+
[tool.setuptools.packages.find]
|
|
35
|
+
where = ["src"]
|
|
36
|
+
include = ["evolver_tools*"]
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Auto-discovery module for EVOLVER tools.
|
|
3
|
+
|
|
4
|
+
Scans all vendor modules for TOOL_META exports and returns them
|
|
5
|
+
as a unified registry. Enables parallel agent workflows: each vendor
|
|
6
|
+
tool defines its own TOOL_META, eliminating merge conflicts on cli.py.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
from evolver_tools.autoreg import auto_discover
|
|
10
|
+
tools = auto_discover() # Returns dict[str, dict]
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import importlib
|
|
14
|
+
import os
|
|
15
|
+
import pkgutil
|
|
16
|
+
|
|
17
|
+
# Cache after first discovery
|
|
18
|
+
_TOOLS_CACHE = None
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def _vendor_dir():
|
|
22
|
+
"""Return the absolute path to the vendor directory."""
|
|
23
|
+
# vendor is a namespace package (no __init__.py), so __file__ is None
|
|
24
|
+
# Walk up from autoreg.py location
|
|
25
|
+
here = os.path.dirname(os.path.abspath(__file__))
|
|
26
|
+
return os.path.join(here, "vendor")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def auto_discover():
|
|
30
|
+
"""Scan all vendor modules and return a unified TOOLS dict.
|
|
31
|
+
|
|
32
|
+
Each vendor module (file or package) that exports TOOL_META dict
|
|
33
|
+
is discovered automatically. No manual registration needed.
|
|
34
|
+
|
|
35
|
+
Returns:
|
|
36
|
+
dict[str, dict]: Tool name -> {module, func, desc}
|
|
37
|
+
"""
|
|
38
|
+
global _TOOLS_CACHE
|
|
39
|
+
if _TOOLS_CACHE is not None:
|
|
40
|
+
return _TOOLS_CACHE
|
|
41
|
+
|
|
42
|
+
tools = {}
|
|
43
|
+
vendor_dir = _vendor_dir()
|
|
44
|
+
|
|
45
|
+
for importer, modname, ispkg in pkgutil.iter_modules([vendor_dir]):
|
|
46
|
+
try:
|
|
47
|
+
mod = importlib.import_module(f"evolver_tools.vendor.{modname}")
|
|
48
|
+
except Exception:
|
|
49
|
+
continue
|
|
50
|
+
|
|
51
|
+
meta = getattr(mod, "TOOL_META", None)
|
|
52
|
+
if meta is None:
|
|
53
|
+
continue
|
|
54
|
+
|
|
55
|
+
tool_name = meta.get("name")
|
|
56
|
+
if not tool_name:
|
|
57
|
+
continue
|
|
58
|
+
|
|
59
|
+
func_name = meta.get("func", "main")
|
|
60
|
+
desc = meta.get("desc", "")
|
|
61
|
+
|
|
62
|
+
# If the package has a submodule (e.g. cal_tool/cli.py), use that
|
|
63
|
+
submodule = meta.get("submodule", "")
|
|
64
|
+
if submodule:
|
|
65
|
+
module_path = f"evolver_tools.vendor.{modname}.{submodule}"
|
|
66
|
+
else:
|
|
67
|
+
module_path = f"evolver_tools.vendor.{modname}"
|
|
68
|
+
|
|
69
|
+
tools[tool_name] = {
|
|
70
|
+
"module": module_path,
|
|
71
|
+
"func": func_name,
|
|
72
|
+
"desc": desc,
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
_TOOLS_CACHE = tools
|
|
76
|
+
return tools
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def list_tools():
|
|
80
|
+
"""Print all discovered tools to stdout."""
|
|
81
|
+
tools = auto_discover()
|
|
82
|
+
print(f"Discovered {len(tools)} tools:")
|
|
83
|
+
for name in sorted(tools.keys()):
|
|
84
|
+
print(f" - {name}")
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
if __name__ == "__main__":
|
|
88
|
+
list_tools()
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""evolver CLI - Unified interface for all EVOLVER tools.
|
|
3
|
+
|
|
4
|
+
Tools are auto-discovered via TOOL_META in each vendor module.
|
|
5
|
+
No manual registration needed — just add TOOL_META to your vendor file.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import sys
|
|
9
|
+
import importlib
|
|
10
|
+
|
|
11
|
+
from evolver_tools.autoreg import auto_discover
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def list_tools():
|
|
15
|
+
"""Display all available tools."""
|
|
16
|
+
tools = auto_discover()
|
|
17
|
+
print(f'\x1b[1;36m===== EVOLVER Tools v3.0.0 =====\x1b[0m')
|
|
18
|
+
print()
|
|
19
|
+
for name, info in sorted(tools.items()):
|
|
20
|
+
print(f' \033[1;33m{name:<18}\033[0m {info["desc"]}')
|
|
21
|
+
print()
|
|
22
|
+
print(f' Total: {len(tools)} tools')
|
|
23
|
+
print()
|
|
24
|
+
print('Usage: evolver <toolname> [args...]')
|
|
25
|
+
print(' evolver list')
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def run_tool(tool_name, args):
|
|
29
|
+
tools = auto_discover()
|
|
30
|
+
if tool_name not in tools:
|
|
31
|
+
print(f'Unknown tool: {tool_name}')
|
|
32
|
+
sys.exit(1)
|
|
33
|
+
info = tools[tool_name]
|
|
34
|
+
mod_path = info["module"]
|
|
35
|
+
func_name = info["func"]
|
|
36
|
+
old_argv = sys.argv
|
|
37
|
+
sys.argv = [tool_name] + args
|
|
38
|
+
try:
|
|
39
|
+
mod = importlib.import_module(mod_path)
|
|
40
|
+
func = getattr(mod, func_name)
|
|
41
|
+
result = func()
|
|
42
|
+
if result is not None:
|
|
43
|
+
print(result)
|
|
44
|
+
except KeyboardInterrupt:
|
|
45
|
+
pass
|
|
46
|
+
except Exception as e:
|
|
47
|
+
print(f'Error running {tool_name}: {e}', file=sys.stderr)
|
|
48
|
+
sys.exit(1)
|
|
49
|
+
finally:
|
|
50
|
+
sys.argv = old_argv
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def main():
|
|
54
|
+
if len(sys.argv) < 2 or sys.argv[1] in ("-h", "--help"):
|
|
55
|
+
list_tools()
|
|
56
|
+
return
|
|
57
|
+
tool_name = sys.argv[1]
|
|
58
|
+
args = sys.argv[2:]
|
|
59
|
+
if tool_name == "list":
|
|
60
|
+
list_tools()
|
|
61
|
+
return
|
|
62
|
+
run_tool(tool_name, args)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
if __name__ == "__main__":
|
|
66
|
+
main()
|
|
@@ -138,5 +138,13 @@ def main():
|
|
|
138
138
|
STYLES[style](text)
|
|
139
139
|
print(result)
|
|
140
140
|
|
|
141
|
+
|
|
142
|
+
# === Auto-registration metadata ===
|
|
143
|
+
TOOL_META = {
|
|
144
|
+
"name": "ascii-gen",
|
|
145
|
+
"func": "main",
|
|
146
|
+
"desc": 'ASCII art generator (8 styles)',
|
|
147
|
+
}
|
|
148
|
+
|
|
141
149
|
if __name__ == '__main__':
|
|
142
150
|
main()
|
|
@@ -257,5 +257,13 @@ Examples:
|
|
|
257
257
|
print(colorize_entry(entry))
|
|
258
258
|
|
|
259
259
|
|
|
260
|
+
|
|
261
|
+
# === Auto-registration metadata ===
|
|
262
|
+
TOOL_META = {
|
|
263
|
+
"name": "audit-log",
|
|
264
|
+
"func": "main",
|
|
265
|
+
"desc": 'Parse and filter system audit logs',
|
|
266
|
+
}
|
|
267
|
+
|
|
260
268
|
if __name__ == '__main__':
|
|
261
269
|
main()
|
|
@@ -75,5 +75,13 @@ def main():
|
|
|
75
75
|
except Exception as e:
|
|
76
76
|
print(f" Error backing up {src}: {e}", file=sys.stderr)
|
|
77
77
|
|
|
78
|
+
|
|
79
|
+
# === Auto-registration metadata ===
|
|
80
|
+
TOOL_META = {
|
|
81
|
+
"name": "backup",
|
|
82
|
+
"func": "main",
|
|
83
|
+
"desc": 'File/dir backup with rotation',
|
|
84
|
+
}
|
|
85
|
+
|
|
78
86
|
if __name__ == '__main__':
|
|
79
87
|
main()
|
|
@@ -230,5 +230,13 @@ def main():
|
|
|
230
230
|
print_calendar(today.year, today.month, highlight_today=not args.no_highlight)
|
|
231
231
|
|
|
232
232
|
|
|
233
|
+
|
|
234
|
+
# === Auto-registration metadata ===
|
|
235
|
+
TOOL_META = {
|
|
236
|
+
"name": "cal",
|
|
237
|
+
"func": "main",
|
|
238
|
+
"desc": 'Cal',
|
|
239
|
+
}
|
|
240
|
+
|
|
233
241
|
if __name__ == "__main__":
|
|
234
242
|
main()
|
|
@@ -440,5 +440,13 @@ def main():
|
|
|
440
440
|
print(draw_histogram_chart(data, 10, args.width))
|
|
441
441
|
|
|
442
442
|
|
|
443
|
+
|
|
444
|
+
# === Auto-registration metadata ===
|
|
445
|
+
TOOL_META = {
|
|
446
|
+
"name": "chart-cli",
|
|
447
|
+
"func": "main",
|
|
448
|
+
"desc": 'Chart CLI',
|
|
449
|
+
}
|
|
450
|
+
|
|
443
451
|
if __name__ == '__main__':
|
|
444
452
|
main()
|
|
@@ -297,5 +297,13 @@ def main():
|
|
|
297
297
|
sys.exit(1)
|
|
298
298
|
|
|
299
299
|
|
|
300
|
+
|
|
301
|
+
# === Auto-registration metadata ===
|
|
302
|
+
TOOL_META = {
|
|
303
|
+
"name": "checksum-dir",
|
|
304
|
+
"func": "main",
|
|
305
|
+
"desc": 'Generate/verify directory checksums',
|
|
306
|
+
}
|
|
307
|
+
|
|
300
308
|
if __name__ == "__main__":
|
|
301
309
|
main()
|
|
@@ -3,3 +3,10 @@ from evolver_tools.vendor.colors.__main__ import (
|
|
|
3
3
|
)
|
|
4
4
|
|
|
5
5
|
__all__ = ['hex_to_rgb', 'rgb_to_hex', 'hsl_to_rgb', 'show_256', 'show_basic', 'main']
|
|
6
|
+
|
|
7
|
+
# === Auto-registration metadata ===
|
|
8
|
+
TOOL_META = {
|
|
9
|
+
"name": "colors",
|
|
10
|
+
"func": "main",
|
|
11
|
+
"desc": 'Colors',
|
|
12
|
+
}
|
|
@@ -308,5 +308,13 @@ Examples:
|
|
|
308
308
|
sys.exit(1)
|
|
309
309
|
|
|
310
310
|
|
|
311
|
+
|
|
312
|
+
# === Auto-registration metadata ===
|
|
313
|
+
TOOL_META = {
|
|
314
|
+
"name": "config-validator",
|
|
315
|
+
"func": "main",
|
|
316
|
+
"desc": 'Validate config files (JSON, YAML, TOML)',
|
|
317
|
+
}
|
|
318
|
+
|
|
311
319
|
if __name__ == '__main__':
|
|
312
320
|
main()
|
|
@@ -421,5 +421,13 @@ def main():
|
|
|
421
421
|
sys.exit(1)
|
|
422
422
|
|
|
423
423
|
|
|
424
|
+
|
|
425
|
+
# === Auto-registration metadata ===
|
|
426
|
+
TOOL_META = {
|
|
427
|
+
"name": "crontab-helper",
|
|
428
|
+
"func": "main",
|
|
429
|
+
"desc": 'Simplify crontab management',
|
|
430
|
+
}
|
|
431
|
+
|
|
424
432
|
if __name__ == "__main__":
|
|
425
433
|
main()
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""csv-stats — Zero-dependency CSV data analysis tool."""
|
|
2
|
+
|
|
3
|
+
__version__ = "1.0.0"
|
|
4
|
+
__author__ = "Evolver"
|
|
5
|
+
__license__ = "MIT"
|
|
6
|
+
|
|
7
|
+
# === Auto-registration metadata ===
|
|
8
|
+
TOOL_META = {
|
|
9
|
+
"name": "csv-stats",
|
|
10
|
+
"func": "main",
|
|
11
|
+
"desc": 'csv-stats',
|
|
12
|
+
"submodule": "cli",
|
|
13
|
+
}
|
|
@@ -246,5 +246,13 @@ Examples:
|
|
|
246
246
|
sys.exit(1)
|
|
247
247
|
|
|
248
248
|
|
|
249
|
+
|
|
250
|
+
# === Auto-registration metadata ===
|
|
251
|
+
TOOL_META = {
|
|
252
|
+
"name": "dep-graph",
|
|
253
|
+
"func": "main",
|
|
254
|
+
"desc": 'Dependency graph from Python files',
|
|
255
|
+
}
|
|
256
|
+
|
|
249
257
|
if __name__ == '__main__':
|
|
250
258
|
main()
|
|
@@ -191,5 +191,13 @@ def main():
|
|
|
191
191
|
print(f" File1 rows: {len(rows1)}, File2 rows: {len(rows2)}")
|
|
192
192
|
|
|
193
193
|
|
|
194
|
+
|
|
195
|
+
# === Auto-registration metadata ===
|
|
196
|
+
TOOL_META = {
|
|
197
|
+
"name": "diff-csv",
|
|
198
|
+
"func": "main",
|
|
199
|
+
"desc": 'Diff two CSV files',
|
|
200
|
+
}
|
|
201
|
+
|
|
194
202
|
if __name__ == "__main__":
|
|
195
203
|
main()
|
|
@@ -215,3 +215,10 @@ def main():
|
|
|
215
215
|
adds = sum(1 for l in diff_text.split("\n") if l.startswith("+") and not l.startswith("+++"))
|
|
216
216
|
rems = sum(1 for l in diff_text.split("\n") if l.startswith("-") and not l.startswith("---"))
|
|
217
217
|
print(f"\n{DIM}{adds} addition(s), {rems} deletion(s){RESET}")
|
|
218
|
+
|
|
219
|
+
# === Auto-registration metadata ===
|
|
220
|
+
TOOL_META = {
|
|
221
|
+
"name": "diff",
|
|
222
|
+
"func": "main",
|
|
223
|
+
"desc": 'File comparator',
|
|
224
|
+
}
|