dayhoff-tools 1.13.18__py3-none-any.whl → 1.14.1__py3-none-any.whl

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.
@@ -143,13 +143,17 @@ def make_api_request(
143
143
  api_url = get_api_url()
144
144
  url = f"{api_url}{endpoint}"
145
145
 
146
+ # Mark this as intentional v1 API usage (via engine1/studio1 commands)
147
+ # This prevents the deprecation error for users who explicitly choose v1
148
+ headers = {"X-DH-V1-Explicit": "true"}
149
+
146
150
  try:
147
151
  if method == "GET":
148
- response = requests.get(url, params=params)
152
+ response = requests.get(url, params=params, headers=headers)
149
153
  elif method == "POST":
150
- response = requests.post(url, json=json_data)
154
+ response = requests.post(url, json=json_data, headers=headers)
151
155
  elif method == "DELETE":
152
- response = requests.delete(url)
156
+ response = requests.delete(url, headers=headers)
153
157
  else:
154
158
  raise ValueError(f"Unsupported HTTP method: {method}")
155
159
 
dayhoff_tools/cli/main.py CHANGED
@@ -6,7 +6,7 @@ from importlib.metadata import PackageNotFoundError, version
6
6
  import typer
7
7
  from dayhoff_tools.cli.cloud_commands import aws_app, gcp_app
8
8
  from dayhoff_tools.cli.github_commands import gh_app
9
- from dayhoff_tools.cli.engine1 import engine_app, studio_app
9
+ from dayhoff_tools.cli.engine1 import engine_app as engine1_app, studio_app as studio1_app
10
10
  from dayhoff_tools.cli.utility_commands import (
11
11
  add_dependency,
12
12
  build_and_upload_wheel,
@@ -70,23 +70,50 @@ app.add_typer(gcp_app, name="gcp", help="Manage GCP authentication and impersona
70
70
  app.add_typer(aws_app, name="aws", help="Manage AWS SSO authentication.")
71
71
  app.add_typer(gh_app, name="gh", help="Manage GitHub authentication.")
72
72
 
73
- # Engine and Studio commands (original implementation)
74
- app.add_typer(engine_app, name="engine", help="Manage compute engines for development.")
75
- app.add_typer(studio_app, name="studio", help="Manage persistent development studios.")
73
+ # Engine and Studio commands (v2 - new default with progress tracking)
74
+ # These use Click instead of Typer, so we need a passthrough wrapper
75
+ @app.command(
76
+ "engine",
77
+ context_settings={"allow_extra_args": True, "ignore_unknown_options": True},
78
+ add_help_option=False,
79
+ )
80
+ def engine_cmd(ctx: typer.Context):
81
+ """Manage compute engines for development."""
82
+ from dayhoff_tools.cli.engines_studios import engine_cli
76
83
 
84
+ # Pass arguments directly to Click CLI
85
+ engine_cli(ctx.args, standalone_mode=False)
77
86
 
78
- # Engine and Studio commands (new implementation with progress tracking)
79
- # These use Click instead of Typer, so we need a passthrough wrapper
87
+
88
+ @app.command(
89
+ "studio",
90
+ context_settings={"allow_extra_args": True, "ignore_unknown_options": True},
91
+ add_help_option=False,
92
+ )
93
+ def studio_cmd(ctx: typer.Context):
94
+ """Manage persistent development studios."""
95
+ from dayhoff_tools.cli.engines_studios import studio_cli
96
+
97
+ # Pass arguments directly to Click CLI
98
+ studio_cli(ctx.args, standalone_mode=False)
99
+
100
+
101
+ # Engine and Studio commands (v1 - legacy, uses old infrastructure)
102
+ app.add_typer(engine1_app, name="engine1", help="[Legacy v1] Manage engines.")
103
+ app.add_typer(studio1_app, name="studio1", help="[Legacy v1] Manage studios.")
104
+
105
+
106
+ # Backward compatibility aliases for v2 commands (engine2/studio2 -> engine/studio)
80
107
  @app.command(
81
108
  "engine2",
82
109
  context_settings={"allow_extra_args": True, "ignore_unknown_options": True},
83
110
  add_help_option=False,
111
+ hidden=True, # Hide from help, but still works
84
112
  )
85
113
  def engine2_cmd(ctx: typer.Context):
86
- """Manage engines (new implementation with progress tracking)."""
114
+ """[Alias] Use 'dh engine' instead."""
87
115
  from dayhoff_tools.cli.engines_studios import engine_cli
88
116
 
89
- # Pass arguments directly to Click CLI
90
117
  engine_cli(ctx.args, standalone_mode=False)
91
118
 
92
119
 
@@ -94,12 +121,12 @@ def engine2_cmd(ctx: typer.Context):
94
121
  "studio2",
95
122
  context_settings={"allow_extra_args": True, "ignore_unknown_options": True},
96
123
  add_help_option=False,
124
+ hidden=True, # Hide from help, but still works
97
125
  )
98
126
  def studio2_cmd(ctx: typer.Context):
99
- """Manage studios (new implementation with progress tracking)."""
127
+ """[Alias] Use 'dh studio' instead."""
100
128
  from dayhoff_tools.cli.engines_studios import studio_cli
101
129
 
102
- # Pass arguments directly to Click CLI
103
130
  studio_cli(ctx.args, standalone_mode=False)
104
131
 
105
132
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dayhoff-tools
3
- Version: 1.13.18
3
+ Version: 1.14.1
4
4
  Summary: Common tools for all the repos at Dayhoff Labs
5
5
  Author: Daniel Martin-Alarcon
6
6
  Author-email: dma@dayhofflabs.com
@@ -8,7 +8,7 @@ dayhoff_tools/cli/engine1/engine_core.py,sha256=TECO6766GCZTtbxOY7QRggwmjpMH9JZS
8
8
  dayhoff_tools/cli/engine1/engine_lifecycle.py,sha256=_Dk-EZs_qbm8APdOuGOuxhlbK6RgkkoLk2nrwKoo1-A,4519
9
9
  dayhoff_tools/cli/engine1/engine_maintenance.py,sha256=S9w2_Ko2C3zKpzOux-iG8QUYn0sIua6oJkC8d-7HVxw,16301
10
10
  dayhoff_tools/cli/engine1/engine_management.py,sha256=s_H3FtMlKsdfzR8pwV-j2W2QX-Fypkqj2kPC0aTqC1A,19072
11
- dayhoff_tools/cli/engine1/shared.py,sha256=Ecx6I1jtzmxQDn3BezKpgpQ4SJeZf4SZjUCLg-67p80,16844
11
+ dayhoff_tools/cli/engine1/shared.py,sha256=2fP9BbBmoVhWx58E2nSbMIPJ73Pcy97lBR4a6Cc4taM,17091
12
12
  dayhoff_tools/cli/engine1/studio_commands.py,sha256=VwTQujz32-uMcYusDRE73SdzRpgvIkv7ZAF4zRv6AzA,30266
13
13
  dayhoff_tools/cli/engines_studios/__init__.py,sha256=E6aG0C6qjJnJuClemSKRFlYvLUL49MQZOvfqNQ7SDKs,159
14
14
  dayhoff_tools/cli/engines_studios/api_client.py,sha256=9mCVRjPUCYa7cFx29uVwYxmHPAM5FwsU9xdplvgftxs,13444
@@ -26,7 +26,7 @@ dayhoff_tools/cli/engines_studios/simulators/studio_list_simulator.py,sha256=nti
26
26
  dayhoff_tools/cli/engines_studios/simulators/studio_status_simulator.py,sha256=6WvpnRawJVaQf_H81zuR1_66igRRVxPxjAt8e69xjp4,5394
27
27
  dayhoff_tools/cli/engines_studios/studio_commands.py,sha256=4ul6i8HDHZTffavu1y_j4kwvsDNvjMvYMWbZGXN8nKY,25597
28
28
  dayhoff_tools/cli/github_commands.py,sha256=pfrxI68LObGm_gtPlQN-gHPahHV4l9k9T4GqO99NNL0,8948
29
- dayhoff_tools/cli/main.py,sha256=6DLwNscPJccv3-07vnOnwxz3Vgbl7lRazFenZ66mYls,7264
29
+ dayhoff_tools/cli/main.py,sha256=Vmfqzabc2ZZ6Uoq9mfEA5ko1r5eGXMf9uJqagIBQUC0,8091
30
30
  dayhoff_tools/cli/swarm_commands.py,sha256=5EyKj8yietvT5lfoz8Zx0iQvVaNgc3SJX1z2zQR6o6M,5614
31
31
  dayhoff_tools/cli/utility_commands.py,sha256=e2P4dCCtoqMUGNyb0lFBZ6GZpl5Zslm1qqE5qIvsy38,50765
32
32
  dayhoff_tools/deployment/base.py,sha256=uZnFvnPQx6pH_HmJbdThweAs3BrxMaDohpE3iX_-yk4,18377
@@ -49,7 +49,7 @@ dayhoff_tools/intake/uniprot.py,sha256=BZYJQF63OtPcBBnQ7_P9gulxzJtqyorgyuDiPeOJq
49
49
  dayhoff_tools/logs.py,sha256=DKdeP0k0kliRcilwvX0mUB2eipO5BdWUeHwh-VnsICs,838
50
50
  dayhoff_tools/sqlite.py,sha256=jV55ikF8VpTfeQqqlHSbY8OgfyfHj8zgHNpZjBLos_E,18672
51
51
  dayhoff_tools/warehouse.py,sha256=UETBtZD3r7WgvURqfGbyHlT7cxoiVq8isjzMuerKw8I,24475
52
- dayhoff_tools-1.13.18.dist-info/METADATA,sha256=jLFLKqtiPfoH0ZN6JyWceIhoybMQIAJ_WE_tRIZGTRA,2981
53
- dayhoff_tools-1.13.18.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
54
- dayhoff_tools-1.13.18.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
55
- dayhoff_tools-1.13.18.dist-info/RECORD,,
52
+ dayhoff_tools-1.14.1.dist-info/METADATA,sha256=9hTqtnpcQc7Ehvx2YP13N8mVZNiYE__EB0HiWj9_rPA,2980
53
+ dayhoff_tools-1.14.1.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
54
+ dayhoff_tools-1.14.1.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
55
+ dayhoff_tools-1.14.1.dist-info/RECORD,,