deployml-core 0.0.53__tar.gz → 0.0.55__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.
- {deployml_core-0.0.53 → deployml_core-0.0.55}/PKG-INFO +1 -1
- {deployml_core-0.0.53 → deployml_core-0.0.55}/pyproject.toml +7 -1
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/cli/cli.py +84 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/LICENSE +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/README.md +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/__init__.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/api.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/cli/__init__.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/diagnostics/__init__.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/diagnostics/doctor.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/enum/__init__.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/enum/cloud_provider.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/enum/deployment_type.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/notebook/__init__.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/notebook/deployment.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/notebook/display.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/notebook/stack.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/notebook/urls.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/notebook.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/base_main.tf.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/main.tf.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/mlflow_main.tf.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/terraform.tfvars.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/variables.tf.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/wandb_main.tf.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_vm/main.tf.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_vm/terraform.tfvars.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_vm/variables.tf.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/kubernetes_local/deployment.yaml.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/kubernetes_local/mlflow-deployment.yaml.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/kubernetes_local/mlflow-service.yaml.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/kubernetes_local/service.yaml.j2 +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/cloud_sql_postgres/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/cloud_sql_postgres/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/cloud_sql_postgres/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/cron/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/cron/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/cron/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/explainability_monitoring/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/explainability_monitoring/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/explainability_monitoring/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/fairness_monitoring/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/fairness_monitoring/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/fairness_monitoring/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/fastapi/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/fastapi/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/fastapi/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/feast/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/feast/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/feast/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/feast/cloud/gcp/cloud_vm/feast_env.tpl +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/feast/cloud/gcp/cloud_vm/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/feast/cloud/gcp/cloud_vm/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/feast/cloud/gcp/cloud_vm/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/grafana/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/mlflow/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/mlflow/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/mlflow/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/mlflow/cloud/gcp/cloud_vm/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/mlflow/cloud/gcp/cloud_vm/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/offline_scoring/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/offline_scoring/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/offline_scoring/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/teardown/cloud/gcp/cloud_function/main.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/teardown/cloud/gcp/cloud_function/requirements.txt +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/teardown/cloud/gcp/cloudbuild.yaml +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/teardown/cloud/gcp/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/teardown/cloud/gcp/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/teardown/cloud/gcp/teardown_script.sh +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/teardown/cloud/gcp/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/wandb/cloud/gcp/cloud_run/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/wandb/cloud/gcp/cloud_run/outputs.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/wandb/cloud/gcp/cloud_run/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/wandb/cloud/gcp/cloud_vm/main.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/terraform/modules/wandb/cloud/gcp/cloud_vm/variables.tf +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/__init__.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/banner.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/constants.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/helpers.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/infracost.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/kubernetes_gke.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/kubernetes_local.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/menu.py +0 -0
- {deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/utils/teardown.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
[project]
|
|
3
3
|
name = "deployml-core"
|
|
4
|
-
version = "0.0.
|
|
4
|
+
version = "0.0.55"
|
|
5
5
|
description = "Infra for academia"
|
|
6
6
|
authors = [
|
|
7
7
|
{name = "Drew Hoang", email = "codentell@gmail.com"},
|
|
@@ -30,7 +30,13 @@ deployml = "deployml.cli.cli:main"
|
|
|
30
30
|
[tool.poetry]
|
|
31
31
|
packages = [{include = "deployml", from = "src"}]
|
|
32
32
|
|
|
33
|
+
[tool.setuptools]
|
|
34
|
+
include-package-data = true
|
|
33
35
|
|
|
36
|
+
[tool.setuptools.package-data]
|
|
37
|
+
mlops_infra = [
|
|
38
|
+
"docker/**"
|
|
39
|
+
]
|
|
34
40
|
|
|
35
41
|
[build-system]
|
|
36
42
|
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
|
@@ -23,6 +23,8 @@ import string
|
|
|
23
23
|
from google.cloud import storage
|
|
24
24
|
import hashlib
|
|
25
25
|
|
|
26
|
+
from deployml.notebook.docker import build_images
|
|
27
|
+
|
|
26
28
|
# Import refactored utility functions
|
|
27
29
|
from deployml.utils.helpers import (
|
|
28
30
|
check,
|
|
@@ -2215,6 +2217,88 @@ def gke_apply(
|
|
|
2215
2217
|
typer.echo(f" Check: {manifests_dir}")
|
|
2216
2218
|
|
|
2217
2219
|
|
|
2220
|
+
@cli.command("build-images")
|
|
2221
|
+
def build_images_command(
|
|
2222
|
+
docker_root: Path = typer.Option(
|
|
2223
|
+
...,
|
|
2224
|
+
"--docker-root",
|
|
2225
|
+
"-d",
|
|
2226
|
+
help="Path to folder containing subfolders with Dockerfiles.",
|
|
2227
|
+
exists=True,
|
|
2228
|
+
file_okay=False,
|
|
2229
|
+
dir_okay=True,
|
|
2230
|
+
resolve_path=True,
|
|
2231
|
+
),
|
|
2232
|
+
gcp_project: Optional[str] = typer.Option(
|
|
2233
|
+
None,
|
|
2234
|
+
"--gcp-project",
|
|
2235
|
+
"-p",
|
|
2236
|
+
help="If provided, images will be built using Cloud Build in this GCP project.",
|
|
2237
|
+
),
|
|
2238
|
+
region: str = typer.Option(
|
|
2239
|
+
"us-central1",
|
|
2240
|
+
"--region",
|
|
2241
|
+
help="GCP region for Artifact Registry.",
|
|
2242
|
+
),
|
|
2243
|
+
repository: str = typer.Option(
|
|
2244
|
+
"mlops-images",
|
|
2245
|
+
"--repository",
|
|
2246
|
+
help="Artifact Registry repository name.",
|
|
2247
|
+
),
|
|
2248
|
+
tag: str = typer.Option(
|
|
2249
|
+
"latest",
|
|
2250
|
+
"--tag",
|
|
2251
|
+
"-t",
|
|
2252
|
+
help="Image tag to apply.",
|
|
2253
|
+
),
|
|
2254
|
+
create_repo: bool = typer.Option(
|
|
2255
|
+
False,
|
|
2256
|
+
"--create-repo",
|
|
2257
|
+
help="Create the Artifact Registry repository if it does not exist (GCP mode only).",
|
|
2258
|
+
),
|
|
2259
|
+
dry_run: bool = typer.Option(
|
|
2260
|
+
False,
|
|
2261
|
+
"--dry-run",
|
|
2262
|
+
help="Show what would be built without executing Docker or gcloud commands.",
|
|
2263
|
+
),
|
|
2264
|
+
):
|
|
2265
|
+
"""
|
|
2266
|
+
Build all Docker images found in subdirectories of the given folder.
|
|
2267
|
+
|
|
2268
|
+
Local mode:
|
|
2269
|
+
Builds using Docker.
|
|
2270
|
+
|
|
2271
|
+
GCP mode:
|
|
2272
|
+
Uses Cloud Build and pushes to Artifact Registry.
|
|
2273
|
+
|
|
2274
|
+
--dry-run prints commands without executing them.
|
|
2275
|
+
"""
|
|
2276
|
+
|
|
2277
|
+
if create_repo and not gcp_project:
|
|
2278
|
+
typer.secho(
|
|
2279
|
+
"--create-repo can only be used with --gcp-project.",
|
|
2280
|
+
fg=typer.colors.RED,
|
|
2281
|
+
)
|
|
2282
|
+
raise typer.Exit(code=1)
|
|
2283
|
+
|
|
2284
|
+
try:
|
|
2285
|
+
build_images(
|
|
2286
|
+
docker_root=docker_root,
|
|
2287
|
+
gcp_project_id=gcp_project,
|
|
2288
|
+
region=region,
|
|
2289
|
+
repository=repository,
|
|
2290
|
+
tag=tag,
|
|
2291
|
+
create_repo=create_repo,
|
|
2292
|
+
dry_run=dry_run,
|
|
2293
|
+
)
|
|
2294
|
+
|
|
2295
|
+
if not dry_run:
|
|
2296
|
+
typer.secho("Image build completed successfully.", fg=typer.colors.GREEN)
|
|
2297
|
+
|
|
2298
|
+
except Exception as e:
|
|
2299
|
+
typer.secho(f"Error building images: {e}", fg=typer.colors.RED)
|
|
2300
|
+
raise typer.Exit(code=1)
|
|
2301
|
+
|
|
2218
2302
|
def main():
|
|
2219
2303
|
"""
|
|
2220
2304
|
Entry point for the DeployML CLI.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/base_main.tf.j2
RENAMED
|
File without changes
|
{deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/main.tf.j2
RENAMED
|
File without changes
|
{deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/mlflow_main.tf.j2
RENAMED
|
File without changes
|
|
File without changes
|
{deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/variables.tf.j2
RENAMED
|
File without changes
|
{deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_run/wandb_main.tf.j2
RENAMED
|
File without changes
|
{deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_vm/main.tf.j2
RENAMED
|
File without changes
|
|
File without changes
|
{deployml_core-0.0.53 → deployml_core-0.0.55}/src/deployml/templates/gcp/cloud_vm/variables.tf.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|