treadstone-cli 0.2.3__tar.gz → 0.3.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.
@@ -1,3 +1,13 @@
1
+ Metadata-Version: 2.4
2
+ Name: treadstone-cli
3
+ Version: 0.3.0
4
+ Summary: CLI for the Treadstone sandbox service.
5
+ Requires-Python: >=3.12
6
+ Requires-Dist: click>=8.1
7
+ Requires-Dist: httpx>=0.28.1
8
+ Requires-Dist: rich>=14.0
9
+ Description-Content-Type: text/markdown
10
+
1
11
  # Treadstone CLI
2
12
 
3
13
  Command-line interface for the Treadstone sandbox service.
@@ -41,6 +51,8 @@ treadstone config set api_key ts_live_xxxxxxxxxxxx
41
51
 
42
52
  # Create a sandbox
43
53
  treadstone sandboxes create --template default --name my-sandbox
54
+ # Name rules: 1-55 chars, lowercase letters/numbers/hyphens only,
55
+ # and must start/end with a letter or number.
44
56
 
45
57
  # List sandboxes
46
58
  treadstone sb list
@@ -133,6 +145,9 @@ treadstone auth delete-user <user-id> # Delete a user (admin)
133
145
 
134
146
  Create and manage sandboxes.
135
147
 
148
+ Custom sandbox names must be 1-55 characters of lowercase letters, numbers, or hyphens. They must start and end
149
+ with a letter or number. This keeps browser URLs like `sandbox-{name}.treadstone-ai.dev` within DNS label limits.
150
+
136
151
  ```bash
137
152
  treadstone sb create --template default --name my-box
138
153
  treadstone sb create --template python --label env:dev --persist
@@ -1,13 +1,3 @@
1
- Metadata-Version: 2.4
2
- Name: treadstone-cli
3
- Version: 0.2.3
4
- Summary: CLI for the Treadstone sandbox service.
5
- Requires-Python: >=3.12
6
- Requires-Dist: click>=8.1
7
- Requires-Dist: httpx>=0.28.1
8
- Requires-Dist: rich>=14.0
9
- Description-Content-Type: text/markdown
10
-
11
1
  # Treadstone CLI
12
2
 
13
3
  Command-line interface for the Treadstone sandbox service.
@@ -51,6 +41,8 @@ treadstone config set api_key ts_live_xxxxxxxxxxxx
51
41
 
52
42
  # Create a sandbox
53
43
  treadstone sandboxes create --template default --name my-sandbox
44
+ # Name rules: 1-55 chars, lowercase letters/numbers/hyphens only,
45
+ # and must start/end with a letter or number.
54
46
 
55
47
  # List sandboxes
56
48
  treadstone sb list
@@ -143,6 +135,9 @@ treadstone auth delete-user <user-id> # Delete a user (admin)
143
135
 
144
136
  Create and manage sandboxes.
145
137
 
138
+ Custom sandbox names must be 1-55 characters of lowercase letters, numbers, or hyphens. They must start and end
139
+ with a letter or number. This keeps browser URLs like `sandbox-{name}.treadstone-ai.dev` within DNS label limits.
140
+
146
141
  ```bash
147
142
  treadstone sb create --template default --name my-box
148
143
  treadstone sb create --template python --label env:dev --persist
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "treadstone-cli"
7
- version = "0.2.3"
7
+ version = "0.3.0"
8
8
  description = "CLI for the Treadstone sandbox service."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -25,7 +25,15 @@ def sandboxes() -> None:
25
25
 
26
26
  @sandboxes.command("create")
27
27
  @click.option("--template", required=True, help="Sandbox template name.")
28
- @click.option("--name", default=None, help="Sandbox name (auto-generated if omitted).")
28
+ @click.option(
29
+ "--name",
30
+ default=None,
31
+ help=(
32
+ "Sandbox name (auto-generated if omitted). Must be 1-55 characters of lowercase letters, "
33
+ "numbers, or hyphens; must start and end with a letter or number. "
34
+ "This keeps sandbox-{name} within DNS label limits."
35
+ ),
36
+ )
29
37
  @click.option("--label", multiple=True, help="Labels in key:val format (repeatable).")
30
38
  @click.option("--persist", is_flag=True, default=False, help="Enable persistent storage.")
31
39
  @click.option("--storage-size", default="10Gi", help="PVC size when --persist is set.")
@@ -40,6 +48,10 @@ def create(
40
48
  ) -> None:
41
49
  """Create a new sandbox from a template.
42
50
 
51
+ Custom names must be 1-55 characters of lowercase letters, numbers, or
52
+ hyphens, and must start and end with a letter or number. This keeps
53
+ browser URLs like sandbox-{name}.treadstone-ai.dev within DNS label limits.
54
+
43
55
  \b
44
56
  Examples:
45
57
  treadstone sb create --template default
File without changes