evolver-tools 27.0.0__tar.gz → 30.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.
Files changed (302) hide show
  1. evolver_tools-30.0.0/PKG-INFO +314 -0
  2. evolver_tools-30.0.0/README.md +292 -0
  3. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/pyproject.toml +2 -2
  4. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/__init__.py +1 -1
  5. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/cli.py +1 -1
  6. evolver_tools-27.0.0/src/evolver_tools/vendor/banner.py → evolver_tools-30.0.0/src/evolver_tools/vendor/ascii_banner.py +4 -4
  7. evolver_tools-30.0.0/src/evolver_tools/vendor/case_convert.py +61 -0
  8. evolver_tools-30.0.0/src/evolver_tools/vendor/csv_slice.py +106 -0
  9. evolver_tools-30.0.0/src/evolver_tools/vendor/csv_to_table.py +120 -0
  10. evolver_tools-30.0.0/src/evolver_tools/vendor/csv_view.py +403 -0
  11. evolver_tools-30.0.0/src/evolver_tools/vendor/dedup_files.py +217 -0
  12. evolver_tools-30.0.0/src/evolver_tools/vendor/http_status.py +84 -0
  13. evolver_tools-30.0.0/src/evolver_tools/vendor/json_sort.py +63 -0
  14. evolver_tools-30.0.0/src/evolver_tools/vendor/json_to_table.py +184 -0
  15. evolver_tools-30.0.0/src/evolver_tools/vendor/json_to_yaml.py +79 -0
  16. evolver_tools-30.0.0/src/evolver_tools/vendor/macrogen.py +345 -0
  17. evolver_tools-30.0.0/src/evolver_tools/vendor/markdown_to_html.py +127 -0
  18. evolver_tools-30.0.0/src/evolver_tools/vendor/pdf_text.py +474 -0
  19. evolver_tools-30.0.0/src/evolver_tools/vendor/qc_calc.py +809 -0
  20. evolver_tools-30.0.0/src/evolver_tools/vendor/qc_report.py +494 -0
  21. evolver_tools-30.0.0/src/evolver_tools/vendor/qc_sample.py +592 -0
  22. evolver_tools-30.0.0/src/evolver_tools/vendor/random_cli.py +150 -0
  23. evolver_tools-30.0.0/src/evolver_tools/vendor/random_string.py +62 -0
  24. evolver_tools-30.0.0/src/evolver_tools/vendor/slugify.py +50 -0
  25. evolver_tools-30.0.0/src/evolver_tools/vendor/text_dedent.py +62 -0
  26. evolver_tools-30.0.0/src/evolver_tools/vendor/text_wrap.py +61 -0
  27. evolver_tools-30.0.0/src/evolver_tools/vendor/time_duration.py +83 -0
  28. evolver_tools-30.0.0/src/evolver_tools/vendor/xml_format.py +41 -0
  29. evolver_tools-30.0.0/src/evolver_tools.egg-info/PKG-INFO +314 -0
  30. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools.egg-info/SOURCES.txt +17 -1
  31. evolver_tools-27.0.0/PKG-INFO +0 -129
  32. evolver_tools-27.0.0/README.md +0 -107
  33. evolver_tools-27.0.0/src/evolver_tools/vendor/csv_view.py +0 -157
  34. evolver_tools-27.0.0/src/evolver_tools/vendor/macrogen.py +0 -113
  35. evolver_tools-27.0.0/src/evolver_tools/vendor/pdf_text.py +0 -97
  36. evolver_tools-27.0.0/src/evolver_tools/vendor/qc_calc.py +0 -585
  37. evolver_tools-27.0.0/src/evolver_tools/vendor/qc_report.py +0 -181
  38. evolver_tools-27.0.0/src/evolver_tools/vendor/qc_sample.py +0 -239
  39. evolver_tools-27.0.0/src/evolver_tools.egg-info/PKG-INFO +0 -129
  40. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/LICENSE +0 -0
  41. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/setup.cfg +0 -0
  42. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/__main__.py +0 -0
  43. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/autoreg.py +0 -0
  44. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/__init__.py +0 -0
  45. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/agent_b_tool.py +0 -0
  46. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ansi_strip.py +0 -0
  47. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/api_tester.py +0 -0
  48. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ascii_gen.py +0 -0
  49. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/audit_log.py +0 -0
  50. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/b64/__init__.py +0 -0
  51. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/b64/b64.py +0 -0
  52. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/backup.py +0 -0
  53. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/banner/__init__.py +0 -0
  54. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/banner/banner.py +0 -0
  55. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/base32.py +0 -0
  56. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/base58.py +0 -0
  57. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/bookmark.py +0 -0
  58. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cal_tool/__init__.py +0 -0
  59. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cal_tool/cli.py +0 -0
  60. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/calendar_cli.py +0 -0
  61. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cert_check.py +0 -0
  62. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cert_info.py +0 -0
  63. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/changelog_gen/__init__.py +0 -0
  64. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/changelog_gen/changelog_gen.py +0 -0
  65. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/changelog_gen.py +0 -0
  66. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/chart_cli/__init__.py +0 -0
  67. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/chart_cli/__main__.py +0 -0
  68. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/checksum_dir.py +0 -0
  69. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/clipboard/__init__.py +0 -0
  70. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/clipboard/clipboard.py +0 -0
  71. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/code_auditor.py +0 -0
  72. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/code_review.py +0 -0
  73. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/code_stats.py +0 -0
  74. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/colorize.py +0 -0
  75. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/colors/__init__.py +0 -0
  76. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/colors/__main__.py +0 -0
  77. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/config_validator.py +0 -0
  78. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/config_vault.py +0 -0
  79. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cowsay.py +0 -0
  80. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/crc_check.py +0 -0
  81. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cron/__init__.py +0 -0
  82. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cron/__main__.py +0 -0
  83. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/cron_pretty.py +0 -0
  84. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/crontab_helper.py +0 -0
  85. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/crypto_box.py +0 -0
  86. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/crypto_price.py +0 -0
  87. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv2json.py +0 -0
  88. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv_dedup.py +0 -0
  89. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv_merge.py +0 -0
  90. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv_stats/__init__.py +0 -0
  91. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv_stats/__main__.py +0 -0
  92. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv_stats/analyzer.py +0 -0
  93. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv_stats/cli.py +0 -0
  94. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/csv_validate.py +0 -0
  95. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/date_diff.py +0 -0
  96. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/db_mate.py +0 -0
  97. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/db_schema.py +0 -0
  98. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/dep_graph.py +0 -0
  99. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/dev_dashboard.py +0 -0
  100. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/dice_roll.py +0 -0
  101. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/diff_csv.py +0 -0
  102. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/diff_files.py +0 -0
  103. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/diff_tool/__init__.py +0 -0
  104. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/diff_tool/__main__.py +0 -0
  105. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/dirsize/__init__.py +0 -0
  106. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/disk_cleanup.py +0 -0
  107. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/disk_usage/__init__.py +0 -0
  108. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/disk_usage/disk_usage.py +0 -0
  109. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/dns_lookup.py +0 -0
  110. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/docker_helper.py +0 -0
  111. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/dt_convert.py +0 -0
  112. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/env_diff.py +0 -0
  113. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/env_manager.py +0 -0
  114. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/env_template.py +0 -0
  115. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/envcheck/__init__.py +0 -0
  116. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/epoch.py +0 -0
  117. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/excel2csv.py +0 -0
  118. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/factor.py +0 -0
  119. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ff/__init__.py +0 -0
  120. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ff/__main__.py +0 -0
  121. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/figlet_cli.py +0 -0
  122. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/figlet_tool.py +0 -0
  123. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/file_encrypt.py +0 -0
  124. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/file_find.py +0 -0
  125. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/file_joiner.py +0 -0
  126. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/file_splitter.py +0 -0
  127. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/file_watch.py +0 -0
  128. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/find_dups/__init__.py +0 -0
  129. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/find_dups/cli.py +0 -0
  130. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/firewall_rule.py +0 -0
  131. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/fmt/__init__.py +0 -0
  132. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/fmt/fmt.py +0 -0
  133. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/fold.py +0 -0
  134. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/geo_ip.py +0 -0
  135. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/git_branch_cleaner.py +0 -0
  136. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/git_log_pretty.py +0 -0
  137. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/git_stats.py +0 -0
  138. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/gzip_cli.py +0 -0
  139. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/hash_check.py +0 -0
  140. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/hash_file.py +0 -0
  141. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/hashsum/__init__.py +0 -0
  142. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/hashsum/__main__.py +0 -0
  143. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/hex_tool.py +0 -0
  144. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/hexdump.py +0 -0
  145. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/html2markdown.py +0 -0
  146. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/html2md.py +0 -0
  147. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/http_headers.py +0 -0
  148. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/http_live/__init__.py +0 -0
  149. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/http_live/__main__.py +0 -0
  150. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/http_server.py +0 -0
  151. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/image_meta.py +0 -0
  152. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ini2json.py +0 -0
  153. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ini_parser/__init__.py +0 -0
  154. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ini_parser/ini_parser.py +0 -0
  155. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ip_info.py +0 -0
  156. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ip_location.py +0 -0
  157. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ipcalc/__init__.py +0 -0
  158. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ipcalc/__main__.py +0 -0
  159. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ipinfo/__init__.py +0 -0
  160. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ipinfo/__main__.py +0 -0
  161. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/join.py +0 -0
  162. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/joke.py +0 -0
  163. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/jq_lite/__init__.py +0 -0
  164. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/jq_lite/__main__.py +0 -0
  165. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json2csv/__init__.py +0 -0
  166. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json2csv/__main__.py +0 -0
  167. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json2ini.py +0 -0
  168. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json_diff.py +0 -0
  169. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json_flatten.py +0 -0
  170. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json_merge.py +0 -0
  171. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json_path.py +0 -0
  172. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json_pretty/__init__.py +0 -0
  173. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json_pretty/json_pretty.py +0 -0
  174. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/json_schema_validate.py +0 -0
  175. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/jsonql/__init__.py +0 -0
  176. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/jsonql/__main__.py +0 -0
  177. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/jwt_decode.py +0 -0
  178. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/key_value_store.py +0 -0
  179. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/license.py +0 -0
  180. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/license_cli/__init__.py +0 -0
  181. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/license_cli/__main__.py +0 -0
  182. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/license_cli/cli.py +0 -0
  183. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/log_analyzer.py +0 -0
  184. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/log_hawk.py +0 -0
  185. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/log_tail.py +0 -0
  186. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/markdown_check/__init__.py +0 -0
  187. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/markdown_lint.py +0 -0
  188. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/markdown_preview.py +0 -0
  189. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/markdown_toc.py +0 -0
  190. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/math_eval.py +0 -0
  191. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/media_studio.py +0 -0
  192. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/morse.py +0 -0
  193. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/nb/__init__.py +0 -0
  194. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/nb/__main__.py +0 -0
  195. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/net_analyzer.py +0 -0
  196. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/net_speed.py +0 -0
  197. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/network_scan.py +0 -0
  198. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/nl.py +0 -0
  199. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/note_taker.py +0 -0
  200. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/otp_gen.py +0 -0
  201. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/passgen/__init__.py +0 -0
  202. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/password_strength.py +0 -0
  203. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/pdf_info.py +0 -0
  204. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/pipe_viewer.py +0 -0
  205. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/pomodoro.py +0 -0
  206. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/port_scan.py +0 -0
  207. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/portcheck/__init__.py +0 -0
  208. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/portcheck/__main__.py +0 -0
  209. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/pr_tool/__init__.py +0 -0
  210. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/pr_tool/pr_tool.py +0 -0
  211. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/process_kill.py +0 -0
  212. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/progress_bar.py +0 -0
  213. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/project_doctor/__init__.py +0 -0
  214. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/project_doctor/__main__.py +0 -0
  215. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/qr_cli.py +0 -0
  216. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/qrcode.py +0 -0
  217. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/quote.py +0 -0
  218. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/quote_tool/__init__.py +0 -0
  219. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/quote_tool/quote.py +0 -0
  220. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/rainbow.py +0 -0
  221. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/random.py +0 -0
  222. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/reminder.py +0 -0
  223. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ren/__init__.py +0 -0
  224. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ren/__main__.py +0 -0
  225. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/replace_text.py +0 -0
  226. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/restore.py +0 -0
  227. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/rot13.py +0 -0
  228. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/route_trace.py +0 -0
  229. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/scan_open_ports.py +0 -0
  230. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/scan_ports.py +0 -0
  231. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/screen_recorder.py +0 -0
  232. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/screenshot_cli.py +0 -0
  233. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/search_files.py +0 -0
  234. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/search_history.py +0 -0
  235. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/secret_scanner.py +0 -0
  236. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/seq.py +0 -0
  237. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/service_check.py +0 -0
  238. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/shuffle.py +0 -0
  239. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/siege_lite/__init__.py +0 -0
  240. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/siege_lite/__main__.py +0 -0
  241. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/smellfinder/__init__.py +0 -0
  242. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/smellfinder/__main__.py +0 -0
  243. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sort/__init__.py +0 -0
  244. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sort/sort.py +0 -0
  245. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/spinner.py +0 -0
  246. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/split.py +0 -0
  247. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/split_tool/__init__.py +0 -0
  248. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/split_tool/split.py +0 -0
  249. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sql2csv.py +0 -0
  250. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sqlite_cli/__init__.py +0 -0
  251. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sqlite_cli/__main__.py +0 -0
  252. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ssh_key_gen.py +0 -0
  253. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/ssl_check.py +0 -0
  254. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/stopwatch.py +0 -0
  255. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/subnet.py +0 -0
  256. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sysmon/__init__.py +0 -0
  257. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sysmon/__main__.py +0 -0
  258. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/sysmon_pro.py +0 -0
  259. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/system_info.py +0 -0
  260. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/temp_cleaner.py +0 -0
  261. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/template.py +0 -0
  262. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/text_stats.py +0 -0
  263. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/timeout.py +0 -0
  264. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/timer/__init__.py +0 -0
  265. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/timer_pro/__init__.py +0 -0
  266. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/timer_pro/timer_pro.py +0 -0
  267. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/timer_pro.py +0 -0
  268. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/todo_cli.py +0 -0
  269. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/toml2json.py +0 -0
  270. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/tr.py +0 -0
  271. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/tree.py +0 -0
  272. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/treedir/__init__.py +0 -0
  273. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/treedir/__main__.py +0 -0
  274. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/tsv2csv.py +0 -0
  275. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/uniq_tool/__init__.py +0 -0
  276. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/uniq_tool/uniq.py +0 -0
  277. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/unit_convert.py +0 -0
  278. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/uri_encode.py +0 -0
  279. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/url_parser.py +0 -0
  280. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/urlparse_tool/__init__.py +0 -0
  281. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/urlparse_tool/cli.py +0 -0
  282. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/uuid_gen.py +0 -0
  283. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/uuid_tool/__init__.py +0 -0
  284. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/uuid_tool/__main__.py +0 -0
  285. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/watch.py +0 -0
  286. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/weather_cli.py +0 -0
  287. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/web_download.py +0 -0
  288. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/web_summary/__init__.py +0 -0
  289. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/web_summary/__main__.py +0 -0
  290. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/whois_lookup.py +0 -0
  291. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/wordcount/__init__.py +0 -0
  292. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/wordcount/__main__.py +0 -0
  293. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/world_clock.py +0 -0
  294. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/xml2json.py +0 -0
  295. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/yaml2json/__init__.py +0 -0
  296. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/yaml2json/yaml2json.py +0 -0
  297. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/yaml2toml.py +0 -0
  298. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/yaml_validate.py +0 -0
  299. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools/vendor/yes.py +0 -0
  300. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools.egg-info/dependency_links.txt +0 -0
  301. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools.egg-info/entry_points.txt +0 -0
  302. {evolver_tools-27.0.0 → evolver_tools-30.0.0}/src/evolver_tools.egg-info/top_level.txt +0 -0
@@ -0,0 +1,314 @@
1
+ Metadata-Version: 2.4
2
+ Name: evolver-tools
3
+ Version: 30.0.0
4
+ Summary: 233 CLI tools + 9 flagship projects — one pip install
5
+ Author: EVOLVER
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://evolver-dev.github.io/evolver-tools
8
+ Project-URL: Repository, https://github.com/evolver-dev/evolver-tools
9
+ Keywords: cli,devops,productivity,developer-tools,terminal
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: System Administrators
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3 :: Only
17
+ Classifier: Topic :: Utilities
18
+ Requires-Python: >=3.8
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Dynamic: license-file
22
+
23
+ # EVOLVER Tools
24
+
25
+ **233+ CLI tools + 9 flagship projects — one `pip install`.**
26
+
27
+ Zero-dependency (230/233), cross-platform, production-ready. Version **30.0.0**.
28
+ Systems ops, data processing, text manipulation, security, dev tooling, and creative utilities.
29
+ All in a single install — not 233 separate packages.
30
+
31
+ ## Quick Start
32
+
33
+ ```bash
34
+ pip install evolver-tools
35
+ evtool list # Show all 233+ tools
36
+ evtool sysmon # Launch system monitor
37
+ evtool ff < data.txt # Fuzzy search through data
38
+ evtool csv-stats data.csv # Analyze CSV columns
39
+ ```
40
+
41
+ ## Tool Categories
42
+
43
+ Every tool is a single command under `evtool <name>`. Tools are auto-discovered from `src/evolver_tools/vendor/` — no manual registration needed.
44
+
45
+ ### Ops & System Administration
46
+
47
+ | Tool | Description |
48
+ |------|-------------|
49
+ | **sysmon** | Real-time system monitor (curses TUI — CPU/mem/disk/net/processes) |
50
+ | **dirsize** | Recursive directory space analyzer |
51
+ | **envcheck** | Environment variable validator (missing keys, formats) |
52
+ | **portcheck** | TCP port scanner & service detection |
53
+ | **siege-lite** | HTTP load tester (concurrency, latency percentile) |
54
+ | **http-live** | SSE hot-reload HTTP server for development |
55
+ | **ipinfo** | Public IP & geolocation lookup |
56
+ | **hashsum** | File hash verification (MD5/SHA-1/256/512/BLAKE2, auto-detect) |
57
+ | **find-dups** | Find duplicate files by SHA256 hash, size, or name |
58
+ | **disk-cleanup** | Temporary file and cache cleaner |
59
+ | **temp-cleaner** | System temp directory cleaner |
60
+ | **service-check** | Service availability checker |
61
+ | **process-kill** | Process search and kill utility |
62
+ | **watch** | Periodic command execution monitor |
63
+ | **pipe-viewer** | Pipe throughput visualization |
64
+ | **progress-bar** | Terminal progress bar utility |
65
+ | **backup** | File and directory backup tool |
66
+ | **restore** | File restore from backups |
67
+
68
+ ### Data & Analysis
69
+
70
+ | Tool | Description |
71
+ |------|-------------|
72
+ | **csv-stats** | CSV column analysis — histograms, frequencies, correlations |
73
+ | **csv-view** | CSV file viewer with pagination |
74
+ | **csv-slice** | CSV row/column slicing |
75
+ | **csv-merge** | Merge multiple CSV files |
76
+ | **csv-dedup** | CSV duplicate row removal |
77
+ | **csv-validate** | CSV format and data validator |
78
+ | **csv2json** | CSV to JSON converter |
79
+ | **json2csv** | JSON to CSV with nested key flattening |
80
+ | **json-merge** | Deep merge multiple JSON files |
81
+ | **json-diff** | JSON diff tool |
82
+ | **json-sort** | Sort JSON by key |
83
+ | **json-flatten** | Flatten nested JSON |
84
+ | **json-path** | JSONPath query tool |
85
+ | **jsonql** | SQL-like JSON query engine |
86
+ | **jq-lite** | jq-style JSON filter/extract |
87
+ | **json-to-table** | Render JSON as text tables |
88
+ | **json-to-yaml** | Convert JSON to YAML |
89
+ | **json-schema-validate** | Validate JSON against a schema |
90
+ | **yaml2json** | Convert YAML to JSON |
91
+ | **yaml-validate** | Validate YAML syntax |
92
+ | **yaml2toml** | Convert YAML to TOML |
93
+ | **toml2json** | Convert TOML to JSON |
94
+ | **ini2json** | Convert INI to JSON |
95
+ | **json2ini** | Convert JSON to INI |
96
+ | **xml-format** | XML pretty-printer and formatter |
97
+ | **xml2json** | Convert XML to JSON |
98
+ | **chart-cli** | Terminal chart generator — bar, line, pie, histogram |
99
+ | **cal** | Calendar & date calculator |
100
+ | **date-diff** | Date difference calculator |
101
+ | **world-clock** | Multiple timezone display |
102
+ | **epoch** | Unix timestamp converter |
103
+ | **time-duration** | Time duration calculator |
104
+ | **unit-convert** | Unit conversion utility |
105
+ | **math-eval** | Safe math expression evaluator |
106
+ | **excel2csv** | Convert Excel (.xlsx) to CSV |
107
+ | **sql2csv** | SQL query to CSV export |
108
+ | **web-summary** | Web page content extractor (title, body, links) |
109
+ | **weather-cli** | Weather forecast from terminal |
110
+ | **crypto-price** | Cryptocurrency price lookup |
111
+
112
+ ### Text & File Manipulation
113
+
114
+ | Tool | Description |
115
+ |------|-------------|
116
+ | **ff** | Interactive fuzzy finder (pure Python curses TUI) |
117
+ | **sort** | Line sorting — alpha, numeric, reverse, unique, by column |
118
+ | **uniq** | Remove/display duplicate lines |
119
+ | **nl** | Number lines |
120
+ | **tr** | Character transliteration |
121
+ | **fold** | Wrap text to specified width |
122
+ | **join** | Join lines with delimiter |
123
+ | **split** | Split file into parts |
124
+ | **seq** | Generate number sequences |
125
+ | **yes** | Repeatedly output lines |
126
+ | **shuffle** | Randomize line order |
127
+ | **case-convert** | Convert between camelCase, snake_case, kebab-case |
128
+ | **slugify** | Generate URL-safe slugs |
129
+ | **text-wrap** | Word-wrap text |
130
+ | **text-dedent** | Remove indentation |
131
+ | **text-stats** | Text statistics (words, chars, sentences) |
132
+ | **wordcount** | Enhanced wc with language detection |
133
+ | **diff-files** | File comparison |
134
+ | **replace-text** | Find and replace in files |
135
+ | **file-find** | File search by name and pattern |
136
+ | **file-splitter** | Split large files |
137
+ | **file-joiner** | Join split files |
138
+ | **search-files** | Full-text content search |
139
+ | **file-watch** | File change watcher |
140
+ | **gzip-cli** | Gzip compression utility |
141
+ | **hexdump** | Hex dump with ASCII view |
142
+ | **hex-tool** | Hex encoding/decoding |
143
+ | **base32** | Base32 encode/decode |
144
+ | **base58** | Base58 encode/decode |
145
+ | **b64** | Base64 encode/decode with auto-detection |
146
+ | **uri-encode** | URL encoding/decoding |
147
+ | **rot13** | ROT13 cipher |
148
+ | **morse** | Morse code encoder/decoder |
149
+ | **ansi-strip** | Strip ANSI escape codes |
150
+
151
+ ### Security & Cryptography
152
+
153
+ | Tool | Description |
154
+ |------|-------------|
155
+ | **passgen** | Password generator with entropy display |
156
+ | **password-strength** | Password strength analyzer |
157
+ | **hash-file** | File hash computation |
158
+ | **hash-check** | Hash verification utility |
159
+ | **checksum-dir** | Directory checksum verification |
160
+ | **crc-check** | CRC check utility |
161
+ | **uuid-gen** | UUID generator (v1/v4/v5/v7) |
162
+ | **jwt-decode** | JWT token decoder |
163
+ | **otp-gen** | One-time password generator |
164
+ | **file-encrypt** | File encryption/decryption |
165
+ | **ssh-key-gen** | SSH key pair generator |
166
+ | **ssl-check** | SSL certificate checker |
167
+ | **cert-info** | Certificate info display |
168
+ | **cert-check** | Certificate expiry checker |
169
+ | **secret-scanner** | Scan files for secrets and API keys |
170
+ | **firewall-rule** | Firewall rule helper |
171
+ | **scan-ports** | Port scanner |
172
+ | **scan-open-ports** | Open port discovery |
173
+ | **whois-lookup** | WHOIS domain lookup |
174
+ | **dns-lookup** | DNS resolution tool |
175
+ | **geo-ip** | IP geolocation lookup |
176
+ | **route-trace** | Network route tracer |
177
+ | **net-speed** | Network speed test |
178
+ | **subnet** | Subnet calculator |
179
+
180
+ ### Developer Tools
181
+
182
+ | Tool | Description |
183
+ |------|-------------|
184
+ | **smellfinder** | Python code smell detector (AST-based, 10+ patterns) |
185
+ | **project-doctor** | Project health checker (meta, structure, quality) |
186
+ | **code-review** | Automated code review suggestions |
187
+ | **code-stats** | Codebase statistics (LOC, languages, complexity) |
188
+ | **dep-graph** | Dependency graph from Python files |
189
+ | **license** | Open-source license generator/validator |
190
+ | **markdown-lint** | Markdown format & style linter |
191
+ | **markdown-check** | Markdown link and structure checker |
192
+ | **markdown-toc** | Table of contents generator for Markdown |
193
+ | **markdown-to-html** | Markdown to HTML converter |
194
+ | **markdown-preview** | Markdown preview in terminal |
195
+ | **html2md** | HTML to Markdown converter |
196
+ | **html2markdown** | Alternative HTML to Markdown |
197
+ | **sqlite-cli** | SQLite query tool — CSV/JSON/table output |
198
+ | **db-schema** | Database schema viewer |
199
+ | **git-stats** | Git repository statistics |
200
+ | **git-log-pretty** | Pretty git log viewer |
201
+ | **git-branch-cleaner** | Clean up stale branches |
202
+ | **env-diff** | Compare .env files |
203
+ | **env-template** | Generate .env template files |
204
+ | **env-manager** | Environment variable manager |
205
+ | **cron** | Cron expression parser & next-run calculator |
206
+ | **cron-pretty** | Human-readable cron descriptions |
207
+ | **crontab-helper** | Crontab helper |
208
+ | **config-validator** | Configuration file validator |
209
+ | **colors** | 256-color table & HEX to RGB conversion |
210
+ | **url-parse** | URL parser & debugger |
211
+ | **random** | Random number/data generation |
212
+ | **random-string** | Random string generator |
213
+ | **fmt** | Code/text formatter — whitespace, EOF newline, indent |
214
+ | **template** | Simple template engine |
215
+ | **docker-helper** | Docker container helper |
216
+ | **api-tester** | HTTP API testing tool |
217
+ | **http-status** | HTTP status code reference |
218
+ | **http-headers** | HTTP header inspector |
219
+ | **changelog-gen** | Changelog generator |
220
+ | **audit-log** | Log audit trail utility |
221
+
222
+ ### Creative & Productivity
223
+
224
+ | Tool | Description |
225
+ |------|-------------|
226
+ | **nb** | Command-line notebook (JSON storage, full-text search) |
227
+ | **ren** | Batch file renamer (prefix/suffix/regex/numbering) |
228
+ | **timer** | Countdown timer & stopwatch |
229
+ | **timer-pro** | Advanced timer with intervals |
230
+ | **pomodoro** | Pomodoro timer with notifications |
231
+ | **stopwatch** | Simple stopwatch |
232
+ | **treedir** | Directory tree visualizer |
233
+ | **tree** | Alternative directory tree |
234
+ | **qr-cli** | QR code generator |
235
+ | **qrcode** | QR code encoder/decoder |
236
+ | **ascii-banner** | ASCII banner generator |
237
+ | **ascii-gen** | ASCII art generator |
238
+ | **figlet-cli** | Figlet-style text renderer |
239
+ | **banner** | Banner text printer |
240
+ | **cowsay** | Cowsay-style text bubbles |
241
+ | **quote** | Random quote display |
242
+ | **joke** | Random joke generator |
243
+ | **rainbow** | Rainbow-colored text output |
244
+ | **colorize** | Text colorizer |
245
+ | **spinner** | Terminal spinner animation |
246
+ | **reminder** | Set terminal reminders |
247
+ | **todo-cli** | Simple todo list manager |
248
+ | **bookmark** | URL bookmark manager |
249
+ | **note-taker** | Quick note taker |
250
+ | **clipboard** | Clipboard integration |
251
+ | **key-value-store** | Simple key-value database |
252
+ | **dice-roll** | Dice roll simulator |
253
+ | **screenshot-cli** | Screenshot capture |
254
+ | **screen-recorder** | Terminal session recorder |
255
+ | **image-meta** | Image metadata extractor |
256
+ | **pdf-info** | PDF metadata reader |
257
+ | **pdf-text** | PDF text extraction |
258
+ | **web-download** | Web resource downloader |
259
+ | **search-history** | Search history manager |
260
+ | **dt** | Date/time format converter (timestamps, timezones) |
261
+ | **ipcalc** | IP address calculator |
262
+ | **log-tail** | Log tailing utility |
263
+ | **log-analyzer** | Log pattern analyzer |
264
+
265
+ ### Flagship Projects
266
+
267
+ Nine flagship projects ship as integrated CLI+TUI suites within evolver-tools:
268
+
269
+ | Tool | Description |
270
+ |------|-------------|
271
+ | **sysmon-pro** | System monitor: CPU, memory, disk, processes, network — CLI+TUI |
272
+ | **net-analyzer** | Network analysis: ping, trace, port scan, DNS — CLI+TUI |
273
+ | **log-hawk** | Log analysis: parse, filter, tail, stats — CLI+TUI |
274
+ | **dev-dashboard** | Developer dashboard: git, system, ports, processes — CLI+TUI |
275
+ | **db-mate** | Database management: SQLite browser, schema, queries — CLI+TUI |
276
+ | **media-studio** | Media utilities: QR, ASCII art, banner, Morse, figlet — CLI+TUI |
277
+ | **config-vault** | Config security: validate, encrypt, scan secrets — CLI+TUI |
278
+ | **crypto-box** | Security: encrypt, hash, password, OTP, SSL — CLI+TUI |
279
+ | **code-auditor** | Code analysis: complexity, security, style, deps — CLI+TUI |
280
+
281
+ ## Requirements
282
+
283
+ - Python 3.8+
284
+ - No external dependencies for 230 of 233 tools (stdlib only)
285
+ - A few tools (sysmon, sysmon-pro, etc.) optionally use psutil
286
+ - Network-dependent tools (ipinfo, weather, etc.) use public APIs
287
+
288
+ ## Pricing
289
+
290
+ evolver-tools is **MIT open source** and free forever for all tools.
291
+
292
+ | Tier | Price | What you get |
293
+ |------|-------|-------------|
294
+ | **Free (MIT)** | ¥0 | All 233+ tools, full source, forever |
295
+ | **Full Suite** | ¥79 one-time | All tools + priority support + early access + name in credits |
296
+ | **Sponsor** | ¥5/month | GitHub Sponsors badge + Discord + vote on priorities |
297
+ | **Enterprise Basic** | ¥500/year | Custom tool development |
298
+ | **Enterprise Premium** | ¥2,000/year | Dedicated maintenance + 24h emergency fixes |
299
+ | **Enterprise Ultimate** | ¥5,000/year | Full source license + unlimited custom dev + white-label |
300
+
301
+ 👉 [View full pricing page](https://evolver-dev.github.io/evolver-tools/pricing/) — feature comparison, testimonials, and FAQ.
302
+
303
+ Support the project via one-time purchase (¥79) or monthly sponsorship on [GitHub Sponsors](https://github.com/sponsors/evolver-dev).
304
+
305
+ ## Links
306
+
307
+ - **GitHub**: https://github.com/evolver-dev/evolver-tools
308
+ - **PyPI**: https://pypi.org/project/evolver-tools/
309
+ - **Pricing**: https://evolver-dev.github.io/evolver-tools/pricing.html
310
+ - **Homepage**: https://evolver-dev.github.io/evolver-tools
311
+
312
+ ## License
313
+
314
+ MIT — see [LICENSE](LICENSE) for details.
@@ -0,0 +1,292 @@
1
+ # EVOLVER Tools
2
+
3
+ **233+ CLI tools + 9 flagship projects — one `pip install`.**
4
+
5
+ Zero-dependency (230/233), cross-platform, production-ready. Version **30.0.0**.
6
+ Systems ops, data processing, text manipulation, security, dev tooling, and creative utilities.
7
+ All in a single install — not 233 separate packages.
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ pip install evolver-tools
13
+ evtool list # Show all 233+ tools
14
+ evtool sysmon # Launch system monitor
15
+ evtool ff < data.txt # Fuzzy search through data
16
+ evtool csv-stats data.csv # Analyze CSV columns
17
+ ```
18
+
19
+ ## Tool Categories
20
+
21
+ Every tool is a single command under `evtool <name>`. Tools are auto-discovered from `src/evolver_tools/vendor/` — no manual registration needed.
22
+
23
+ ### Ops & System Administration
24
+
25
+ | Tool | Description |
26
+ |------|-------------|
27
+ | **sysmon** | Real-time system monitor (curses TUI — CPU/mem/disk/net/processes) |
28
+ | **dirsize** | Recursive directory space analyzer |
29
+ | **envcheck** | Environment variable validator (missing keys, formats) |
30
+ | **portcheck** | TCP port scanner & service detection |
31
+ | **siege-lite** | HTTP load tester (concurrency, latency percentile) |
32
+ | **http-live** | SSE hot-reload HTTP server for development |
33
+ | **ipinfo** | Public IP & geolocation lookup |
34
+ | **hashsum** | File hash verification (MD5/SHA-1/256/512/BLAKE2, auto-detect) |
35
+ | **find-dups** | Find duplicate files by SHA256 hash, size, or name |
36
+ | **disk-cleanup** | Temporary file and cache cleaner |
37
+ | **temp-cleaner** | System temp directory cleaner |
38
+ | **service-check** | Service availability checker |
39
+ | **process-kill** | Process search and kill utility |
40
+ | **watch** | Periodic command execution monitor |
41
+ | **pipe-viewer** | Pipe throughput visualization |
42
+ | **progress-bar** | Terminal progress bar utility |
43
+ | **backup** | File and directory backup tool |
44
+ | **restore** | File restore from backups |
45
+
46
+ ### Data & Analysis
47
+
48
+ | Tool | Description |
49
+ |------|-------------|
50
+ | **csv-stats** | CSV column analysis — histograms, frequencies, correlations |
51
+ | **csv-view** | CSV file viewer with pagination |
52
+ | **csv-slice** | CSV row/column slicing |
53
+ | **csv-merge** | Merge multiple CSV files |
54
+ | **csv-dedup** | CSV duplicate row removal |
55
+ | **csv-validate** | CSV format and data validator |
56
+ | **csv2json** | CSV to JSON converter |
57
+ | **json2csv** | JSON to CSV with nested key flattening |
58
+ | **json-merge** | Deep merge multiple JSON files |
59
+ | **json-diff** | JSON diff tool |
60
+ | **json-sort** | Sort JSON by key |
61
+ | **json-flatten** | Flatten nested JSON |
62
+ | **json-path** | JSONPath query tool |
63
+ | **jsonql** | SQL-like JSON query engine |
64
+ | **jq-lite** | jq-style JSON filter/extract |
65
+ | **json-to-table** | Render JSON as text tables |
66
+ | **json-to-yaml** | Convert JSON to YAML |
67
+ | **json-schema-validate** | Validate JSON against a schema |
68
+ | **yaml2json** | Convert YAML to JSON |
69
+ | **yaml-validate** | Validate YAML syntax |
70
+ | **yaml2toml** | Convert YAML to TOML |
71
+ | **toml2json** | Convert TOML to JSON |
72
+ | **ini2json** | Convert INI to JSON |
73
+ | **json2ini** | Convert JSON to INI |
74
+ | **xml-format** | XML pretty-printer and formatter |
75
+ | **xml2json** | Convert XML to JSON |
76
+ | **chart-cli** | Terminal chart generator — bar, line, pie, histogram |
77
+ | **cal** | Calendar & date calculator |
78
+ | **date-diff** | Date difference calculator |
79
+ | **world-clock** | Multiple timezone display |
80
+ | **epoch** | Unix timestamp converter |
81
+ | **time-duration** | Time duration calculator |
82
+ | **unit-convert** | Unit conversion utility |
83
+ | **math-eval** | Safe math expression evaluator |
84
+ | **excel2csv** | Convert Excel (.xlsx) to CSV |
85
+ | **sql2csv** | SQL query to CSV export |
86
+ | **web-summary** | Web page content extractor (title, body, links) |
87
+ | **weather-cli** | Weather forecast from terminal |
88
+ | **crypto-price** | Cryptocurrency price lookup |
89
+
90
+ ### Text & File Manipulation
91
+
92
+ | Tool | Description |
93
+ |------|-------------|
94
+ | **ff** | Interactive fuzzy finder (pure Python curses TUI) |
95
+ | **sort** | Line sorting — alpha, numeric, reverse, unique, by column |
96
+ | **uniq** | Remove/display duplicate lines |
97
+ | **nl** | Number lines |
98
+ | **tr** | Character transliteration |
99
+ | **fold** | Wrap text to specified width |
100
+ | **join** | Join lines with delimiter |
101
+ | **split** | Split file into parts |
102
+ | **seq** | Generate number sequences |
103
+ | **yes** | Repeatedly output lines |
104
+ | **shuffle** | Randomize line order |
105
+ | **case-convert** | Convert between camelCase, snake_case, kebab-case |
106
+ | **slugify** | Generate URL-safe slugs |
107
+ | **text-wrap** | Word-wrap text |
108
+ | **text-dedent** | Remove indentation |
109
+ | **text-stats** | Text statistics (words, chars, sentences) |
110
+ | **wordcount** | Enhanced wc with language detection |
111
+ | **diff-files** | File comparison |
112
+ | **replace-text** | Find and replace in files |
113
+ | **file-find** | File search by name and pattern |
114
+ | **file-splitter** | Split large files |
115
+ | **file-joiner** | Join split files |
116
+ | **search-files** | Full-text content search |
117
+ | **file-watch** | File change watcher |
118
+ | **gzip-cli** | Gzip compression utility |
119
+ | **hexdump** | Hex dump with ASCII view |
120
+ | **hex-tool** | Hex encoding/decoding |
121
+ | **base32** | Base32 encode/decode |
122
+ | **base58** | Base58 encode/decode |
123
+ | **b64** | Base64 encode/decode with auto-detection |
124
+ | **uri-encode** | URL encoding/decoding |
125
+ | **rot13** | ROT13 cipher |
126
+ | **morse** | Morse code encoder/decoder |
127
+ | **ansi-strip** | Strip ANSI escape codes |
128
+
129
+ ### Security & Cryptography
130
+
131
+ | Tool | Description |
132
+ |------|-------------|
133
+ | **passgen** | Password generator with entropy display |
134
+ | **password-strength** | Password strength analyzer |
135
+ | **hash-file** | File hash computation |
136
+ | **hash-check** | Hash verification utility |
137
+ | **checksum-dir** | Directory checksum verification |
138
+ | **crc-check** | CRC check utility |
139
+ | **uuid-gen** | UUID generator (v1/v4/v5/v7) |
140
+ | **jwt-decode** | JWT token decoder |
141
+ | **otp-gen** | One-time password generator |
142
+ | **file-encrypt** | File encryption/decryption |
143
+ | **ssh-key-gen** | SSH key pair generator |
144
+ | **ssl-check** | SSL certificate checker |
145
+ | **cert-info** | Certificate info display |
146
+ | **cert-check** | Certificate expiry checker |
147
+ | **secret-scanner** | Scan files for secrets and API keys |
148
+ | **firewall-rule** | Firewall rule helper |
149
+ | **scan-ports** | Port scanner |
150
+ | **scan-open-ports** | Open port discovery |
151
+ | **whois-lookup** | WHOIS domain lookup |
152
+ | **dns-lookup** | DNS resolution tool |
153
+ | **geo-ip** | IP geolocation lookup |
154
+ | **route-trace** | Network route tracer |
155
+ | **net-speed** | Network speed test |
156
+ | **subnet** | Subnet calculator |
157
+
158
+ ### Developer Tools
159
+
160
+ | Tool | Description |
161
+ |------|-------------|
162
+ | **smellfinder** | Python code smell detector (AST-based, 10+ patterns) |
163
+ | **project-doctor** | Project health checker (meta, structure, quality) |
164
+ | **code-review** | Automated code review suggestions |
165
+ | **code-stats** | Codebase statistics (LOC, languages, complexity) |
166
+ | **dep-graph** | Dependency graph from Python files |
167
+ | **license** | Open-source license generator/validator |
168
+ | **markdown-lint** | Markdown format & style linter |
169
+ | **markdown-check** | Markdown link and structure checker |
170
+ | **markdown-toc** | Table of contents generator for Markdown |
171
+ | **markdown-to-html** | Markdown to HTML converter |
172
+ | **markdown-preview** | Markdown preview in terminal |
173
+ | **html2md** | HTML to Markdown converter |
174
+ | **html2markdown** | Alternative HTML to Markdown |
175
+ | **sqlite-cli** | SQLite query tool — CSV/JSON/table output |
176
+ | **db-schema** | Database schema viewer |
177
+ | **git-stats** | Git repository statistics |
178
+ | **git-log-pretty** | Pretty git log viewer |
179
+ | **git-branch-cleaner** | Clean up stale branches |
180
+ | **env-diff** | Compare .env files |
181
+ | **env-template** | Generate .env template files |
182
+ | **env-manager** | Environment variable manager |
183
+ | **cron** | Cron expression parser & next-run calculator |
184
+ | **cron-pretty** | Human-readable cron descriptions |
185
+ | **crontab-helper** | Crontab helper |
186
+ | **config-validator** | Configuration file validator |
187
+ | **colors** | 256-color table & HEX to RGB conversion |
188
+ | **url-parse** | URL parser & debugger |
189
+ | **random** | Random number/data generation |
190
+ | **random-string** | Random string generator |
191
+ | **fmt** | Code/text formatter — whitespace, EOF newline, indent |
192
+ | **template** | Simple template engine |
193
+ | **docker-helper** | Docker container helper |
194
+ | **api-tester** | HTTP API testing tool |
195
+ | **http-status** | HTTP status code reference |
196
+ | **http-headers** | HTTP header inspector |
197
+ | **changelog-gen** | Changelog generator |
198
+ | **audit-log** | Log audit trail utility |
199
+
200
+ ### Creative & Productivity
201
+
202
+ | Tool | Description |
203
+ |------|-------------|
204
+ | **nb** | Command-line notebook (JSON storage, full-text search) |
205
+ | **ren** | Batch file renamer (prefix/suffix/regex/numbering) |
206
+ | **timer** | Countdown timer & stopwatch |
207
+ | **timer-pro** | Advanced timer with intervals |
208
+ | **pomodoro** | Pomodoro timer with notifications |
209
+ | **stopwatch** | Simple stopwatch |
210
+ | **treedir** | Directory tree visualizer |
211
+ | **tree** | Alternative directory tree |
212
+ | **qr-cli** | QR code generator |
213
+ | **qrcode** | QR code encoder/decoder |
214
+ | **ascii-banner** | ASCII banner generator |
215
+ | **ascii-gen** | ASCII art generator |
216
+ | **figlet-cli** | Figlet-style text renderer |
217
+ | **banner** | Banner text printer |
218
+ | **cowsay** | Cowsay-style text bubbles |
219
+ | **quote** | Random quote display |
220
+ | **joke** | Random joke generator |
221
+ | **rainbow** | Rainbow-colored text output |
222
+ | **colorize** | Text colorizer |
223
+ | **spinner** | Terminal spinner animation |
224
+ | **reminder** | Set terminal reminders |
225
+ | **todo-cli** | Simple todo list manager |
226
+ | **bookmark** | URL bookmark manager |
227
+ | **note-taker** | Quick note taker |
228
+ | **clipboard** | Clipboard integration |
229
+ | **key-value-store** | Simple key-value database |
230
+ | **dice-roll** | Dice roll simulator |
231
+ | **screenshot-cli** | Screenshot capture |
232
+ | **screen-recorder** | Terminal session recorder |
233
+ | **image-meta** | Image metadata extractor |
234
+ | **pdf-info** | PDF metadata reader |
235
+ | **pdf-text** | PDF text extraction |
236
+ | **web-download** | Web resource downloader |
237
+ | **search-history** | Search history manager |
238
+ | **dt** | Date/time format converter (timestamps, timezones) |
239
+ | **ipcalc** | IP address calculator |
240
+ | **log-tail** | Log tailing utility |
241
+ | **log-analyzer** | Log pattern analyzer |
242
+
243
+ ### Flagship Projects
244
+
245
+ Nine flagship projects ship as integrated CLI+TUI suites within evolver-tools:
246
+
247
+ | Tool | Description |
248
+ |------|-------------|
249
+ | **sysmon-pro** | System monitor: CPU, memory, disk, processes, network — CLI+TUI |
250
+ | **net-analyzer** | Network analysis: ping, trace, port scan, DNS — CLI+TUI |
251
+ | **log-hawk** | Log analysis: parse, filter, tail, stats — CLI+TUI |
252
+ | **dev-dashboard** | Developer dashboard: git, system, ports, processes — CLI+TUI |
253
+ | **db-mate** | Database management: SQLite browser, schema, queries — CLI+TUI |
254
+ | **media-studio** | Media utilities: QR, ASCII art, banner, Morse, figlet — CLI+TUI |
255
+ | **config-vault** | Config security: validate, encrypt, scan secrets — CLI+TUI |
256
+ | **crypto-box** | Security: encrypt, hash, password, OTP, SSL — CLI+TUI |
257
+ | **code-auditor** | Code analysis: complexity, security, style, deps — CLI+TUI |
258
+
259
+ ## Requirements
260
+
261
+ - Python 3.8+
262
+ - No external dependencies for 230 of 233 tools (stdlib only)
263
+ - A few tools (sysmon, sysmon-pro, etc.) optionally use psutil
264
+ - Network-dependent tools (ipinfo, weather, etc.) use public APIs
265
+
266
+ ## Pricing
267
+
268
+ evolver-tools is **MIT open source** and free forever for all tools.
269
+
270
+ | Tier | Price | What you get |
271
+ |------|-------|-------------|
272
+ | **Free (MIT)** | ¥0 | All 233+ tools, full source, forever |
273
+ | **Full Suite** | ¥79 one-time | All tools + priority support + early access + name in credits |
274
+ | **Sponsor** | ¥5/month | GitHub Sponsors badge + Discord + vote on priorities |
275
+ | **Enterprise Basic** | ¥500/year | Custom tool development |
276
+ | **Enterprise Premium** | ¥2,000/year | Dedicated maintenance + 24h emergency fixes |
277
+ | **Enterprise Ultimate** | ¥5,000/year | Full source license + unlimited custom dev + white-label |
278
+
279
+ 👉 [View full pricing page](https://evolver-dev.github.io/evolver-tools/pricing/) — feature comparison, testimonials, and FAQ.
280
+
281
+ Support the project via one-time purchase (¥79) or monthly sponsorship on [GitHub Sponsors](https://github.com/sponsors/evolver-dev).
282
+
283
+ ## Links
284
+
285
+ - **GitHub**: https://github.com/evolver-dev/evolver-tools
286
+ - **PyPI**: https://pypi.org/project/evolver-tools/
287
+ - **Pricing**: https://evolver-dev.github.io/evolver-tools/pricing.html
288
+ - **Homepage**: https://evolver-dev.github.io/evolver-tools
289
+
290
+ ## License
291
+
292
+ MIT — see [LICENSE](LICENSE) for details.
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "evolver-tools"
7
- version = "27.0.0"
8
- description = "218 CLI tools + 9 flagship projects — one pip install"
7
+ version = "30.0.0"
8
+ description = "233 CLI tools + 9 flagship projects — one pip install"
9
9
  readme = "README.md"
10
10
  license = "MIT"
11
11
  requires-python = ">=3.8"
@@ -1,4 +1,4 @@
1
1
  """evolver-tools: 23 CLI tools in one package."""
2
- __version__ = "27.0.0"
2
+ __version__ = "27.0.1"
3
3
 
4
4
  from .autoreg import auto_discover
@@ -14,7 +14,7 @@ from evolver_tools.autoreg import auto_discover
14
14
  def list_tools():
15
15
  """Display all available tools."""
16
16
  tools = auto_discover()
17
- print(f'\x1b[1;36m===== EVOLVER Tools v27.0.0 =====\x1b[0m')
17
+ print(f'\x1b[1;36m===== EVOLVER Tools v30.0.0 =====\x1b[0m')
18
18
  print()
19
19
  for name, info in sorted(tools.items()):
20
20
  print(f' \033[1;33m{name:<18}\033[0m {info["desc"]}')
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env python3
2
- """banner — ASCII art banner generator.
3
- Usage: banner [--font=block|simple|wide|big] [--width=N] <text>
4
- echo text | banner [--font=...] [--width=N]
2
+ """ascii-banner — ASCII art banner generator.
3
+ Usage: ascii-banner [--font=block|simple|wide|big] [--width=N] <text>
4
+ echo text | ascii-banner [--font=...] [--width=N]
5
5
 
6
6
  Four built-in fonts:
7
7
  block – hash-filled block letters (#)
@@ -290,7 +290,7 @@ def main():
290
290
  print_banner(text, font_name, width)
291
291
 
292
292
 
293
- TOOL_META = {"name": "banner", "func": "main", "desc": "ASCII art banner generator — block, simple, wide, big fonts"}
293
+ TOOL_META = {"name": "ascii-banner", "func": "main", "desc": "ASCII art banner generator — block, simple, wide, big fonts"}
294
294
 
295
295
  if __name__ == '__main__':
296
296
  main()