terradev-cli 3.5.2__tar.gz → 3.7.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 (356) hide show
  1. {terradev_cli-3.5.2 → terradev_cli-3.7.0}/PKG-INFO +74 -72
  2. {terradev_cli-3.5.2 → terradev_cli-3.7.0}/README.md +51 -14
  3. terradev_cli-3.7.0/core/helm_generator.py +923 -0
  4. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/stripe_manager.py +90 -9
  5. terradev_cli-3.7.0/core/trace_viewer.py +157 -0
  6. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/training_orchestrator.py +162 -0
  7. terradev_cli-3.7.0/integrations/datadog_integration.py +688 -0
  8. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/__init__.py +7 -1
  9. terradev_cli-3.7.0/ml_services/guardrails_service.py +395 -0
  10. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kubernetes_enhanced.py +249 -13
  11. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kubernetes_service.py +4 -4
  12. terradev_cli-3.7.0/ml_services/phoenix_service.py +301 -0
  13. terradev_cli-3.7.0/ml_services/qdrant_service.py +253 -0
  14. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/vllm_service.py +484 -2
  15. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/setup.py +4 -4
  16. terradev_cli-3.7.0/terradev_cli/__init__.py +1 -0
  17. {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli/cli.py +982 -159
  18. {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli.egg-info/PKG-INFO +74 -72
  19. terradev_cli-3.7.0/terradev_cli.egg-info/SOURCES.txt +114 -0
  20. terradev_cli-3.7.0/terradev_cli.egg-info/not-zip-safe +1 -0
  21. terradev_cli-3.7.0/terradev_cli.egg-info/requires.txt +29 -0
  22. terradev_cli-3.7.0/terradev_cli.egg-info/top_level.txt +6 -0
  23. terradev_cli-3.5.2/.clawhubignore +0 -5
  24. terradev_cli-3.5.2/.ebextensions/python.config +0 -6
  25. terradev_cli-3.5.2/.env.example +0 -84
  26. terradev_cli-3.5.2/.env.template +0 -164
  27. terradev_cli-3.5.2/.github/workflows/ci.yml +0 -105
  28. terradev_cli-3.5.2/.github/workflows/deploy.yml +0 -30
  29. terradev_cli-3.5.2/.github/workflows/release.yml +0 -50
  30. terradev_cli-3.5.2/.github/workflows/static.yml +0 -42
  31. terradev_cli-3.5.2/BingSiteAuth.xml +0 -4
  32. terradev_cli-3.5.2/Dockerfile +0 -55
  33. terradev_cli-3.5.2/Dockerfile.hub +0 -70
  34. terradev_cli-3.5.2/LICENSE +0 -114
  35. terradev_cli-3.5.2/MANIFEST.in +0 -33
  36. terradev_cli-3.5.2/PAGES_README.md +0 -45
  37. terradev_cli-3.5.2/PROGRESS_UPDATE_JUPYTER.ipynb +0 -445
  38. terradev_cli-3.5.2/README_ACTION.md +0 -200
  39. terradev_cli-3.5.2/README_DOCKER.md +0 -287
  40. terradev_cli-3.5.2/README_JUPYTER.md +0 -382
  41. terradev_cli-3.5.2/README_long.md +0 -478
  42. terradev_cli-3.5.2/SKILL.md +0 -241
  43. terradev_cli-3.5.2/USER_GUIDE.md +0 -601
  44. terradev_cli-3.5.2/action.py +0 -106
  45. terradev_cli-3.5.2/action.yml +0 -50
  46. terradev_cli-3.5.2/activations/973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b.json +0 -1
  47. terradev_cli-3.5.2/ai-discovery.json +0 -114
  48. terradev_cli-3.5.2/analysis/api-differences-comparison.tf +0 -311
  49. terradev_cli-3.5.2/analysis/cost-structure-differences.tf +0 -198
  50. terradev_cli-3.5.2/analysis/inference-arbitrage-pivot.tf +0 -322
  51. terradev_cli-3.5.2/apis/free-apis-latency-arbitrage.tf +0 -504
  52. terradev_cli-3.5.2/b2b_roi_analysis.json +0 -142
  53. terradev_cli-3.5.2/bucket-policy.json +0 -12
  54. terradev_cli-3.5.2/business/compute-arbitrage-business.md +0 -383
  55. terradev_cli-3.5.2/byoapi_real_snapshot.json +0 -107
  56. terradev_cli-3.5.2/clusters/glm-5/README.md +0 -73
  57. terradev_cli-3.5.2/clusters/glm-5/helm/values-glm5.yaml +0 -152
  58. terradev_cli-3.5.2/clusters/glm-5/k8s/hpa.yaml +0 -55
  59. terradev_cli-3.5.2/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -35
  60. terradev_cli-3.5.2/clusters/glm-5/k8s/namespace.yaml +0 -8
  61. terradev_cli-3.5.2/clusters/glm-5/k8s/pdb.yaml +0 -14
  62. terradev_cli-3.5.2/clusters/glm-5/k8s/service.yaml +0 -49
  63. terradev_cli-3.5.2/clusters/glm-5/k8s/sglang-deployment.yaml +0 -176
  64. terradev_cli-3.5.2/clusters/glm-5/k8s/vllm-deployment.yaml +0 -215
  65. terradev_cli-3.5.2/clusters/glm-5/task.yaml +0 -81
  66. terradev_cli-3.5.2/clusters/glm-5/terraform/main.tf +0 -186
  67. terradev_cli-3.5.2/clusters/glm-5/terraform/outputs.tf +0 -60
  68. terradev_cli-3.5.2/clusters/glm-5/terraform/variables.tf +0 -108
  69. terradev_cli-3.5.2/clusters/moe-template/README.md +0 -141
  70. terradev_cli-3.5.2/clusters/moe-template/helm/values-moe.yaml +0 -225
  71. terradev_cli-3.5.2/clusters/moe-template/k8s/deployment.yaml +0 -353
  72. terradev_cli-3.5.2/clusters/moe-template/k8s/hpa.yaml +0 -51
  73. terradev_cli-3.5.2/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -19
  74. terradev_cli-3.5.2/clusters/moe-template/k8s/namespace.yaml +0 -9
  75. terradev_cli-3.5.2/clusters/moe-template/k8s/pdb.yaml +0 -14
  76. terradev_cli-3.5.2/clusters/moe-template/k8s/service.yaml +0 -47
  77. terradev_cli-3.5.2/clusters/moe-template/task.yaml +0 -159
  78. terradev_cli-3.5.2/clusters/moe-template/terraform/main.tf +0 -209
  79. terradev_cli-3.5.2/clusters/moe-template/terraform/outputs.tf +0 -60
  80. terradev_cli-3.5.2/clusters/moe-template/terraform/variables.tf +0 -170
  81. terradev_cli-3.5.2/complete_weakness_resolution_report.json +0 -1336
  82. terradev_cli-3.5.2/config.json +0 -1
  83. terradev_cli-3.5.2/demo/RECORDING_GUIDE.md +0 -80
  84. terradev_cli-3.5.2/demo/generate_gif.py +0 -339
  85. terradev_cli-3.5.2/demo/terradev-demo.gif +0 -0
  86. terradev_cli-3.5.2/demo_k8s_config.yaml +0 -35
  87. terradev_cli-3.5.2/docker-compose.yml +0 -101
  88. terradev_cli-3.5.2/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -173
  89. terradev_cli-3.5.2/docs/API_DOCUMENTATION.md +0 -901
  90. terradev_cli-3.5.2/docs/BingSiteAuth.xml +0 -4
  91. terradev_cli-3.5.2/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -286
  92. terradev_cli-3.5.2/docs/USER_GUIDE.md +0 -952
  93. terradev_cli-3.5.2/docs/architecture.md +0 -228
  94. terradev_cli-3.5.2/docs/index.html +0 -167
  95. terradev_cli-3.5.2/docs/robots.txt +0 -28
  96. terradev_cli-3.5.2/docs/sitemap.xml +0 -45
  97. terradev_cli-3.5.2/eb_deploy.zip +0 -1
  98. terradev_cli-3.5.2/genius_data_storage/data_compressor.py +0 -377
  99. terradev_cli-3.5.2/genius_data_storage/genius_data_demo.py +0 -357
  100. terradev_cli-3.5.2/genius_data_storage/integrity_verifier.py +0 -582
  101. terradev_cli-3.5.2/genius_data_storage/main.tf +0 -653
  102. terradev_cli-3.5.2/genius_data_storage/zero_egress_accessor.py +0 -524
  103. terradev_cli-3.5.2/gpu-check.sh +0 -84
  104. terradev_cli-3.5.2/grafana_training_dashboard.json +0 -385
  105. terradev_cli-3.5.2/helm/terradev/Chart.yaml +0 -38
  106. terradev_cli-3.5.2/helm/terradev/templates/_helpers.tpl +0 -127
  107. terradev_cli-3.5.2/helm/terradev/templates/deployment.yaml +0 -176
  108. terradev_cli-3.5.2/helm/terradev/values.yaml +0 -423
  109. terradev_cli-3.5.2/index.html +0 -167
  110. terradev_cli-3.5.2/infrastructure/kubernetes/microservices.yaml +0 -633
  111. terradev_cli-3.5.2/infrastructure/terraform/main.tf +0 -1279
  112. terradev_cli-3.5.2/integrations/cli-tool.tf +0 -606
  113. terradev_cli-3.5.2/integrations/cloud-management-widgets.tf +0 -131
  114. terradev_cli-3.5.2/integrations/cloud-provider-apis.py +0 -602
  115. terradev_cli-3.5.2/integrations/critical-widgets.tf +0 -933
  116. terradev_cli-3.5.2/integrations/devops-cicd-widgets.tf +0 -243
  117. terradev_cli-3.5.2/integrations/devops-essential-tools.tf +0 -314
  118. terradev_cli-3.5.2/integrations/docker-integration.tf +0 -423
  119. terradev_cli-3.5.2/integrations/kubernetes-operator.tf +0 -276
  120. terradev_cli-3.5.2/integrations/mlflow-integration.tf +0 -366
  121. terradev_cli-3.5.2/kaggle_notebooks/01_hf_spaces_cost_optimization.ipynb +0 -456
  122. terradev_cli-3.5.2/kubernetes_training_deployment.yaml +0 -253
  123. terradev_cli-3.5.2/llms.txt +0 -209
  124. terradev_cli-3.5.2/nginx.conf +0 -30
  125. terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/.clawhubignore +0 -5
  126. terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/LICENSE +0 -21
  127. terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/README.md +0 -106
  128. terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/SKILL.md +0 -314
  129. terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/gpu-check.sh +0 -84
  130. terradev_cli-3.5.2/parallel_provisioning.tf +0 -330
  131. terradev_cli-3.5.2/partnerships/brand-partnerships.tf +0 -523
  132. terradev_cli-3.5.2/partnerships/partnership-roadmap.tf +0 -232
  133. terradev_cli-3.5.2/pricing_analysis_report.json +0 -164
  134. terradev_cli-3.5.2/prometheus_training_config.yml +0 -185
  135. terradev_cli-3.5.2/provision_based_pricing_analysis.json +0 -111
  136. terradev_cli-3.5.2/pypi_traffic_report.json +0 -84
  137. terradev_cli-3.5.2/pyproject.toml +0 -177
  138. terradev_cli-3.5.2/pyproject_v2.toml +0 -119
  139. terradev_cli-3.5.2/real_day_one_snapshot.json +0 -52
  140. terradev_cli-3.5.2/remaining_25_analysis_report.json +0 -722
  141. terradev_cli-3.5.2/render.yaml +0 -18
  142. terradev_cli-3.5.2/requirements-render.txt +0 -1
  143. terradev_cli-3.5.2/requirements.txt +0 -56
  144. terradev_cli-3.5.2/requirements_api.txt +0 -8
  145. terradev_cli-3.5.2/requirements_eb.txt +0 -4
  146. terradev_cli-3.5.2/requirements_stripe.txt +0 -5
  147. terradev_cli-3.5.2/robots.txt +0 -28
  148. terradev_cli-3.5.2/setup/Lambda Cloud API spec 1.8.3.json +0 -4816
  149. terradev_cli-3.5.2/setup/account-setup-guide.tf +0 -393
  150. terradev_cli-3.5.2/setup/setup.sh +0 -411
  151. terradev_cli-3.5.2/sitemap.xml +0 -45
  152. terradev_cli-3.5.2/telemetry_production.db-shm +0 -0
  153. terradev_cli-3.5.2/telemetry_production.db-wal +0 -0
  154. terradev_cli-3.5.2/terradev_cli/CHANGELOG.md +0 -163
  155. terradev_cli-3.5.2/terradev_cli/README.md +0 -286
  156. terradev_cli-3.5.2/terradev_cli/README_old.md +0 -492
  157. terradev_cli-3.5.2/terradev_cli/README_with_emojis.md +0 -356
  158. terradev_cli-3.5.2/terradev_cli/__init__.py +0 -10
  159. terradev_cli-3.5.2/terradev_cli/__main__.py +0 -20
  160. terradev_cli-3.5.2/terradev_cli/bandit-report.json +0 -388
  161. terradev_cli-3.5.2/terradev_cli/cli_clean.py +0 -35
  162. terradev_cli-3.5.2/terradev_cli/cli_enhanced.py +0 -577
  163. terradev_cli-3.5.2/terradev_cli/cli_final.py +0 -823
  164. terradev_cli-3.5.2/terradev_cli/cli_simple.py +0 -249
  165. terradev_cli-3.5.2/terradev_cli/cli_tiered.py +0 -372
  166. terradev_cli-3.5.2/terradev_cli/core/helm_generator.py +0 -769
  167. terradev_cli-3.5.2/terradev_cli/core/manifest_example.json +0 -1
  168. terradev_cli-3.5.2/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -135
  169. terradev_cli-3.5.2/terradev_cli/cost_optimizer.py +0 -518
  170. terradev_cli-3.5.2/terradev_cli/credential_prompt.py +0 -164
  171. terradev_cli-3.5.2/terradev_cli/demo.py +0 -375
  172. terradev_cli-3.5.2/terradev_cli/entry_point.py +0 -210
  173. terradev_cli-3.5.2/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
  174. terradev_cli-3.5.2/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
  175. terradev_cli-3.5.2/terradev_cli/k8s/terraform_wrapper.py +0 -425
  176. terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -630
  177. terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -404
  178. terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-models.yaml +0 -531
  179. terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-platform.yaml +0 -619
  180. terradev_cli-3.5.2/terradev_cli/kubernetes/inferx_setup.py +0 -550
  181. terradev_cli-3.5.2/terradev_cli/requirements.txt +0 -3
  182. terradev_cli-3.5.2/terradev_cli/requirements_minimal.txt +0 -3
  183. terradev_cli-3.5.2/terradev_cli/safety-report.json +0 -18554
  184. terradev_cli-3.5.2/terradev_cli/telemetry_protection.py +0 -180
  185. terradev_cli-3.5.2/terradev_cli/terraform/main.tf +0 -139
  186. terradev_cli-3.5.2/terradev_cli/terraform/modules/__init__.py +0 -19
  187. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -271
  188. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -138
  189. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -69
  190. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -83
  191. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -12
  192. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -231
  193. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -103
  194. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -59
  195. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -63
  196. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -12
  197. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -231
  198. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -103
  199. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -59
  200. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -63
  201. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -12
  202. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -231
  203. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -103
  204. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -59
  205. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -63
  206. terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -12
  207. terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -95
  208. terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -29
  209. terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -183
  210. terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -50
  211. terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -59
  212. terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -16
  213. terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/main.tf +0 -193
  214. terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/outputs.tf +0 -50
  215. terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/variables.tf +0 -52
  216. terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/versions.tf +0 -12
  217. terradev_cli-3.5.2/terradev_cli/terraform/outputs.tf +0 -118
  218. terradev_cli-3.5.2/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -188
  219. terradev_cli-3.5.2/terradev_cli/terraform/providers.tf +0 -22
  220. terradev_cli-3.5.2/terradev_cli/terraform/variables.tf +0 -95
  221. terradev_cli-3.5.2/terradev_cli.egg-info/SOURCES.txt +0 -343
  222. terradev_cli-3.5.2/terradev_cli.egg-info/requires.txt +0 -59
  223. terradev_cli-3.5.2/terradev_cli.egg-info/top_level.txt +0 -1
  224. terradev_cli-3.5.2/terraform.tfvars.example +0 -50
  225. terradev_cli-3.5.2/terraform_cli/README.md +0 -471
  226. terradev_cli-3.5.2/terraform_cli/demo_usage.py +0 -152
  227. terradev_cli-3.5.2/terraform_cli/install.sh +0 -346
  228. terradev_cli-3.5.2/terraform_cli/terradev_cli.py +0 -717
  229. terradev_cli-3.5.2/terraform_optimization/backend.tf +0 -606
  230. terradev_cli-3.5.2/terraform_optimization/error_handling.py +0 -742
  231. terradev_cli-3.5.2/terraform_optimization/storage_choice_matrix.py +0 -681
  232. terradev_cli-3.5.2/terraform_optimization/test_error_handler.py +0 -83
  233. terradev_cli-3.5.2/terraform_optimization/versions.tf +0 -668
  234. terradev_cli-3.5.2/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -428
  235. terradev_cli-3.5.2/terraform_transparency/audit_trail.py +0 -610
  236. terradev_cli-3.5.2/terraform_transparency/audit_trails.json +0 -430
  237. terradev_cli-3.5.2/terraform_transparency/decision_engine.py +0 -671
  238. terradev_cli-3.5.2/terraform_transparency/decision_logs.json +0 -192
  239. terradev_cli-3.5.2/terraform_transparency/operations.json +0 -45
  240. terradev_cli-3.5.2/terraform_transparency/terraform_manager.py +0 -627
  241. terradev_cli-3.5.2/terraform_transparency/terraform_plans.json +0 -1
  242. terradev_cli-3.5.2/terraform_transparency/transparency_demo.py +0 -417
  243. terradev_cli-3.5.2/terraform_transparency/transparency_report.json +0 -33
  244. terradev_cli-3.5.2/tests/INTEGRATION_STRATEGY.md +0 -337
  245. terradev_cli-3.5.2/tests/Makefile +0 -201
  246. terradev_cli-3.5.2/tests/ci_pipeline.py +0 -480
  247. terradev_cli-3.5.2/tests/conftest.py +0 -10
  248. terradev_cli-3.5.2/tests/simple_test.py +0 -181
  249. terradev_cli-3.5.2/tests/test_checkpoint_manager.py +0 -198
  250. terradev_cli-3.5.2/tests/test_cli_smoke.py +0 -200
  251. terradev_cli-3.5.2/tests/test_dag_executor.py +0 -400
  252. terradev_cli-3.5.2/tests/test_integration.py +0 -577
  253. terradev_cli-3.5.2/tests/test_job_state_manager.py +0 -307
  254. terradev_cli-3.5.2/tests/test_providers.py +0 -264
  255. terradev_cli-3.5.2/tests/test_semantic_router.py +0 -1474
  256. terradev_cli-3.5.2/tests/test_ssh_key_manager.py +0 -154
  257. terradev_cli-3.5.2/tests/test_training_monitor.py +0 -237
  258. terradev_cli-3.5.2/tests/test_training_orchestrator.py +0 -321
  259. terradev_cli-3.5.2/volatility_charts/aws_a100_volatility.png +0 -0
  260. terradev_cli-3.5.2/volatility_charts/aws_v100_volatility.png +0 -0
  261. terradev_cli-3.5.2/volatility_charts/runpod_a100_volatility.png +0 -0
  262. terradev_cli-3.5.2/volatility_charts/runpod_v100_volatility.png +0 -0
  263. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/__init__.py +0 -0
  264. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/auth.py +0 -0
  265. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/checkpoint_manager.py +0 -0
  266. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/config.py +0 -0
  267. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/cost_scaler.py +0 -0
  268. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/cost_tracker.py +0 -0
  269. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/dag_executor.py +0 -0
  270. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/data_governance.py +0 -0
  271. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/dataset_stager.py +0 -0
  272. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/deployment_router.py +0 -0
  273. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/drift_detector.py +0 -0
  274. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/egress_optimizer.py +0 -0
  275. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/gitops_manager.py +0 -0
  276. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/gpu_topology.py +0 -0
  277. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/helm_generator_old.py +0 -0
  278. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/hf_cli_integration.py +0 -0
  279. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/hf_smart_templates.py +0 -0
  280. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/hf_spaces.py +0 -0
  281. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/inference_router.py +0 -0
  282. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/job_state_manager.py +0 -0
  283. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/manifest_cache.py +0 -0
  284. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/model_orchestrator.py +0 -0
  285. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/parallel_provisioner.py +0 -0
  286. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/preflight_validator.py +0 -0
  287. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/price_discovery.py +0 -0
  288. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/price_discovery_mock.py +0 -0
  289. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/price_intelligence.py +0 -0
  290. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/quick_start.py +0 -0
  291. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/rate_limiter.py +0 -0
  292. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_router.py +0 -0
  293. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/__init__.py +0 -0
  294. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/base_signal.py +0 -0
  295. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/complexity_signal.py +0 -0
  296. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/domain_signal.py +0 -0
  297. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/keyword_signal.py +0 -0
  298. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/language_signal.py +0 -0
  299. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/modality_signal.py +0 -0
  300. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/orchestrator.py +0 -0
  301. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/safety_signal.py +0 -0
  302. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/ssh_key_manager.py +0 -0
  303. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/telemetry.py +0 -0
  304. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/telemetry_backup.py +0 -0
  305. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/terradev_engine.py +0 -0
  306. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/tier_manager.py +0 -0
  307. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/training_monitor.py +0 -0
  308. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/warm_pool_manager.py +0 -0
  309. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/integrations/__init__.py +0 -0
  310. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/integrations/prometheus_integration.py +0 -0
  311. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/integrations/wandb_integration.py +0 -0
  312. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/dvc_service.py +0 -0
  313. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/huggingface_service.py +0 -0
  314. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kserve_service.py +0 -0
  315. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kubernetes_enhanced_fixed.py +0 -0
  316. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/langchain_service.py +0 -0
  317. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/langgraph_service.py +0 -0
  318. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/langsmith_service.py +0 -0
  319. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/lmcache_service.py +0 -0
  320. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/mlflow_service.py +0 -0
  321. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/ollama_service.py +0 -0
  322. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/ray_enhanced.py +0 -0
  323. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/ray_service.py +0 -0
  324. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/sglang_service.py +0 -0
  325. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/wandb_enhanced.py +0 -0
  326. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/wandb_service.py +0 -0
  327. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/__init__.py +0 -0
  328. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/alibaba_provider.py +0 -0
  329. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/aws_provider.py +0 -0
  330. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/azure_provider.py +0 -0
  331. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/base_provider.py +0 -0
  332. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/baseten_provider.py +0 -0
  333. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/coreweave_provider.py +0 -0
  334. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/crusoe_provider.py +0 -0
  335. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/demo_mode.py +0 -0
  336. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/digitalocean_provider.py +0 -0
  337. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/fluidstack_provider.py +0 -0
  338. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/gcp_provider.py +0 -0
  339. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/hetzner_provider.py +0 -0
  340. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/huggingface_provider.py +0 -0
  341. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/hyperstack_provider.py +0 -0
  342. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/inferx_provider.py +0 -0
  343. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/lambda_labs_provider.py +0 -0
  344. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/oracle_provider.py +0 -0
  345. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/ovhcloud_provider.py +0 -0
  346. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/provider_factory.py +0 -0
  347. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/real_pricing.py +0 -0
  348. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/runpod_provider.py +0 -0
  349. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/siliconflow_provider.py +0 -0
  350. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/tensordock_provider.py +0 -0
  351. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/vastai_provider.py +0 -0
  352. {terradev_cli-3.5.2 → terradev_cli-3.7.0}/setup.cfg +0 -0
  353. {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli.egg-info/dependency_links.txt +0 -0
  354. {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli.egg-info/entry_points.txt +0 -0
  355. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/utils/__init__.py +0 -0
  356. {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/utils/formatters.py +0 -0
@@ -1,49 +1,24 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: terradev-cli
3
- Version: 3.5.2
4
- Summary: Cross-cloud GPU provisioning with GitOps automation and HuggingFace Spaces deployment
5
- Author-email: Terradev Team <team@terradev.com>
6
- Maintainer-email: Terradev Team <team@terradev.com>
7
- License: BUSL-1.1
8
- Project-URL: Homepage, https://terradev.cloud
9
- Project-URL: Documentation, https://docs.terradev.com
10
- Project-URL: Repository, https://github.com/theoddden/Terradev
11
- Project-URL: Bug Tracker, https://github.com/theoddden/Terradev/issues
12
- Project-URL: Changelog, https://github.com/theoddden/Terradev/blob/main/CHANGELOG.md
13
- Project-URL: Analytics, https://api.terradev.cloud/dashboard
14
- Keywords: cloud,provisioning,gpu,multi-cloud,arbitrage,aws,gcp,azure,runpod,vastai,machine-learning,cost-optimization,parallel,gitops,argocd,flux,kubernetes,infrastructure-as-code,langchain,langgraph,sglang,wandb,mlflow,analytics,setup,conversion,telemetry,real-time,monitoring,dashboard,huggingface,huggingface-spaces,gradio,streamlit,llm,transformers,pytorch,sentence-transformers,smart-templates,hardware-optimization,model-deployment,inference,training,byoapi,terraform,kubernetes,helm,karpenter,opa,prometheus,grafana,ray,vllm,ollama,dvc,data-version-control,numa,disaggregated-inference,moe,mixture-of-experts,qwen,distserve,xcd,mi300x,h200,prefill-decode
15
- Classifier: Development Status :: 5 - Production/Stable
3
+ Version: 3.7.0
4
+ Summary: Cross-cloud GPU provisioning with Arize Phoenix observability, NeMo Guardrails safety, Qdrant vector DB, vLLM/SGLang inference, and Terraform-powered parallel provisioning
5
+ Home-page: https://github.com/theoddden/terradev
6
+ Author: Terradev Team
7
+ Author-email: team@terradev.com
8
+ Classifier: Development Status :: 4 - Beta
16
9
  Classifier: Intended Audience :: Developers
17
- Classifier: Intended Audience :: System Administrators
18
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
- Classifier: Topic :: System :: Systems Administration
20
- Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
21
- Classifier: License :: Other/Proprietary License
10
+ Classifier: License :: OSI Approved :: MIT License
22
11
  Classifier: Programming Language :: Python :: 3
23
12
  Classifier: Programming Language :: Python :: 3.8
24
13
  Classifier: Programming Language :: Python :: 3.9
25
14
  Classifier: Programming Language :: Python :: 3.10
26
15
  Classifier: Programming Language :: Python :: 3.11
27
- Classifier: Operating System :: OS Independent
28
- Classifier: Environment :: Console
29
- Classifier: Natural Language :: English
30
- Requires-Python: >=3.9
16
+ Requires-Python: >=3.8
31
17
  Description-Content-Type: text/markdown
32
- License-File: LICENSE
33
18
  Requires-Dist: click>=8.0.0
34
19
  Requires-Dist: aiohttp>=3.9.0
35
20
  Requires-Dist: pyyaml>=6.0
36
- Requires-Dist: cryptography>=41.0.0
37
21
  Requires-Dist: requests>=2.31.0
38
- Requires-Dist: gradio>=4.0.0
39
- Requires-Dist: streamlit>=1.28.0
40
- Requires-Dist: transformers>=4.0.0
41
- Requires-Dist: torch>=2.0.0
42
- Requires-Dist: sentence-transformers>=2.0.0
43
- Requires-Dist: plotly>=5.0.0
44
- Requires-Dist: pandas>=1.0.0
45
- Requires-Dist: numpy>=1.0.0
46
- Requires-Dist: huggingface-hub>=0.19.0
47
22
  Requires-Dist: stripe>=7.0.0
48
23
  Provides-Extra: aws
49
24
  Requires-Dist: boto3>=1.34.0; extra == "aws"
@@ -52,51 +27,72 @@ Requires-Dist: google-cloud-compute>=1.8.0; extra == "gcp"
52
27
  Provides-Extra: azure
53
28
  Requires-Dist: azure-mgmt-compute>=29.0.0; extra == "azure"
54
29
  Requires-Dist: azure-identity>=1.12.0; extra == "azure"
55
- Provides-Extra: lmcache
56
- Requires-Dist: lmcache>=0.1; extra == "lmcache"
57
- Requires-Dist: redis>=5.0.0; extra == "lmcache"
30
+ Provides-Extra: oracle
31
+ Requires-Dist: oci>=2.118.0; extra == "oracle"
32
+ Provides-Extra: hf
33
+ Requires-Dist: huggingface-hub>=0.19.0; extra == "hf"
58
34
  Provides-Extra: all
59
35
  Requires-Dist: boto3>=1.34.0; extra == "all"
60
36
  Requires-Dist: google-cloud-compute>=1.8.0; extra == "all"
61
37
  Requires-Dist: azure-mgmt-compute>=29.0.0; extra == "all"
62
38
  Requires-Dist: azure-identity>=1.12.0; extra == "all"
63
- Requires-Dist: langchain>=0.1.0; extra == "all"
64
- Requires-Dist: langgraph>=0.0.20; extra == "all"
65
- Requires-Dist: sglang>=0.3.0; extra == "all"
66
- Requires-Dist: wandb>=0.16.0; extra == "all"
67
- Requires-Dist: mlflow>=2.8.0; extra == "all"
39
+ Requires-Dist: oci>=2.118.0; extra == "all"
68
40
  Requires-Dist: huggingface-hub>=0.19.0; extra == "all"
69
- Requires-Dist: prometheus-client>=0.17.0; extra == "all"
70
- Requires-Dist: grafana-api>=1.0.3; extra == "all"
71
- Requires-Dist: lmcache>=0.1; extra == "all"
72
- Requires-Dist: redis>=5.0.0; extra == "all"
73
- Provides-Extra: hf
74
- Requires-Dist: aiohttp>=3.9.0; extra == "hf"
75
- Requires-Dist: huggingface-hub>=0.19.0; extra == "hf"
76
- Requires-Dist: gradio>=4.0.0; extra == "hf"
77
- Requires-Dist: streamlit>=1.28.0; extra == "hf"
78
- Provides-Extra: dev
79
- Requires-Dist: pytest>=7.0.0; extra == "dev"
80
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
81
- Requires-Dist: black>=22.0.0; extra == "dev"
82
- Requires-Dist: flake8>=5.0.0; extra == "dev"
83
- Requires-Dist: build>=0.10.0; extra == "dev"
84
- Requires-Dist: twine>=4.0.0; extra == "dev"
85
- Dynamic: license-file
41
+ Dynamic: author
42
+ Dynamic: author-email
43
+ Dynamic: classifier
44
+ Dynamic: description
45
+ Dynamic: description-content-type
46
+ Dynamic: home-page
47
+ Dynamic: provides-extra
48
+ Dynamic: requires-dist
49
+ Dynamic: requires-python
50
+ Dynamic: summary
86
51
 
87
- # Terradev CLI v3.5.2
52
+ # Terradev CLI v3.7.0
88
53
 
89
- **Compare GPU prices across 19 clouds. Provision the cheapest one in one command.**
54
+ **Compare GPU prices across 20 clouds. Provision the cheapest one in one command. Arize Phoenix observability, NeMo Guardrails safety, Qdrant vector DB, and automatic vLLM optimization included.**
90
55
 
91
56
  <p align="center">
92
57
  <img src="https://raw.githubusercontent.com/theoddden/Terradev/main/demo/terradev-demo.gif" alt="Terradev CLI Demo" width="800">
93
58
  </p>
94
59
 
95
- ## Why Terradev?
60
+ ## 🚀 What's New in v3.7.0
61
+
62
+ ### 🧠 Automatic vLLM Workload-Based Optimization
63
+ The most advanced vLLM optimization system - automatically analyzes your workload patterns and optimizes the 6 critical knobs most teams never touch:
96
64
 
97
- Developers overpay by only accessing single-cloud workflows, hopping across switches out of NUMA alignment, or using sequential provisioning with inefficient egress + rate-limiting.
65
+ ```bash
66
+ # Auto-optimize based on your actual workload
67
+ terradev vllm auto-optimize -s workload.json -m meta-llama/Llama-2-7b-hf -g 4
68
+
69
+ # Analyze running server for optimization
70
+ terradev vllm analyze -e http://localhost:8000
98
71
 
99
- Terradev is a cross-cloud compute-provisioning CLI that compresses + stages datasets, provisions optimal instances + nodes, and deploys faster and cheaper than sequential provisioning.
72
+ # Generate optimized configurations
73
+ terradev vllm optimize -m mistralai/Mistral-7B-v0.1 -t throughput -o helm
74
+ ```
75
+
76
+ **Performance Gains:**
77
+ - **2-8x throughput improvements** typical
78
+ - **10-20% latency reduction** for sensitive workloads
79
+ - **Zero manual tuning required** - intelligent workload analysis
80
+ - **Dynamic adaptation** - adjusts as patterns change
81
+
82
+ ### 🔧 The 6 Critical vLLM Knobs
83
+ 1. **`--max-num-batched-tokens`** - 2048→16384 (8x throughput)
84
+ 2. **`--gpu-memory-utilization`** - 0.90→0.95 (5% more VRAM)
85
+ 3. **`--max-num-seqs`** - 256/1024→512-2048 (prevent queuing)
86
+ 4. **`--enable-prefix-caching`** - OFF→ON (free throughput win)
87
+ 5. **`--enable-chunked-prefill`** - OFF→ON (better prefill)
88
+ 6. **CPU Core Allocation** - 2 + #GPUs (prevent starvation)
89
+
90
+ ### 🎯 Smart Workload Analysis
91
+ - **QPS Pattern Recognition** - High traffic → larger batches
92
+ - **Prompt Length Analysis** - Long prompts → chunked prefill
93
+ - **Concurrency Detection** - Multi-user → higher sequence limits
94
+ - **Latency Sensitivity** - Balanced vs aggressive optimization
95
+ - **Memory Pressure** - Conservative vs aggressive GPU utilization
100
96
 
101
97
  ## GitOps Automation
102
98
 
@@ -320,13 +316,14 @@ terradev ml sglang --start --instance-ip <IP> \
320
316
  ## Installation
321
317
 
322
318
  ```bash
323
- pip install terradev-cli
319
+ pip install terradev-cli==3.6.2
324
320
  ```
325
321
 
326
- With HF Spaces support:
322
+ With vLLM optimization and HF Spaces support:
327
323
  ```bash
324
+ pip install terradev-cli[vllm] # vLLM optimization features
328
325
  pip install terradev-cli[hf] # HuggingFace Spaces deployment
329
- pip install terradev-cli[all] # All cloud providers + ML services + HF Spaces
326
+ pip install terradev-cli[all] # All cloud providers + ML services + HF Spaces + vLLM
330
327
  ```
331
328
 
332
329
  ## Quick Start
@@ -346,25 +343,30 @@ terradev hf-space my-llama --model-id meta-llama/Llama-2-7b-hf --template llm
346
343
  terradev hf-space my-embeddings --model-id sentence-transformers/all-MiniLM-L6-v2 --template embedding
347
344
  terradev hf-space my-image --model-id runwayml/stable-diffusion-v1-5 --template image
348
345
 
349
- # 4. Get enhanced quotes with conversion prompts
346
+ # 4. Optimize vLLM automatically (NEW!)
347
+ terradev vllm auto-optimize -s workload.json -m meta-llama/Llama-2-7b-hf -g 4
348
+ terradev vllm analyze -e http://localhost:8000 # Analyze running server
349
+ terradev vllm benchmark -e http://localhost:8000 -c 10 # Performance test
350
+
351
+ # 5. Get enhanced quotes with conversion prompts
350
352
  terradev quote -g A100
351
353
  terradev quote -g A100 --quick # Quick provision best quote
352
354
 
353
- # 5. Provision the cheapest instance (real API call)
355
+ # 6. Provision the cheapest instance (real API call)
354
356
  terradev provision -g A100
355
357
 
356
- # 6. Configure ML services
358
+ # 7. Configure ML services
357
359
  terradev configure --provider wandb --dashboard-enabled true
358
360
  terradev configure --provider langchain --tracing-enabled true
359
361
 
360
- # 7. Use ML services
362
+ # 8. Use ML services
361
363
  terradev ml wandb --test
362
364
  terradev ml langchain --create-workflow my-workflow
363
365
 
364
- # 8. View analytics
366
+ # 9. View analytics
365
367
  python user_analytics.py
366
368
 
367
- # 9. Provision 4x H100s in parallel across multiple clouds
369
+ # 10. Provision 4x H100s in parallel across multiple clouds
368
370
  terradev provision -g H100 -n 4 --parallel 6
369
371
 
370
372
  # 10. Dry-run to see the allocation plan without launching
@@ -1,16 +1,47 @@
1
- # Terradev CLI v3.5.2
1
+ # Terradev CLI v3.7.0
2
2
 
3
- **Compare GPU prices across 19 clouds. Provision the cheapest one in one command.**
3
+ **Compare GPU prices across 20 clouds. Provision the cheapest one in one command. Arize Phoenix observability, NeMo Guardrails safety, Qdrant vector DB, and automatic vLLM optimization included.**
4
4
 
5
5
  <p align="center">
6
6
  <img src="https://raw.githubusercontent.com/theoddden/Terradev/main/demo/terradev-demo.gif" alt="Terradev CLI Demo" width="800">
7
7
  </p>
8
8
 
9
- ## Why Terradev?
9
+ ## 🚀 What's New in v3.7.0
10
10
 
11
- Developers overpay by only accessing single-cloud workflows, hopping across switches out of NUMA alignment, or using sequential provisioning with inefficient egress + rate-limiting.
11
+ ### 🧠 Automatic vLLM Workload-Based Optimization
12
+ The most advanced vLLM optimization system - automatically analyzes your workload patterns and optimizes the 6 critical knobs most teams never touch:
12
13
 
13
- Terradev is a cross-cloud compute-provisioning CLI that compresses + stages datasets, provisions optimal instances + nodes, and deploys faster and cheaper than sequential provisioning.
14
+ ```bash
15
+ # Auto-optimize based on your actual workload
16
+ terradev vllm auto-optimize -s workload.json -m meta-llama/Llama-2-7b-hf -g 4
17
+
18
+ # Analyze running server for optimization
19
+ terradev vllm analyze -e http://localhost:8000
20
+
21
+ # Generate optimized configurations
22
+ terradev vllm optimize -m mistralai/Mistral-7B-v0.1 -t throughput -o helm
23
+ ```
24
+
25
+ **Performance Gains:**
26
+ - **2-8x throughput improvements** typical
27
+ - **10-20% latency reduction** for sensitive workloads
28
+ - **Zero manual tuning required** - intelligent workload analysis
29
+ - **Dynamic adaptation** - adjusts as patterns change
30
+
31
+ ### 🔧 The 6 Critical vLLM Knobs
32
+ 1. **`--max-num-batched-tokens`** - 2048→16384 (8x throughput)
33
+ 2. **`--gpu-memory-utilization`** - 0.90→0.95 (5% more VRAM)
34
+ 3. **`--max-num-seqs`** - 256/1024→512-2048 (prevent queuing)
35
+ 4. **`--enable-prefix-caching`** - OFF→ON (free throughput win)
36
+ 5. **`--enable-chunked-prefill`** - OFF→ON (better prefill)
37
+ 6. **CPU Core Allocation** - 2 + #GPUs (prevent starvation)
38
+
39
+ ### 🎯 Smart Workload Analysis
40
+ - **QPS Pattern Recognition** - High traffic → larger batches
41
+ - **Prompt Length Analysis** - Long prompts → chunked prefill
42
+ - **Concurrency Detection** - Multi-user → higher sequence limits
43
+ - **Latency Sensitivity** - Balanced vs aggressive optimization
44
+ - **Memory Pressure** - Conservative vs aggressive GPU utilization
14
45
 
15
46
  ## GitOps Automation
16
47
 
@@ -234,13 +265,14 @@ terradev ml sglang --start --instance-ip <IP> \
234
265
  ## Installation
235
266
 
236
267
  ```bash
237
- pip install terradev-cli
268
+ pip install terradev-cli==3.6.2
238
269
  ```
239
270
 
240
- With HF Spaces support:
271
+ With vLLM optimization and HF Spaces support:
241
272
  ```bash
273
+ pip install terradev-cli[vllm] # vLLM optimization features
242
274
  pip install terradev-cli[hf] # HuggingFace Spaces deployment
243
- pip install terradev-cli[all] # All cloud providers + ML services + HF Spaces
275
+ pip install terradev-cli[all] # All cloud providers + ML services + HF Spaces + vLLM
244
276
  ```
245
277
 
246
278
  ## Quick Start
@@ -260,25 +292,30 @@ terradev hf-space my-llama --model-id meta-llama/Llama-2-7b-hf --template llm
260
292
  terradev hf-space my-embeddings --model-id sentence-transformers/all-MiniLM-L6-v2 --template embedding
261
293
  terradev hf-space my-image --model-id runwayml/stable-diffusion-v1-5 --template image
262
294
 
263
- # 4. Get enhanced quotes with conversion prompts
295
+ # 4. Optimize vLLM automatically (NEW!)
296
+ terradev vllm auto-optimize -s workload.json -m meta-llama/Llama-2-7b-hf -g 4
297
+ terradev vllm analyze -e http://localhost:8000 # Analyze running server
298
+ terradev vllm benchmark -e http://localhost:8000 -c 10 # Performance test
299
+
300
+ # 5. Get enhanced quotes with conversion prompts
264
301
  terradev quote -g A100
265
302
  terradev quote -g A100 --quick # Quick provision best quote
266
303
 
267
- # 5. Provision the cheapest instance (real API call)
304
+ # 6. Provision the cheapest instance (real API call)
268
305
  terradev provision -g A100
269
306
 
270
- # 6. Configure ML services
307
+ # 7. Configure ML services
271
308
  terradev configure --provider wandb --dashboard-enabled true
272
309
  terradev configure --provider langchain --tracing-enabled true
273
310
 
274
- # 7. Use ML services
311
+ # 8. Use ML services
275
312
  terradev ml wandb --test
276
313
  terradev ml langchain --create-workflow my-workflow
277
314
 
278
- # 8. View analytics
315
+ # 9. View analytics
279
316
  python user_analytics.py
280
317
 
281
- # 9. Provision 4x H100s in parallel across multiple clouds
318
+ # 10. Provision 4x H100s in parallel across multiple clouds
282
319
  terradev provision -g H100 -n 4 --parallel 6
283
320
 
284
321
  # 10. Dry-run to see the allocation plan without launching