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.
- {terradev_cli-3.5.2 → terradev_cli-3.7.0}/PKG-INFO +74 -72
- {terradev_cli-3.5.2 → terradev_cli-3.7.0}/README.md +51 -14
- terradev_cli-3.7.0/core/helm_generator.py +923 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/stripe_manager.py +90 -9
- terradev_cli-3.7.0/core/trace_viewer.py +157 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/training_orchestrator.py +162 -0
- terradev_cli-3.7.0/integrations/datadog_integration.py +688 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/__init__.py +7 -1
- terradev_cli-3.7.0/ml_services/guardrails_service.py +395 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kubernetes_enhanced.py +249 -13
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kubernetes_service.py +4 -4
- terradev_cli-3.7.0/ml_services/phoenix_service.py +301 -0
- terradev_cli-3.7.0/ml_services/qdrant_service.py +253 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/vllm_service.py +484 -2
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/setup.py +4 -4
- terradev_cli-3.7.0/terradev_cli/__init__.py +1 -0
- {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli/cli.py +982 -159
- {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli.egg-info/PKG-INFO +74 -72
- terradev_cli-3.7.0/terradev_cli.egg-info/SOURCES.txt +114 -0
- terradev_cli-3.7.0/terradev_cli.egg-info/not-zip-safe +1 -0
- terradev_cli-3.7.0/terradev_cli.egg-info/requires.txt +29 -0
- terradev_cli-3.7.0/terradev_cli.egg-info/top_level.txt +6 -0
- terradev_cli-3.5.2/.clawhubignore +0 -5
- terradev_cli-3.5.2/.ebextensions/python.config +0 -6
- terradev_cli-3.5.2/.env.example +0 -84
- terradev_cli-3.5.2/.env.template +0 -164
- terradev_cli-3.5.2/.github/workflows/ci.yml +0 -105
- terradev_cli-3.5.2/.github/workflows/deploy.yml +0 -30
- terradev_cli-3.5.2/.github/workflows/release.yml +0 -50
- terradev_cli-3.5.2/.github/workflows/static.yml +0 -42
- terradev_cli-3.5.2/BingSiteAuth.xml +0 -4
- terradev_cli-3.5.2/Dockerfile +0 -55
- terradev_cli-3.5.2/Dockerfile.hub +0 -70
- terradev_cli-3.5.2/LICENSE +0 -114
- terradev_cli-3.5.2/MANIFEST.in +0 -33
- terradev_cli-3.5.2/PAGES_README.md +0 -45
- terradev_cli-3.5.2/PROGRESS_UPDATE_JUPYTER.ipynb +0 -445
- terradev_cli-3.5.2/README_ACTION.md +0 -200
- terradev_cli-3.5.2/README_DOCKER.md +0 -287
- terradev_cli-3.5.2/README_JUPYTER.md +0 -382
- terradev_cli-3.5.2/README_long.md +0 -478
- terradev_cli-3.5.2/SKILL.md +0 -241
- terradev_cli-3.5.2/USER_GUIDE.md +0 -601
- terradev_cli-3.5.2/action.py +0 -106
- terradev_cli-3.5.2/action.yml +0 -50
- terradev_cli-3.5.2/activations/973dfe463ec85785f5f95af5ba3906eedb2d931c24e69824a89ea65dba4e813b.json +0 -1
- terradev_cli-3.5.2/ai-discovery.json +0 -114
- terradev_cli-3.5.2/analysis/api-differences-comparison.tf +0 -311
- terradev_cli-3.5.2/analysis/cost-structure-differences.tf +0 -198
- terradev_cli-3.5.2/analysis/inference-arbitrage-pivot.tf +0 -322
- terradev_cli-3.5.2/apis/free-apis-latency-arbitrage.tf +0 -504
- terradev_cli-3.5.2/b2b_roi_analysis.json +0 -142
- terradev_cli-3.5.2/bucket-policy.json +0 -12
- terradev_cli-3.5.2/business/compute-arbitrage-business.md +0 -383
- terradev_cli-3.5.2/byoapi_real_snapshot.json +0 -107
- terradev_cli-3.5.2/clusters/glm-5/README.md +0 -73
- terradev_cli-3.5.2/clusters/glm-5/helm/values-glm5.yaml +0 -152
- terradev_cli-3.5.2/clusters/glm-5/k8s/hpa.yaml +0 -55
- terradev_cli-3.5.2/clusters/glm-5/k8s/model-cache-pvc.yaml +0 -35
- terradev_cli-3.5.2/clusters/glm-5/k8s/namespace.yaml +0 -8
- terradev_cli-3.5.2/clusters/glm-5/k8s/pdb.yaml +0 -14
- terradev_cli-3.5.2/clusters/glm-5/k8s/service.yaml +0 -49
- terradev_cli-3.5.2/clusters/glm-5/k8s/sglang-deployment.yaml +0 -176
- terradev_cli-3.5.2/clusters/glm-5/k8s/vllm-deployment.yaml +0 -215
- terradev_cli-3.5.2/clusters/glm-5/task.yaml +0 -81
- terradev_cli-3.5.2/clusters/glm-5/terraform/main.tf +0 -186
- terradev_cli-3.5.2/clusters/glm-5/terraform/outputs.tf +0 -60
- terradev_cli-3.5.2/clusters/glm-5/terraform/variables.tf +0 -108
- terradev_cli-3.5.2/clusters/moe-template/README.md +0 -141
- terradev_cli-3.5.2/clusters/moe-template/helm/values-moe.yaml +0 -225
- terradev_cli-3.5.2/clusters/moe-template/k8s/deployment.yaml +0 -353
- terradev_cli-3.5.2/clusters/moe-template/k8s/hpa.yaml +0 -51
- terradev_cli-3.5.2/clusters/moe-template/k8s/model-cache-pvc.yaml +0 -19
- terradev_cli-3.5.2/clusters/moe-template/k8s/namespace.yaml +0 -9
- terradev_cli-3.5.2/clusters/moe-template/k8s/pdb.yaml +0 -14
- terradev_cli-3.5.2/clusters/moe-template/k8s/service.yaml +0 -47
- terradev_cli-3.5.2/clusters/moe-template/task.yaml +0 -159
- terradev_cli-3.5.2/clusters/moe-template/terraform/main.tf +0 -209
- terradev_cli-3.5.2/clusters/moe-template/terraform/outputs.tf +0 -60
- terradev_cli-3.5.2/clusters/moe-template/terraform/variables.tf +0 -170
- terradev_cli-3.5.2/complete_weakness_resolution_report.json +0 -1336
- terradev_cli-3.5.2/config.json +0 -1
- terradev_cli-3.5.2/demo/RECORDING_GUIDE.md +0 -80
- terradev_cli-3.5.2/demo/generate_gif.py +0 -339
- terradev_cli-3.5.2/demo/terradev-demo.gif +0 -0
- terradev_cli-3.5.2/demo_k8s_config.yaml +0 -35
- terradev_cli-3.5.2/docker-compose.yml +0 -101
- terradev_cli-3.5.2/docs/ADVANCED_FINANCIAL_INNOVATIONS.md +0 -173
- terradev_cli-3.5.2/docs/API_DOCUMENTATION.md +0 -901
- terradev_cli-3.5.2/docs/BingSiteAuth.xml +0 -4
- terradev_cli-3.5.2/docs/FINOPS_ATTRIBUTION_SYSTEM.md +0 -286
- terradev_cli-3.5.2/docs/USER_GUIDE.md +0 -952
- terradev_cli-3.5.2/docs/architecture.md +0 -228
- terradev_cli-3.5.2/docs/index.html +0 -167
- terradev_cli-3.5.2/docs/robots.txt +0 -28
- terradev_cli-3.5.2/docs/sitemap.xml +0 -45
- terradev_cli-3.5.2/eb_deploy.zip +0 -1
- terradev_cli-3.5.2/genius_data_storage/data_compressor.py +0 -377
- terradev_cli-3.5.2/genius_data_storage/genius_data_demo.py +0 -357
- terradev_cli-3.5.2/genius_data_storage/integrity_verifier.py +0 -582
- terradev_cli-3.5.2/genius_data_storage/main.tf +0 -653
- terradev_cli-3.5.2/genius_data_storage/zero_egress_accessor.py +0 -524
- terradev_cli-3.5.2/gpu-check.sh +0 -84
- terradev_cli-3.5.2/grafana_training_dashboard.json +0 -385
- terradev_cli-3.5.2/helm/terradev/Chart.yaml +0 -38
- terradev_cli-3.5.2/helm/terradev/templates/_helpers.tpl +0 -127
- terradev_cli-3.5.2/helm/terradev/templates/deployment.yaml +0 -176
- terradev_cli-3.5.2/helm/terradev/values.yaml +0 -423
- terradev_cli-3.5.2/index.html +0 -167
- terradev_cli-3.5.2/infrastructure/kubernetes/microservices.yaml +0 -633
- terradev_cli-3.5.2/infrastructure/terraform/main.tf +0 -1279
- terradev_cli-3.5.2/integrations/cli-tool.tf +0 -606
- terradev_cli-3.5.2/integrations/cloud-management-widgets.tf +0 -131
- terradev_cli-3.5.2/integrations/cloud-provider-apis.py +0 -602
- terradev_cli-3.5.2/integrations/critical-widgets.tf +0 -933
- terradev_cli-3.5.2/integrations/devops-cicd-widgets.tf +0 -243
- terradev_cli-3.5.2/integrations/devops-essential-tools.tf +0 -314
- terradev_cli-3.5.2/integrations/docker-integration.tf +0 -423
- terradev_cli-3.5.2/integrations/kubernetes-operator.tf +0 -276
- terradev_cli-3.5.2/integrations/mlflow-integration.tf +0 -366
- terradev_cli-3.5.2/kaggle_notebooks/01_hf_spaces_cost_optimization.ipynb +0 -456
- terradev_cli-3.5.2/kubernetes_training_deployment.yaml +0 -253
- terradev_cli-3.5.2/llms.txt +0 -209
- terradev_cli-3.5.2/nginx.conf +0 -30
- terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/.clawhubignore +0 -5
- terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/LICENSE +0 -21
- terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/README.md +0 -106
- terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/SKILL.md +0 -314
- terradev_cli-3.5.2/openclaw-skill/terradev-gpu-cloud/gpu-check.sh +0 -84
- terradev_cli-3.5.2/parallel_provisioning.tf +0 -330
- terradev_cli-3.5.2/partnerships/brand-partnerships.tf +0 -523
- terradev_cli-3.5.2/partnerships/partnership-roadmap.tf +0 -232
- terradev_cli-3.5.2/pricing_analysis_report.json +0 -164
- terradev_cli-3.5.2/prometheus_training_config.yml +0 -185
- terradev_cli-3.5.2/provision_based_pricing_analysis.json +0 -111
- terradev_cli-3.5.2/pypi_traffic_report.json +0 -84
- terradev_cli-3.5.2/pyproject.toml +0 -177
- terradev_cli-3.5.2/pyproject_v2.toml +0 -119
- terradev_cli-3.5.2/real_day_one_snapshot.json +0 -52
- terradev_cli-3.5.2/remaining_25_analysis_report.json +0 -722
- terradev_cli-3.5.2/render.yaml +0 -18
- terradev_cli-3.5.2/requirements-render.txt +0 -1
- terradev_cli-3.5.2/requirements.txt +0 -56
- terradev_cli-3.5.2/requirements_api.txt +0 -8
- terradev_cli-3.5.2/requirements_eb.txt +0 -4
- terradev_cli-3.5.2/requirements_stripe.txt +0 -5
- terradev_cli-3.5.2/robots.txt +0 -28
- terradev_cli-3.5.2/setup/Lambda Cloud API spec 1.8.3.json +0 -4816
- terradev_cli-3.5.2/setup/account-setup-guide.tf +0 -393
- terradev_cli-3.5.2/setup/setup.sh +0 -411
- terradev_cli-3.5.2/sitemap.xml +0 -45
- terradev_cli-3.5.2/telemetry_production.db-shm +0 -0
- terradev_cli-3.5.2/telemetry_production.db-wal +0 -0
- terradev_cli-3.5.2/terradev_cli/CHANGELOG.md +0 -163
- terradev_cli-3.5.2/terradev_cli/README.md +0 -286
- terradev_cli-3.5.2/terradev_cli/README_old.md +0 -492
- terradev_cli-3.5.2/terradev_cli/README_with_emojis.md +0 -356
- terradev_cli-3.5.2/terradev_cli/__init__.py +0 -10
- terradev_cli-3.5.2/terradev_cli/__main__.py +0 -20
- terradev_cli-3.5.2/terradev_cli/bandit-report.json +0 -388
- terradev_cli-3.5.2/terradev_cli/cli_clean.py +0 -35
- terradev_cli-3.5.2/terradev_cli/cli_enhanced.py +0 -577
- terradev_cli-3.5.2/terradev_cli/cli_final.py +0 -823
- terradev_cli-3.5.2/terradev_cli/cli_simple.py +0 -249
- terradev_cli-3.5.2/terradev_cli/cli_tiered.py +0 -372
- terradev_cli-3.5.2/terradev_cli/core/helm_generator.py +0 -769
- terradev_cli-3.5.2/terradev_cli/core/manifest_example.json +0 -1
- terradev_cli-3.5.2/terradev_cli/core/semantic_signals/routing_policy.yaml +0 -135
- terradev_cli-3.5.2/terradev_cli/cost_optimizer.py +0 -518
- terradev_cli-3.5.2/terradev_cli/credential_prompt.py +0 -164
- terradev_cli-3.5.2/terradev_cli/demo.py +0 -375
- terradev_cli-3.5.2/terradev_cli/entry_point.py +0 -210
- terradev_cli-3.5.2/terradev_cli/integrations/Terradev LOGO BLACK.png +0 -0
- terradev_cli-3.5.2/terradev_cli/integrations/Terradev LOGO WHITEW.png +0 -0
- terradev_cli-3.5.2/terradev_cli/k8s/terraform_wrapper.py +0 -425
- terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-cost-optimized.yaml +0 -630
- terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-infrastructure.yaml +0 -404
- terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-models.yaml +0 -531
- terradev_cli-3.5.2/terradev_cli/kubernetes/inferx-platform.yaml +0 -619
- terradev_cli-3.5.2/terradev_cli/kubernetes/inferx_setup.py +0 -550
- terradev_cli-3.5.2/terradev_cli/requirements.txt +0 -3
- terradev_cli-3.5.2/terradev_cli/requirements_minimal.txt +0 -3
- terradev_cli-3.5.2/terradev_cli/safety-report.json +0 -18554
- terradev_cli-3.5.2/terradev_cli/telemetry_protection.py +0 -180
- terradev_cli-3.5.2/terradev_cli/terraform/main.tf +0 -139
- terradev_cli-3.5.2/terradev_cli/terraform/modules/__init__.py +0 -19
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/bootstrap.sh +0 -271
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/main.tf +0 -138
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/outputs.tf +0 -69
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/variables.tf +0 -83
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-aws/versions.tf +0 -12
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/bootstrap.sh +0 -231
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/main.tf +0 -103
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/outputs.tf +0 -59
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/variables.tf +0 -63
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-hyperstack/versions.tf +0 -12
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/bootstrap.sh +0 -231
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/main.tf +0 -103
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/outputs.tf +0 -59
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/variables.tf +0 -63
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-lambda/versions.tf +0 -12
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/bootstrap.sh +0 -231
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/main.tf +0 -103
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/outputs.tf +0 -59
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/variables.tf +0 -63
- terradev_cli-3.5.2/terradev_cli/terraform/modules/gpu-node-vastai/versions.tf +0 -12
- terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/join-script.tpl +0 -95
- terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/kubeconfig.tpl +0 -29
- terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/main.tf +0 -183
- terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/outputs.tf +0 -50
- terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/variables.tf +0 -59
- terradev_cli-3.5.2/terradev_cli/terraform/modules/k8s-control-plane/versions.tf +0 -16
- terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/main.tf +0 -193
- terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/outputs.tf +0 -50
- terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/variables.tf +0 -52
- terradev_cli-3.5.2/terradev_cli/terraform/modules/networking/versions.tf +0 -12
- terradev_cli-3.5.2/terradev_cli/terraform/outputs.tf +0 -118
- terradev_cli-3.5.2/terradev_cli/terraform/price-optimizer/optimal-allocation.py +0 -188
- terradev_cli-3.5.2/terradev_cli/terraform/providers.tf +0 -22
- terradev_cli-3.5.2/terradev_cli/terraform/variables.tf +0 -95
- terradev_cli-3.5.2/terradev_cli.egg-info/SOURCES.txt +0 -343
- terradev_cli-3.5.2/terradev_cli.egg-info/requires.txt +0 -59
- terradev_cli-3.5.2/terradev_cli.egg-info/top_level.txt +0 -1
- terradev_cli-3.5.2/terraform.tfvars.example +0 -50
- terradev_cli-3.5.2/terraform_cli/README.md +0 -471
- terradev_cli-3.5.2/terraform_cli/demo_usage.py +0 -152
- terradev_cli-3.5.2/terraform_cli/install.sh +0 -346
- terradev_cli-3.5.2/terraform_cli/terradev_cli.py +0 -717
- terradev_cli-3.5.2/terraform_optimization/backend.tf +0 -606
- terradev_cli-3.5.2/terraform_optimization/error_handling.py +0 -742
- terradev_cli-3.5.2/terraform_optimization/storage_choice_matrix.py +0 -681
- terradev_cli-3.5.2/terraform_optimization/test_error_handler.py +0 -83
- terradev_cli-3.5.2/terraform_optimization/versions.tf +0 -668
- terradev_cli-3.5.2/terraform_transparency/audit_demo/trail_3caed73ad5bf.json +0 -428
- terradev_cli-3.5.2/terraform_transparency/audit_trail.py +0 -610
- terradev_cli-3.5.2/terraform_transparency/audit_trails.json +0 -430
- terradev_cli-3.5.2/terraform_transparency/decision_engine.py +0 -671
- terradev_cli-3.5.2/terraform_transparency/decision_logs.json +0 -192
- terradev_cli-3.5.2/terraform_transparency/operations.json +0 -45
- terradev_cli-3.5.2/terraform_transparency/terraform_manager.py +0 -627
- terradev_cli-3.5.2/terraform_transparency/terraform_plans.json +0 -1
- terradev_cli-3.5.2/terraform_transparency/transparency_demo.py +0 -417
- terradev_cli-3.5.2/terraform_transparency/transparency_report.json +0 -33
- terradev_cli-3.5.2/tests/INTEGRATION_STRATEGY.md +0 -337
- terradev_cli-3.5.2/tests/Makefile +0 -201
- terradev_cli-3.5.2/tests/ci_pipeline.py +0 -480
- terradev_cli-3.5.2/tests/conftest.py +0 -10
- terradev_cli-3.5.2/tests/simple_test.py +0 -181
- terradev_cli-3.5.2/tests/test_checkpoint_manager.py +0 -198
- terradev_cli-3.5.2/tests/test_cli_smoke.py +0 -200
- terradev_cli-3.5.2/tests/test_dag_executor.py +0 -400
- terradev_cli-3.5.2/tests/test_integration.py +0 -577
- terradev_cli-3.5.2/tests/test_job_state_manager.py +0 -307
- terradev_cli-3.5.2/tests/test_providers.py +0 -264
- terradev_cli-3.5.2/tests/test_semantic_router.py +0 -1474
- terradev_cli-3.5.2/tests/test_ssh_key_manager.py +0 -154
- terradev_cli-3.5.2/tests/test_training_monitor.py +0 -237
- terradev_cli-3.5.2/tests/test_training_orchestrator.py +0 -321
- terradev_cli-3.5.2/volatility_charts/aws_a100_volatility.png +0 -0
- terradev_cli-3.5.2/volatility_charts/aws_v100_volatility.png +0 -0
- terradev_cli-3.5.2/volatility_charts/runpod_a100_volatility.png +0 -0
- terradev_cli-3.5.2/volatility_charts/runpod_v100_volatility.png +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/__init__.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/auth.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/checkpoint_manager.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/config.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/cost_scaler.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/cost_tracker.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/dag_executor.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/data_governance.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/dataset_stager.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/deployment_router.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/drift_detector.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/egress_optimizer.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/gitops_manager.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/gpu_topology.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/helm_generator_old.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/hf_cli_integration.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/hf_smart_templates.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/hf_spaces.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/inference_router.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/job_state_manager.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/manifest_cache.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/model_orchestrator.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/parallel_provisioner.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/preflight_validator.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/price_discovery.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/price_discovery_mock.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/price_intelligence.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/quick_start.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/rate_limiter.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_router.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/__init__.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/base_signal.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/complexity_signal.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/domain_signal.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/keyword_signal.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/language_signal.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/modality_signal.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/orchestrator.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/semantic_signals/safety_signal.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/ssh_key_manager.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/telemetry.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/telemetry_backup.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/terradev_engine.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/tier_manager.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/training_monitor.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/core/warm_pool_manager.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/integrations/__init__.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/integrations/prometheus_integration.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/integrations/wandb_integration.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/dvc_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/huggingface_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kserve_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/kubernetes_enhanced_fixed.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/langchain_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/langgraph_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/langsmith_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/lmcache_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/mlflow_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/ollama_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/ray_enhanced.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/ray_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/sglang_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/wandb_enhanced.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/ml_services/wandb_service.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/__init__.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/alibaba_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/aws_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/azure_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/base_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/baseten_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/coreweave_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/crusoe_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/demo_mode.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/digitalocean_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/fluidstack_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/gcp_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/hetzner_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/huggingface_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/hyperstack_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/inferx_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/lambda_labs_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/oracle_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/ovhcloud_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/provider_factory.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/real_pricing.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/runpod_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/siliconflow_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/tensordock_provider.py +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/providers/vastai_provider.py +0 -0
- {terradev_cli-3.5.2 → terradev_cli-3.7.0}/setup.cfg +0 -0
- {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli.egg-info/dependency_links.txt +0 -0
- {terradev_cli-3.5.2 → terradev_cli-3.7.0}/terradev_cli.egg-info/entry_points.txt +0 -0
- {terradev_cli-3.5.2/terradev_cli → terradev_cli-3.7.0}/utils/__init__.py +0 -0
- {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.
|
|
4
|
-
Summary: Cross-cloud GPU provisioning with
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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:
|
|
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
|
-
|
|
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:
|
|
56
|
-
Requires-Dist:
|
|
57
|
-
|
|
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:
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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.
|
|
52
|
+
# Terradev CLI v3.7.0
|
|
88
53
|
|
|
89
|
-
**Compare GPU prices across
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
#
|
|
355
|
+
# 6. Provision the cheapest instance (real API call)
|
|
354
356
|
terradev provision -g A100
|
|
355
357
|
|
|
356
|
-
#
|
|
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
|
-
#
|
|
362
|
+
# 8. Use ML services
|
|
361
363
|
terradev ml wandb --test
|
|
362
364
|
terradev ml langchain --create-workflow my-workflow
|
|
363
365
|
|
|
364
|
-
#
|
|
366
|
+
# 9. View analytics
|
|
365
367
|
python user_analytics.py
|
|
366
368
|
|
|
367
|
-
#
|
|
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.
|
|
1
|
+
# Terradev CLI v3.7.0
|
|
2
2
|
|
|
3
|
-
**Compare GPU prices across
|
|
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
|
-
##
|
|
9
|
+
## 🚀 What's New in v3.7.0
|
|
10
10
|
|
|
11
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
#
|
|
304
|
+
# 6. Provision the cheapest instance (real API call)
|
|
268
305
|
terradev provision -g A100
|
|
269
306
|
|
|
270
|
-
#
|
|
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
|
-
#
|
|
311
|
+
# 8. Use ML services
|
|
275
312
|
terradev ml wandb --test
|
|
276
313
|
terradev ml langchain --create-workflow my-workflow
|
|
277
314
|
|
|
278
|
-
#
|
|
315
|
+
# 9. View analytics
|
|
279
316
|
python user_analytics.py
|
|
280
317
|
|
|
281
|
-
#
|
|
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
|