replimap 0.1.36__tar.gz → 0.3.8__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 (309) hide show
  1. {replimap-0.1.36 → replimap-0.3.8}/LICENSE +2 -2
  2. {replimap-0.1.36 → replimap-0.3.8}/PKG-INFO +34 -15
  3. {replimap-0.1.36 → replimap-0.3.8}/README.md +25 -8
  4. {replimap-0.1.36 → replimap-0.3.8}/pyproject.toml +9 -6
  5. {replimap-0.1.36 → replimap-0.3.8}/replimap/__init__.py +1 -1
  6. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/__init__.py +9 -0
  7. replimap-0.3.8/replimap/cli/commands/analyze.py +578 -0
  8. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/audit.py +12 -2
  9. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/cache.py +114 -52
  10. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/clone.py +143 -3
  11. replimap-0.3.8/replimap/cli/commands/completion.py +95 -0
  12. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/cost.py +21 -4
  13. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/deps.py +18 -5
  14. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/dr.py +7 -2
  15. replimap-0.3.8/replimap/cli/commands/drift.py +785 -0
  16. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/graph.py +18 -2
  17. replimap-0.3.8/replimap/cli/commands/iam.py +463 -0
  18. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/load.py +33 -6
  19. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/profiles.py +4 -2
  20. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/remediate.py +5 -2
  21. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/scan.py +42 -4
  22. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/transfer.py +5 -2
  23. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/trends.py +6 -2
  24. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/unused.py +12 -11
  25. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/validate.py +9 -3
  26. replimap-0.3.8/replimap/cli/completers.py +127 -0
  27. replimap-0.3.8/replimap/cli/completion.py +467 -0
  28. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/error_handler.py +6 -2
  29. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/tips.py +1 -1
  30. replimap-0.3.8/replimap/core/analysis/__init__.py +31 -0
  31. replimap-0.3.8/replimap/core/analysis/centrality.py +702 -0
  32. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/browser.py +75 -2
  33. replimap-0.3.8/replimap/core/cache_manager.py +623 -0
  34. replimap-0.3.8/replimap/core/concurrency.py +300 -0
  35. replimap-0.3.8/replimap/core/constants.py +44 -0
  36. replimap-0.3.8/replimap/core/drift/__init__.py +44 -0
  37. replimap-0.3.8/replimap/core/drift/detector.py +1485 -0
  38. replimap-0.3.8/replimap/core/enrichment/__init__.py +51 -0
  39. replimap-0.3.8/replimap/core/enrichment/enricher.py +370 -0
  40. replimap-0.3.8/replimap/core/enrichment/metadata_extractor.py +451 -0
  41. replimap-0.3.8/replimap/core/enrichment/network_analyzer.py +365 -0
  42. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/errors.py +321 -0
  43. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/first_run.py +5 -1
  44. replimap-0.3.8/replimap/core/formatters/__init__.py +25 -0
  45. replimap-0.3.8/replimap/core/formatters/sarif.py +1435 -0
  46. replimap-0.3.8/replimap/core/graph/__init__.py +22 -0
  47. replimap-0.3.8/replimap/core/graph/algorithms.py +411 -0
  48. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/graph_engine.py +32 -0
  49. replimap-0.3.8/replimap/core/pagination.py +634 -0
  50. replimap-0.3.8/replimap/core/pagination_config.py +701 -0
  51. replimap-0.3.8/replimap/core/rate_limiter.py +473 -0
  52. replimap-0.3.8/replimap/core/resilience/__init__.py +49 -0
  53. replimap-0.3.8/replimap/core/resilience/circuit_breaker.py +529 -0
  54. replimap-0.3.8/replimap/core/resilience/errors/__init__.py +58 -0
  55. replimap-0.3.8/replimap/core/resilience/errors/classifier.py +435 -0
  56. replimap-0.3.8/replimap/core/resilience/errors/loader.py +320 -0
  57. replimap-0.3.8/replimap/core/resilience/errors/rules.py +357 -0
  58. replimap-0.3.8/replimap/core/security/__init__.py +83 -0
  59. replimap-0.3.8/replimap/core/security/credential_checker.py +323 -0
  60. replimap-0.3.8/replimap/core/security/drift.py +367 -0
  61. replimap-0.3.8/replimap/core/security/global_sanitizer.py +554 -0
  62. replimap-0.3.8/replimap/core/security/iam_generator.py +1485 -0
  63. replimap-0.3.8/replimap/core/security/patterns.py +376 -0
  64. replimap-0.3.8/replimap/core/security/redactor.py +166 -0
  65. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/security/scrubber.py +197 -0
  66. replimap-0.3.8/replimap/core/security/session_manager.py +569 -0
  67. replimap-0.3.8/replimap/core/security/storage.py +305 -0
  68. replimap-0.3.8/replimap/core/unified_storage/__init__.py +76 -0
  69. replimap-0.3.8/replimap/core/unified_storage/adapter.py +685 -0
  70. replimap-0.3.8/replimap/core/unified_storage/base.py +434 -0
  71. replimap-0.3.8/replimap/core/unified_storage/engine.py +1019 -0
  72. replimap-0.3.8/replimap/core/unified_storage/migrate.py +329 -0
  73. replimap-0.3.8/replimap/core/unified_storage/sqlite_backend.py +1160 -0
  74. replimap-0.3.8/replimap/licensing/crypto/__init__.py +21 -0
  75. replimap-0.3.8/replimap/licensing/crypto/keys.py +204 -0
  76. replimap-0.3.8/replimap/licensing/crypto/time_validator.py +266 -0
  77. replimap-0.3.8/replimap/licensing/developer.py +272 -0
  78. {replimap-0.1.36 → replimap-0.3.8}/replimap/licensing/gates.py +1 -1
  79. replimap-0.3.8/replimap/licensing/secure_manager.py +513 -0
  80. replimap-0.3.8/replimap/licensing/secure_models.py +370 -0
  81. replimap-0.3.8/replimap/licensing/server/__init__.py +17 -0
  82. replimap-0.3.8/replimap/licensing/server/signer.py +318 -0
  83. replimap-0.3.8/replimap/licensing/verifier.py +347 -0
  84. replimap-0.3.8/replimap/migrations/__init__.py +20 -0
  85. replimap-0.3.8/replimap/migrations/sanitize_cache.py +248 -0
  86. replimap-0.3.8/replimap/renderers/backend.py +496 -0
  87. replimap-0.3.8/replimap/renderers/import_generator.py +584 -0
  88. replimap-0.3.8/replimap/renderers/preloader.py +672 -0
  89. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/terraform.py +93 -0
  90. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/terraform_v2.py +9 -9
  91. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/base.py +160 -1
  92. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/compute_scanner.py +7 -4
  93. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/ec2_scanner.py +15 -2
  94. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/elasticache_scanner.py +7 -2
  95. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/iam_scanner.py +12 -3
  96. replimap-0.3.8/replimap/scanners/implementations/__init__.py +20 -0
  97. replimap-0.3.8/replimap/scanners/implementations/s3_scanner.py +304 -0
  98. replimap-0.3.8/replimap/scanners/implementations/vpc_scanner.py +447 -0
  99. replimap-0.3.8/replimap/scanners/legacy_adapter.py +338 -0
  100. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/messaging_scanner.py +3 -2
  101. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/monitoring_scanner.py +4 -1
  102. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/networking_scanner.py +6 -5
  103. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/rds_scanner.py +3 -2
  104. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/s3_scanner.py +6 -0
  105. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/storage_scanner.py +5 -5
  106. replimap-0.3.8/replimap/scanners/unified_base.py +501 -0
  107. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/vpc_scanner.py +7 -4
  108. replimap-0.3.8/scripts/record_cassettes.py +232 -0
  109. replimap-0.1.36/replimap/cli/commands/drift.py +0 -337
  110. replimap-0.1.36/replimap/core/cache_manager.py +0 -397
  111. replimap-0.1.36/replimap/core/concurrency.py +0 -113
  112. replimap-0.1.36/replimap/core/security/__init__.py +0 -10
  113. replimap-0.1.36/replimap/renderers/import_generator.py +0 -401
  114. {replimap-0.1.36 → replimap-0.3.8}/.gitignore +0 -0
  115. {replimap-0.1.36 → replimap-0.3.8}/MANIFEST.in +0 -0
  116. {replimap-0.1.36 → replimap-0.3.8}/docs/assets/demo.gif +0 -0
  117. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/__init__.py +0 -0
  118. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/checkov_runner.py +0 -0
  119. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/classifier.py +0 -0
  120. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/engine.py +0 -0
  121. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/exporters.py +0 -0
  122. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/fix_suggestions.py +0 -0
  123. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/hooks.py +0 -0
  124. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/models.py +0 -0
  125. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/__init__.py +0 -0
  126. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/generator.py +0 -0
  127. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/models.py +0 -0
  128. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/templates/__init__.py +0 -0
  129. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/templates/ec2.py +0 -0
  130. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/templates/kms.py +0 -0
  131. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/templates/rds.py +0 -0
  132. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/remediation/templates/s3.py +0 -0
  133. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/renderer.py +0 -0
  134. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/reporter.py +0 -0
  135. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/soc2_mapping.py +0 -0
  136. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/templates/audit_report.html.j2 +0 -0
  137. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/terminal_reporter.py +0 -0
  138. {replimap-0.1.36 → replimap-0.3.8}/replimap/audit/trust_center.py +0 -0
  139. {replimap-0.1.36 → replimap-0.3.8}/replimap/blast/__init__.py +0 -0
  140. {replimap-0.1.36 → replimap-0.3.8}/replimap/blast/graph_builder.py +0 -0
  141. {replimap-0.1.36 → replimap-0.3.8}/replimap/blast/impact_calculator.py +0 -0
  142. {replimap-0.1.36 → replimap-0.3.8}/replimap/blast/models.py +0 -0
  143. {replimap-0.1.36 → replimap-0.3.8}/replimap/blast/reporter.py +0 -0
  144. {replimap-0.1.36 → replimap-0.3.8}/replimap/cache/__init__.py +0 -0
  145. {replimap-0.1.36 → replimap-0.3.8}/replimap/cache/snapshots.py +0 -0
  146. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/__init__.py +0 -0
  147. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/license.py +0 -0
  148. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/snapshot.py +0 -0
  149. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/trust_center.py +0 -0
  150. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/commands/upgrade.py +0 -0
  151. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/__init__.py +0 -0
  152. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/aws_session.py +0 -0
  153. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/console.py +0 -0
  154. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/console_links.py +0 -0
  155. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/helpers.py +0 -0
  156. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/options.py +0 -0
  157. {replimap-0.1.36 → replimap-0.3.8}/replimap/cli/utils/update_checker.py +0 -0
  158. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/__init__.py +0 -0
  159. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/async_aws.py +0 -0
  160. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/aws_config.py +0 -0
  161. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/bootstrap.py +0 -0
  162. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/cache.py +0 -0
  163. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/circuit_breaker.py +0 -0
  164. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/config.py +0 -0
  165. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/filters.py +0 -0
  166. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/graph_tracer.py +0 -0
  167. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/identity_resolver.py +0 -0
  168. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/logging.py +0 -0
  169. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/models.py +0 -0
  170. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/naming.py +0 -0
  171. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/retry.py +0 -0
  172. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/sanitizer.py +0 -0
  173. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/scope.py +0 -0
  174. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/selection.py +0 -0
  175. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/signals.py +0 -0
  176. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/state.py +0 -0
  177. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/storage.py +0 -0
  178. {replimap-0.1.36 → replimap-0.3.8}/replimap/core/topology_constraints.py +0 -0
  179. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/__init__.py +0 -0
  180. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/au_pricing.py +0 -0
  181. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/enterprise_pricing.py +0 -0
  182. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/estimator.py +0 -0
  183. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/explorer.py +0 -0
  184. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/local_rightsizer.py +0 -0
  185. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/models.py +0 -0
  186. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/pricing.py +0 -0
  187. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/pricing_engine.py +0 -0
  188. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/reporter.py +0 -0
  189. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/ri_aware.py +0 -0
  190. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/rightsizer.py +0 -0
  191. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/savings_plans.py +0 -0
  192. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/transfer_analyzer.py +0 -0
  193. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/trends.py +0 -0
  194. {replimap-0.1.36 → replimap-0.3.8}/replimap/cost/unused_detector.py +0 -0
  195. {replimap-0.1.36 → replimap-0.3.8}/replimap/dependencies/__init__.py +0 -0
  196. {replimap-0.1.36 → replimap-0.3.8}/replimap/dependencies/graph_builder.py +0 -0
  197. {replimap-0.1.36 → replimap-0.3.8}/replimap/dependencies/impact_calculator.py +0 -0
  198. {replimap-0.1.36 → replimap-0.3.8}/replimap/dependencies/models.py +0 -0
  199. {replimap-0.1.36 → replimap-0.3.8}/replimap/dependencies/reporter.py +0 -0
  200. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/__init__.py +0 -0
  201. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/__init__.py +0 -0
  202. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/asg.py +0 -0
  203. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/ec2.py +0 -0
  204. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/elasticache.py +0 -0
  205. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/elb.py +0 -0
  206. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/iam_role.py +0 -0
  207. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/lambda_func.py +0 -0
  208. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/rds.py +0 -0
  209. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/s3.py +0 -0
  210. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/analyzers/security_group.py +0 -0
  211. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/base_analyzer.py +0 -0
  212. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/blast_radius.py +0 -0
  213. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/models.py +0 -0
  214. {replimap-0.1.36 → replimap-0.3.8}/replimap/deps/reporter.py +0 -0
  215. {replimap-0.1.36 → replimap-0.3.8}/replimap/dr/__init__.py +0 -0
  216. {replimap-0.1.36 → replimap-0.3.8}/replimap/dr/readiness.py +0 -0
  217. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/__init__.py +0 -0
  218. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/comparator.py +0 -0
  219. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/engine.py +0 -0
  220. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/models.py +0 -0
  221. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/normalizer.py +0 -0
  222. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/plan_engine.py +0 -0
  223. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/reporter.py +0 -0
  224. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/state_parser.py +0 -0
  225. {replimap-0.1.36 → replimap-0.3.8}/replimap/drift/templates/drift_report.html.j2 +0 -0
  226. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/__init__.py +0 -0
  227. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/aggregation.py +0 -0
  228. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/blast_radius.py +0 -0
  229. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/builder.py +0 -0
  230. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/cost_overlay.py +0 -0
  231. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/cross_region.py +0 -0
  232. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/drift.py +0 -0
  233. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/environment.py +0 -0
  234. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/filters.py +0 -0
  235. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/formatters/__init__.py +0 -0
  236. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/formatters/d3.py +0 -0
  237. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/formatters/json_format.py +0 -0
  238. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/formatters/mermaid.py +0 -0
  239. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/global_context.py +0 -0
  240. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/grouper.py +0 -0
  241. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/layout.py +0 -0
  242. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/link_classification.py +0 -0
  243. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/multi_region.py +0 -0
  244. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/naming.py +0 -0
  245. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/orphan_detection.py +0 -0
  246. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/summary_links.py +0 -0
  247. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/templates/graph.html.j2 +0 -0
  248. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/tool_modes.py +0 -0
  249. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/views.py +0 -0
  250. {replimap-0.1.36 → replimap-0.3.8}/replimap/graph/visualizer.py +0 -0
  251. {replimap-0.1.36 → replimap-0.3.8}/replimap/licensing/__init__.py +0 -0
  252. {replimap-0.1.36 → replimap-0.3.8}/replimap/licensing/manager.py +0 -0
  253. {replimap-0.1.36 → replimap-0.3.8}/replimap/licensing/models.py +0 -0
  254. {replimap-0.1.36 → replimap-0.3.8}/replimap/licensing/prompts.py +0 -0
  255. {replimap-0.1.36 → replimap-0.3.8}/replimap/licensing/tracker.py +0 -0
  256. {replimap-0.1.36 → replimap-0.3.8}/replimap/main.py +0 -0
  257. {replimap-0.1.36 → replimap-0.3.8}/replimap/patterns/__init__.py +0 -0
  258. {replimap-0.1.36 → replimap-0.3.8}/replimap/patterns/local_module.py +0 -0
  259. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/__init__.py +0 -0
  260. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/audit_annotator.py +0 -0
  261. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/base.py +0 -0
  262. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/cloudformation.py +0 -0
  263. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/file_router.py +0 -0
  264. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/name_generator.py +0 -0
  265. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/pulumi.py +0 -0
  266. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/refactoring.py +0 -0
  267. {replimap-0.1.36 → replimap-0.3.8}/replimap/renderers/variable_extractor.py +0 -0
  268. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/__init__.py +0 -0
  269. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/async_base.py +0 -0
  270. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/async_vpc_scanner.py +0 -0
  271. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/incremental.py +0 -0
  272. {replimap-0.1.36 → replimap-0.3.8}/replimap/scanners/unified_scanners.py +0 -0
  273. {replimap-0.1.36 → replimap-0.3.8}/replimap/snapshot/__init__.py +0 -0
  274. {replimap-0.1.36 → replimap-0.3.8}/replimap/snapshot/differ.py +0 -0
  275. {replimap-0.1.36 → replimap-0.3.8}/replimap/snapshot/models.py +0 -0
  276. {replimap-0.1.36 → replimap-0.3.8}/replimap/snapshot/reporter.py +0 -0
  277. {replimap-0.1.36 → replimap-0.3.8}/replimap/snapshot/store.py +0 -0
  278. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/autoscaling_group.tf.j2 +0 -0
  279. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/db_parameter_group.tf.j2 +0 -0
  280. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/db_subnet_group.tf.j2 +0 -0
  281. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/ebs_volume.tf.j2 +0 -0
  282. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/ec2_instance.tf.j2 +0 -0
  283. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/elasticache_cluster.tf.j2 +0 -0
  284. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/elasticache_subnet_group.tf.j2 +0 -0
  285. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/internet_gateway.tf.j2 +0 -0
  286. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/launch_template.tf.j2 +0 -0
  287. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/lb.tf.j2 +0 -0
  288. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/lb_listener.tf.j2 +0 -0
  289. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/lb_target_group.tf.j2 +0 -0
  290. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/nat_gateway.tf.j2 +0 -0
  291. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/network_acl.tf.j2 +0 -0
  292. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/rds_instance.tf.j2 +0 -0
  293. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/route_table.tf.j2 +0 -0
  294. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/s3_bucket.tf.j2 +0 -0
  295. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/s3_bucket_policy.tf.j2 +0 -0
  296. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/security_group.tf.j2 +0 -0
  297. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/sns_topic.tf.j2 +0 -0
  298. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/sqs_queue.tf.j2 +0 -0
  299. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/subnet.tf.j2 +0 -0
  300. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/vpc.tf.j2 +0 -0
  301. {replimap-0.1.36 → replimap-0.3.8}/replimap/templates/vpc_endpoint.tf.j2 +0 -0
  302. {replimap-0.1.36 → replimap-0.3.8}/replimap/transformers/__init__.py +0 -0
  303. {replimap-0.1.36 → replimap-0.3.8}/replimap/transformers/base.py +0 -0
  304. {replimap-0.1.36 → replimap-0.3.8}/replimap/transformers/downsizer.py +0 -0
  305. {replimap-0.1.36 → replimap-0.3.8}/replimap/transformers/network_remapper.py +0 -0
  306. {replimap-0.1.36 → replimap-0.3.8}/replimap/transformers/renamer.py +0 -0
  307. {replimap-0.1.36 → replimap-0.3.8}/replimap/transformers/sanitizer.py +0 -0
  308. {replimap-0.1.36 → replimap-0.3.8}/replimap/ui/__init__.py +0 -0
  309. {replimap-0.1.36 → replimap-0.3.8}/replimap/ui/rich_output.py +0 -0
@@ -1,6 +1,6 @@
1
1
  RepliMap Proprietary License
2
2
 
3
- Copyright (c) 2024-2025 RepliMap. All rights reserved.
3
+ Copyright (c) 2024-2026 RepliMap. All rights reserved.
4
4
 
5
5
  This software and associated documentation files (the "Software") are the
6
6
  proprietary property of RepliMap and are protected by copyright law and
@@ -19,7 +19,7 @@ Without a valid commercial license, you may NOT:
19
19
 
20
20
  COMMERCIAL LICENSING:
21
21
  For commercial use, enterprise licensing, or custom deployments, please
22
- contact: licensing@replimap.io
22
+ contact: david@replimap.com
23
23
 
24
24
  DISCLAIMER:
25
25
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
@@ -1,13 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: replimap
3
- Version: 0.1.36
4
- Summary: AWS Environment Replication Tool - Clone production to staging in minutes
5
- Project-URL: Homepage, https://github.com/RepliMap/replimap
6
- Project-URL: Documentation, https://github.com/RepliMap/replimap#readme
7
- Project-URL: Repository, https://github.com/RepliMap/replimap.git
3
+ Version: 0.3.8
4
+ Summary: AWS Infrastructure Intelligence Engine Scan, Understand, Transform
5
+ Project-URL: Homepage, https://replimap.com
6
+ Project-URL: Documentation, https://replimap.com/docs
7
+ Project-URL: Repository, https://github.com/RepliMap/replimap
8
8
  Project-URL: Issues, https://github.com/RepliMap/replimap/issues
9
- Author-email: RepliMap Team <team@replimap.com>
10
- Maintainer-email: RepliMap Team <team@replimap.com>
9
+ Project-URL: Changelog, https://github.com/RepliMap/replimap/blob/main/CHANGELOG.md
10
+ Author-email: David Lu <david@replimap.com>
11
+ Maintainer-email: David Lu <david@replimap.com>
11
12
  License: Proprietary
12
13
  License-File: LICENSE
13
14
  Keywords: audit,aws,compliance,devops,infrastructure,replication,security,soc2,staging,terraform
@@ -46,6 +47,7 @@ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
46
47
  Requires-Dist: pytest>=7.0.0; extra == 'dev'
47
48
  Requires-Dist: ruff>=0.1.0; extra == 'dev'
48
49
  Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
50
+ Requires-Dist: vcrpy>=6.0.0; extra == 'dev'
49
51
  Description-Content-Type: text/markdown
50
52
 
51
53
  <!--
@@ -73,10 +75,16 @@ Description-Content-Type: text/markdown
73
75
  </p>
74
76
 
75
77
  <p align="center">
76
- <img src="https://img.shields.io/pypi/v/replimap?color=blue&label=PyPI" alt="PyPI" />
78
+ <a href="https://pypi.org/project/replimap/">
79
+ <img src="https://img.shields.io/pypi/v/replimap?color=blue&label=PyPI" alt="PyPI" />
80
+ </a>
77
81
  <img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="Python 3.10+" />
78
- <img src="https://img.shields.io/github/actions/workflow/status/RepliMap/replimap/auto-release.yml?label=build" alt="Build" />
79
- <img src="https://img.shields.io/badge/license-BSL--1.1-green.svg" alt="License" />
82
+ <a href="https://github.com/RepliMap/replimap/actions/workflows/auto-release.yml">
83
+ <img src="https://github.com/RepliMap/replimap/actions/workflows/auto-release.yml/badge.svg?branch=main" alt="Build" />
84
+ </a>
85
+ <a href="https://github.com/RepliMap/replimap/blob/main/LICENSE">
86
+ <img src="https://img.shields.io/badge/license-BSL--1.1-green.svg" alt="License" />
87
+ </a>
80
88
  </p>
81
89
 
82
90
  <p align="center">
@@ -397,6 +405,7 @@ terraform plan
397
405
  |---------|-------------|
398
406
  | `replimap scan` | Scan AWS resources and build dependency graph |
399
407
  | `replimap clone` | Clone AWS environment to Infrastructure-as-Code |
408
+ | `replimap analyze` | Analyze graph for critical resources, SPOFs, blast radius |
400
409
  | `replimap graph` | Generate visual dependency graph |
401
410
  | `replimap deps` | Explore dependencies for a resource |
402
411
  | `replimap cost` | Estimate monthly AWS costs |
@@ -425,6 +434,7 @@ Global Options:
425
434
  Commands:
426
435
  scan Scan AWS resources and build dependency graph
427
436
  clone Clone AWS environment to Infrastructure-as-Code
437
+ analyze Analyze graph for critical resources, SPOFs, blast radius
428
438
  graph Generate visual dependency graph of AWS infrastructure
429
439
  deps Explore dependencies for a resource
430
440
  cost Estimate monthly AWS costs for your infrastructure
@@ -657,12 +667,21 @@ Run your first scan in 2 minutes. See what you've been missing.
657
667
 
658
668
  ---
659
669
 
660
- ## 💬 Support
670
+ ## Support & Contact
661
671
 
662
- - 📖 [Documentation](https://docs.replimap.com)
663
- - 💬 [GitHub Discussions](https://github.com/RepliMap/replimap/discussions)
664
- - 🐛 [Issue Tracker](https://github.com/RepliMap/replimap/issues)
665
- - 📧 [Email Support](mailto:support@replimap.com)
672
+ | Purpose | Contact |
673
+ |---------|---------|
674
+ | General inquiries | [hello@replimap.com](mailto:hello@replimap.com) |
675
+ | Technical support | [support@replimap.com](mailto:support@replimap.com) |
676
+ | Enterprise & Sales | [david@replimap.com](mailto:david@replimap.com) |
677
+ | Bug reports | [GitHub Issues](https://github.com/RepliMap/replimap/issues) |
678
+ | Discussions | [GitHub Discussions](https://github.com/RepliMap/replimap/discussions) |
679
+
680
+ ## Links
681
+
682
+ - Website: [replimap.com](https://replimap.com)
683
+ - Documentation: [replimap.com/docs](https://replimap.com/docs)
684
+ - Pricing: [replimap.com/pricing](https://replimap.com/pricing)
666
685
 
667
686
  ---
668
687
 
@@ -23,10 +23,16 @@
23
23
  </p>
24
24
 
25
25
  <p align="center">
26
- <img src="https://img.shields.io/pypi/v/replimap?color=blue&label=PyPI" alt="PyPI" />
26
+ <a href="https://pypi.org/project/replimap/">
27
+ <img src="https://img.shields.io/pypi/v/replimap?color=blue&label=PyPI" alt="PyPI" />
28
+ </a>
27
29
  <img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="Python 3.10+" />
28
- <img src="https://img.shields.io/github/actions/workflow/status/RepliMap/replimap/auto-release.yml?label=build" alt="Build" />
29
- <img src="https://img.shields.io/badge/license-BSL--1.1-green.svg" alt="License" />
30
+ <a href="https://github.com/RepliMap/replimap/actions/workflows/auto-release.yml">
31
+ <img src="https://github.com/RepliMap/replimap/actions/workflows/auto-release.yml/badge.svg?branch=main" alt="Build" />
32
+ </a>
33
+ <a href="https://github.com/RepliMap/replimap/blob/main/LICENSE">
34
+ <img src="https://img.shields.io/badge/license-BSL--1.1-green.svg" alt="License" />
35
+ </a>
30
36
  </p>
31
37
 
32
38
  <p align="center">
@@ -347,6 +353,7 @@ terraform plan
347
353
  |---------|-------------|
348
354
  | `replimap scan` | Scan AWS resources and build dependency graph |
349
355
  | `replimap clone` | Clone AWS environment to Infrastructure-as-Code |
356
+ | `replimap analyze` | Analyze graph for critical resources, SPOFs, blast radius |
350
357
  | `replimap graph` | Generate visual dependency graph |
351
358
  | `replimap deps` | Explore dependencies for a resource |
352
359
  | `replimap cost` | Estimate monthly AWS costs |
@@ -375,6 +382,7 @@ Global Options:
375
382
  Commands:
376
383
  scan Scan AWS resources and build dependency graph
377
384
  clone Clone AWS environment to Infrastructure-as-Code
385
+ analyze Analyze graph for critical resources, SPOFs, blast radius
378
386
  graph Generate visual dependency graph of AWS infrastructure
379
387
  deps Explore dependencies for a resource
380
388
  cost Estimate monthly AWS costs for your infrastructure
@@ -607,12 +615,21 @@ Run your first scan in 2 minutes. See what you've been missing.
607
615
 
608
616
  ---
609
617
 
610
- ## 💬 Support
618
+ ## Support & Contact
611
619
 
612
- - 📖 [Documentation](https://docs.replimap.com)
613
- - 💬 [GitHub Discussions](https://github.com/RepliMap/replimap/discussions)
614
- - 🐛 [Issue Tracker](https://github.com/RepliMap/replimap/issues)
615
- - 📧 [Email Support](mailto:support@replimap.com)
620
+ | Purpose | Contact |
621
+ |---------|---------|
622
+ | General inquiries | [hello@replimap.com](mailto:hello@replimap.com) |
623
+ | Technical support | [support@replimap.com](mailto:support@replimap.com) |
624
+ | Enterprise & Sales | [david@replimap.com](mailto:david@replimap.com) |
625
+ | Bug reports | [GitHub Issues](https://github.com/RepliMap/replimap/issues) |
626
+ | Discussions | [GitHub Discussions](https://github.com/RepliMap/replimap/discussions) |
627
+
628
+ ## Links
629
+
630
+ - Website: [replimap.com](https://replimap.com)
631
+ - Documentation: [replimap.com/docs](https://replimap.com/docs)
632
+ - Pricing: [replimap.com/pricing](https://replimap.com/pricing)
616
633
 
617
634
  ---
618
635
 
@@ -5,15 +5,15 @@ build-backend = "hatchling.build"
5
5
  [project]
6
6
  name = "replimap"
7
7
  dynamic = ["version"]
8
- description = "AWS Environment Replication Tool - Clone production to staging in minutes"
8
+ description = "AWS Infrastructure Intelligence Engine Scan, Understand, Transform"
9
9
  readme = "README.md"
10
10
  license = {text = "Proprietary"}
11
11
  requires-python = ">=3.10"
12
12
  authors = [
13
- {name = "RepliMap Team", email = "team@replimap.com"}
13
+ {name = "David Lu", email = "david@replimap.com"}
14
14
  ]
15
15
  maintainers = [
16
- {name = "RepliMap Team", email = "team@replimap.com"}
16
+ {name = "David Lu", email = "david@replimap.com"}
17
17
  ]
18
18
  keywords = [
19
19
  "aws",
@@ -60,6 +60,7 @@ dev = [
60
60
  "pytest>=7.0.0",
61
61
  "pytest-cov>=4.0.0",
62
62
  "pytest-asyncio>=0.21.0",
63
+ "vcrpy>=6.0.0",
63
64
  "mypy>=1.0.0",
64
65
  "ruff>=0.1.0",
65
66
  "boto3-stubs[ec2,s3,rds,sts]>=1.28.0",
@@ -77,10 +78,11 @@ dev = [
77
78
  replimap = "replimap.main:main"
78
79
 
79
80
  [project.urls]
80
- Homepage = "https://github.com/RepliMap/replimap"
81
- Documentation = "https://github.com/RepliMap/replimap#readme"
82
- Repository = "https://github.com/RepliMap/replimap.git"
81
+ Homepage = "https://replimap.com"
82
+ Documentation = "https://replimap.com/docs"
83
+ Repository = "https://github.com/RepliMap/replimap"
83
84
  Issues = "https://github.com/RepliMap/replimap/issues"
85
+ Changelog = "https://github.com/RepliMap/replimap/blob/main/CHANGELOG.md"
84
86
 
85
87
  [tool.hatch.build.targets.wheel]
86
88
  packages = ["replimap"]
@@ -108,6 +110,7 @@ dev = [
108
110
  "pytest>=7.0.0",
109
111
  "pytest-cov>=4.0.0",
110
112
  "pytest-asyncio>=0.21.0",
113
+ "vcrpy>=6.0.0",
111
114
  "mypy>=1.0.0",
112
115
  "ruff>=0.1.0",
113
116
  "hatch>=1.9.0",
@@ -5,5 +5,5 @@ Point at your Production AWS environment and generate a cost-optimized,
5
5
  safe Staging environment in minutes.
6
6
  """
7
7
 
8
- __version__ = "0.1.36"
8
+ __version__ = "0.3.8"
9
9
  __author__ = "RepliMap Team"
@@ -17,14 +17,17 @@ import typer
17
17
 
18
18
  # Import individual command modules
19
19
  from replimap.cli.commands import (
20
+ analyze,
20
21
  audit,
21
22
  cache,
22
23
  clone,
24
+ completion,
23
25
  cost,
24
26
  deps,
25
27
  dr,
26
28
  drift,
27
29
  graph,
30
+ iam,
28
31
  license,
29
32
  load,
30
33
  profiles,
@@ -53,6 +56,7 @@ def register_all_commands(app: typer.Typer) -> None:
53
56
  # Register main commands
54
57
  scan.register(app)
55
58
  clone.register(app)
59
+ analyze.register(app)
56
60
  load.register(app)
57
61
  profiles.register(app)
58
62
  audit.register(app)
@@ -68,17 +72,20 @@ def register_all_commands(app: typer.Typer) -> None:
68
72
 
69
73
  # Register sub-command groups
70
74
  cache.register(app)
75
+ iam.register(app)
71
76
  license.register(app)
72
77
  upgrade.register(app)
73
78
  snapshot.register(app)
74
79
  trust_center.register(app)
75
80
  dr.register(app)
81
+ completion.register(app)
76
82
 
77
83
 
78
84
  __all__ = [
79
85
  "register_all_commands",
80
86
  "scan",
81
87
  "clone",
88
+ "analyze",
82
89
  "load",
83
90
  "profiles",
84
91
  "audit",
@@ -92,9 +99,11 @@ __all__ = [
92
99
  "trends",
93
100
  "transfer",
94
101
  "cache",
102
+ "iam",
95
103
  "license",
96
104
  "upgrade",
97
105
  "snapshot",
98
106
  "trust_center",
99
107
  "dr",
108
+ "completion",
100
109
  ]