bat-cli 0.1.2__tar.gz → 2026.6rc2__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 (56) hide show
  1. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/PKG-INFO +9 -7
  2. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/README.md +8 -6
  3. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/pyproject.toml +2 -2
  4. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/bat_cli.egg-info/PKG-INFO +9 -7
  5. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/build/build.py +4 -10
  6. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/cli.py +16 -0
  7. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/agent.py +2 -2
  8. bat_cli-2026.6rc2/src/create/templates/agent/.python-version +1 -0
  9. bat_cli-2026.6rc2/src/create/templates/agent/Makefile +28 -0
  10. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/push/push.py +4 -4
  11. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/tests/test_create_new_agent.py +6 -8
  12. bat_cli-0.1.2/src/create/templates/agent/.python-version +0 -1
  13. bat_cli-0.1.2/src/create/templates/agent/Makefile +0 -34
  14. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/setup.cfg +0 -0
  15. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/add/__init__.py +0 -0
  16. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/add/client.py +0 -0
  17. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/bat_cli.egg-info/SOURCES.txt +0 -0
  18. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/bat_cli.egg-info/dependency_links.txt +0 -0
  19. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/bat_cli.egg-info/entry_points.txt +0 -0
  20. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/bat_cli.egg-info/requires.txt +0 -0
  21. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/bat_cli.egg-info/top_level.txt +0 -0
  22. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/build/__init__.py +0 -0
  23. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/__init__.py +0 -0
  24. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/.dockerignore +0 -0
  25. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/.env.template +0 -0
  26. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/Dockerfile +0 -0
  27. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/README.md +0 -0
  28. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/__main__.py +0 -0
  29. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/agent.json.template +0 -0
  30. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/agent.spec +0 -0
  31. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/config.yaml +0 -0
  32. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/llm_client.py.template +0 -0
  33. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/pyproject.toml.template +0 -0
  34. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/src/__init__.py +0 -0
  35. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/src/graph.py +0 -0
  36. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/src/llm_clients/__init__.py +0 -0
  37. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/create/templates/agent/tests/__init__.py +0 -0
  38. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/__init__.py +0 -0
  39. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/commands.py +0 -0
  40. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/__init__.py +0 -0
  41. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/adapter.py +0 -0
  42. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/bench_runner.py +0 -0
  43. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/contracts.py +0 -0
  44. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/eval_config.py +0 -0
  45. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/evaluator.py +0 -0
  46. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/metrics/__init__.py +0 -0
  47. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/metrics/llm_evaluators.py +0 -0
  48. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/metrics/metrics.py +0 -0
  49. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/metrics/qualitative_helpers.py +0 -0
  50. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/orchestrator.py +0 -0
  51. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/eval/engine/plotter.py +0 -0
  52. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/image_defaults.py +0 -0
  53. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/push/__init__.py +0 -0
  54. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/set/__init__.py +0 -0
  55. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/src/set/env.py +0 -0
  56. {bat_cli-0.1.2 → bat_cli-2026.6rc2}/tests/test_eval_commands.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bat-cli
3
- Version: 0.1.2
3
+ Version: 2026.6rc2
4
4
  Summary: CLI tool to interact with BAT agents
5
5
  Author-email: Enrico SBUTTONI <enrico.sbuttoni@bubbleran.com>
6
6
  Project-URL: Homepage, https://bubbleran.com/
@@ -132,14 +132,13 @@ bat
132
132
  │ ├── --context, -C
133
133
  │ ├── --docker-registry
134
134
  │ ├── --repo
135
- │ ├── --tag
136
135
  │ ├── --version
137
136
  │ └── --no-cache
138
137
  └── push
139
138
  ├── --context, -C
140
139
  ├── --docker-registry
141
140
  ├── --repo
142
- └── --tag
141
+ └── --version
143
142
  ```
144
143
 
145
144
  Built-in help is available at every level:
@@ -195,14 +194,17 @@ bat set env --docker-registry hub.bubbleran.com --repo orama/labs/my-agent
195
194
  ### 4. Build and push a Docker image
196
195
 
197
196
  ```bash
198
- bat build --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --tag latest
197
+ # --version is used both as the image tag and as the VERSION build arg (default: latest)
198
+ bat build --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --version latest
199
199
 
200
- # no-cache build with version build-arg
201
- bat build --context ./my_agent --repo orama/labs/my-agent --tag v1 --version 1.0.0 --no-cache
200
+ # no-cache build with a specific version
201
+ bat build --context ./my_agent --repo orama/labs/my-agent --version 1.0.0 --no-cache
202
202
 
203
- bat push --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --tag latest
203
+ bat push --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --version latest
204
204
  ```
205
205
 
206
+ The image reference is always `{registry}/{repo}:{version}`.
207
+
206
208
  If `BAT_DOCKER_REGISTRY` and `BAT_DOCKER_REPO` are already set in `.env` or the shell, `--docker-registry` and `--repo` can be omitted.
207
209
 
208
210
  **Precedence** (both `--docker-registry` / `--repo`):
@@ -113,14 +113,13 @@ bat
113
113
  │ ├── --context, -C
114
114
  │ ├── --docker-registry
115
115
  │ ├── --repo
116
- │ ├── --tag
117
116
  │ ├── --version
118
117
  │ └── --no-cache
119
118
  └── push
120
119
  ├── --context, -C
121
120
  ├── --docker-registry
122
121
  ├── --repo
123
- └── --tag
122
+ └── --version
124
123
  ```
125
124
 
126
125
  Built-in help is available at every level:
@@ -176,14 +175,17 @@ bat set env --docker-registry hub.bubbleran.com --repo orama/labs/my-agent
176
175
  ### 4. Build and push a Docker image
177
176
 
178
177
  ```bash
179
- bat build --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --tag latest
178
+ # --version is used both as the image tag and as the VERSION build arg (default: latest)
179
+ bat build --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --version latest
180
180
 
181
- # no-cache build with version build-arg
182
- bat build --context ./my_agent --repo orama/labs/my-agent --tag v1 --version 1.0.0 --no-cache
181
+ # no-cache build with a specific version
182
+ bat build --context ./my_agent --repo orama/labs/my-agent --version 1.0.0 --no-cache
183
183
 
184
- bat push --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --tag latest
184
+ bat push --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --version latest
185
185
  ```
186
186
 
187
+ The image reference is always `{registry}/{repo}:{version}`.
188
+
187
189
  If `BAT_DOCKER_REGISTRY` and `BAT_DOCKER_REPO` are already set in `.env` or the shell, `--docker-registry` and `--repo` can be omitted.
188
190
 
189
191
  **Precedence** (both `--docker-registry` / `--repo`):
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "bat-cli"
7
- version = "0.1.2"
7
+ version = "2026.06rc2"
8
8
  authors = [
9
9
  { name="Enrico SBUTTONI", email="enrico.sbuttoni@bubbleran.com" },
10
10
  ]
@@ -92,4 +92,4 @@ ignore = [
92
92
  "tests/*" = ["S101"] # Allow 'assert' statements in tests without warning
93
93
 
94
94
  [tool.ruff.format]
95
- indent-style = "space"
95
+ indent-style = "space"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bat-cli
3
- Version: 0.1.2
3
+ Version: 2026.6rc2
4
4
  Summary: CLI tool to interact with BAT agents
5
5
  Author-email: Enrico SBUTTONI <enrico.sbuttoni@bubbleran.com>
6
6
  Project-URL: Homepage, https://bubbleran.com/
@@ -132,14 +132,13 @@ bat
132
132
  │ ├── --context, -C
133
133
  │ ├── --docker-registry
134
134
  │ ├── --repo
135
- │ ├── --tag
136
135
  │ ├── --version
137
136
  │ └── --no-cache
138
137
  └── push
139
138
  ├── --context, -C
140
139
  ├── --docker-registry
141
140
  ├── --repo
142
- └── --tag
141
+ └── --version
143
142
  ```
144
143
 
145
144
  Built-in help is available at every level:
@@ -195,14 +194,17 @@ bat set env --docker-registry hub.bubbleran.com --repo orama/labs/my-agent
195
194
  ### 4. Build and push a Docker image
196
195
 
197
196
  ```bash
198
- bat build --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --tag latest
197
+ # --version is used both as the image tag and as the VERSION build arg (default: latest)
198
+ bat build --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --version latest
199
199
 
200
- # no-cache build with version build-arg
201
- bat build --context ./my_agent --repo orama/labs/my-agent --tag v1 --version 1.0.0 --no-cache
200
+ # no-cache build with a specific version
201
+ bat build --context ./my_agent --repo orama/labs/my-agent --version 1.0.0 --no-cache
202
202
 
203
- bat push --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --tag latest
203
+ bat push --context ./my_agent --docker-registry hub.bubbleran.com --repo orama/labs/my-agent --version latest
204
204
  ```
205
205
 
206
+ The image reference is always `{registry}/{repo}:{version}`.
207
+
206
208
  If `BAT_DOCKER_REGISTRY` and `BAT_DOCKER_REPO` are already set in `.env` or the shell, `--docker-registry` and `--repo` can be omitted.
207
209
 
208
210
  **Precedence** (both `--docker-registry` / `--repo`):
@@ -29,15 +29,10 @@ def build_image(
29
29
  "(or .env in current directory) > default-repository/<project-name>."
30
30
  ),
31
31
  ),
32
- tag: str = typer.Option(
32
+ version: str = typer.Option(
33
33
  "latest",
34
- "--tag",
35
- help="Image tag.",
36
- ),
37
- version: str | None = typer.Option(
38
- None,
39
34
  "--version",
40
- help="Optional VERSION build arg passed to docker build.",
35
+ help="Image version, used as the image tag and VERSION build arg.",
41
36
  ),
42
37
  no_cache: bool = typer.Option(
43
38
  False,
@@ -57,13 +52,12 @@ def build_image(
57
52
 
58
53
  resolved_registry = resolve_registry(context_dir, docker_registry)
59
54
  resolved_repo = resolve_repo_name(context_dir, repo)
60
- image = f"{resolved_registry}/{resolved_repo}:{tag}"
55
+ image = f"{resolved_registry}/{resolved_repo}:{version}"
61
56
 
62
57
  command = ["docker", "build"]
63
58
  if no_cache:
64
59
  command.append("--no-cache")
65
- if version:
66
- command.extend(["--build-arg", f"VERSION={version}"])
60
+ command.extend(["--build-arg", f"VERSION={version}"])
67
61
  command.extend(["--tag", image, "."])
68
62
 
69
63
  typer.echo(f"Building Docker image: {image}")
@@ -1,5 +1,6 @@
1
1
  import shutil
2
2
  import subprocess
3
+ from importlib.metadata import PackageNotFoundError, version
3
4
  from pathlib import Path
4
5
 
5
6
  import click
@@ -95,6 +96,21 @@ eval_app.command(
95
96
  )(eval_plot)
96
97
 
97
98
 
99
+ @app.command("version", help="Show the installed bat-cli version.")
100
+ def show_version() -> None:
101
+ try:
102
+ installed_version = version("bat-cli")
103
+ except PackageNotFoundError:
104
+ typer.secho(
105
+ "bat-cli is not installed as a package; version unavailable.",
106
+ fg=typer.colors.YELLOW,
107
+ err=True,
108
+ )
109
+ raise typer.Exit(code=1) from None
110
+
111
+ typer.echo(f"bat-cli {installed_version}")
112
+
113
+
98
114
  def _parse_clients_option(raw_clients: str | None) -> list[str] | None:
99
115
  if raw_clients is None:
100
116
  return None
@@ -2,7 +2,7 @@ import re
2
2
  from pathlib import Path
3
3
  from typing import Literal
4
4
 
5
- BAT_ADK_VERSION = "2026.4.23"
5
+ BAT_ADK_VERSION = "2026.06"
6
6
 
7
7
  TEMPLATES_DIR = Path(__file__).resolve().parent / "templates" / "agent"
8
8
  _DYNAMIC_TEMPLATE_FILES = {
@@ -114,7 +114,7 @@ def _build_makefile_content(agent_dir_name: str) -> str:
114
114
  return _render_template(
115
115
  "Makefile",
116
116
  {
117
- "PROJECT_NAME": _normalize_name(agent_dir_name, "project"),
117
+ "AGENT_NAME": agent_dir_name,
118
118
  },
119
119
  )
120
120
 
@@ -0,0 +1,28 @@
1
+ DOCKER_REGISTRY ?= INSERT_YOUR_DOCKER_REGISTRY_HERE
2
+ REPO ?= YOUR_REPOSITORY/__AGENT_NAME__
3
+ VERSION ?= $(shell git describe --tags --always --abbrev --dirty)
4
+ IMAGE_TAG := $(DOCKER_REGISTRY)/$(REPO):$(VERSION)
5
+
6
+ .PHONY: build run push clean
7
+
8
+ build:
9
+ @echo "Building __AGENT_NAME__ Docker image with tag: $(IMAGE_TAG) - Version: $(VERSION)"
10
+ docker build $(if $(NO_CACHE),--no-cache) \
11
+ --build-arg VERSION=$(VERSION) \
12
+ --tag $(IMAGE_TAG) .
13
+ @echo "__AGENT_NAME__ Docker image built successfully."
14
+
15
+ run:
16
+ docker run --rm \
17
+ -it \
18
+ --env-file .env \
19
+ --network host \
20
+ $(IMAGE_TAG)
21
+
22
+ push:
23
+ @echo "Pushing __AGENT_NAME__ Docker image with tag: $(IMAGE_TAG)"
24
+ docker push $(IMAGE_TAG)
25
+ @echo "__AGENT_NAME__ Docker image pushed successfully."
26
+
27
+ clean:
28
+ docker rmi $(IMAGE_TAG) || true
@@ -29,10 +29,10 @@ def push_image(
29
29
  "(or .env in current directory) > default-repository/<project-name>."
30
30
  ),
31
31
  ),
32
- tag: str = typer.Option(
32
+ version: str = typer.Option(
33
33
  "latest",
34
- "--tag",
35
- help="Image tag.",
34
+ "--version",
35
+ help="Image version used as the tag.",
36
36
  ),
37
37
  ) -> None:
38
38
  context_dir = context.resolve()
@@ -46,7 +46,7 @@ def push_image(
46
46
 
47
47
  resolved_registry = resolve_registry(context_dir, docker_registry)
48
48
  resolved_repo = resolve_repo_name(context_dir, repo)
49
- image = f"{resolved_registry}/{resolved_repo}:{tag}"
49
+ image = f"{resolved_registry}/{resolved_repo}:{version}"
50
50
  command = ["docker", "push", image]
51
51
 
52
52
  typer.echo(f"Pushing Docker image: {image}")
@@ -73,7 +73,7 @@ def test_create_new_agent_custom_name() -> None:
73
73
  assert 'description = "DEMO Agent"' in pyproject_content
74
74
  assert 'readme = "README.md"' in pyproject_content
75
75
  assert 'requires-python = ">=3.12"' in pyproject_content
76
- assert '"bat-adk>=2026.4.23"' in pyproject_content
76
+ assert '"bat-adk>=2026.06"' in pyproject_content
77
77
 
78
78
  agent_json_content = (root / "agent.json").read_text(encoding="utf-8")
79
79
  assert '"version": "1.0.0"' in agent_json_content
@@ -89,8 +89,8 @@ def test_create_new_agent_custom_name() -> None:
89
89
  assert 'ENTRYPOINT ["./demo"]' in dockerfile_content
90
90
 
91
91
  makefile_content = (root / "Makefile").read_text(encoding="utf-8")
92
- assert "REPO ?= YOUR_REPOSITORY/demo" in makefile_content
93
- assert "Building demo Agent Docker image" in makefile_content
92
+ assert "REPO ?= YOUR_REPOSITORY/demo_agent" in makefile_content
93
+ assert "Building demo_agent Docker image" in makefile_content
94
94
 
95
95
  agent_spec_content = (root / "agent.spec").read_text(encoding="utf-8")
96
96
  assert "name='demo'" in agent_spec_content
@@ -343,8 +343,6 @@ def test_build_command_runs_docker_build(monkeypatch) -> None:
343
343
  "hub.bubbleran.com",
344
344
  "--repo",
345
345
  "orama/labs/rng-agent",
346
- "--tag",
347
- "latest",
348
346
  "--version",
349
347
  "v1.2.3",
350
348
  "--no-cache",
@@ -359,13 +357,13 @@ def test_build_command_runs_docker_build(monkeypatch) -> None:
359
357
  "--build-arg",
360
358
  "VERSION=v1.2.3",
361
359
  "--tag",
362
- "hub.bubbleran.com/orama/labs/rng-agent:latest",
360
+ "hub.bubbleran.com/orama/labs/rng-agent:v1.2.3",
363
361
  ".",
364
362
  ]
365
363
  assert captured["check"] is True
366
364
  assert captured["cwd"] == Path("agent").resolve()
367
365
  assert (
368
- "Docker image built successfully: hub.bubbleran.com/orama/labs/rng-agent:latest"
366
+ "Docker image built successfully: hub.bubbleran.com/orama/labs/rng-agent:v1.2.3"
369
367
  in result.output
370
368
  )
371
369
 
@@ -393,7 +391,7 @@ def test_push_command_runs_docker_push(monkeypatch) -> None:
393
391
  "hub.bubbleran.com",
394
392
  "--repo",
395
393
  "orama/labs/rng-agent",
396
- "--tag",
394
+ "--version",
397
395
  "latest",
398
396
  ],
399
397
  )
@@ -1,34 +0,0 @@
1
- KUBE_CONFIG := ~/.kube/config
2
- DOCKER_REGISTRY ?= INSERT_YOUR_DOCKER_REGISTRY_HERE
3
- VERSION ?= $(shell git describe --tags --always --abbrev --dirty)
4
-
5
- PORT ?= 9900
6
- REPO ?= YOUR_REPOSITORY/__PROJECT_NAME__
7
- TAG ?= latest
8
- IMAGE := $(DOCKER_REGISTRY)/$(REPO):$(TAG)
9
-
10
- .PHONY: build run push clean
11
-
12
- build:
13
- @echo "Building __PROJECT_NAME__ Agent Docker image with tag: $(IMAGE) - Version: $(VERSION)"
14
- docker build $(if $(NO_CACHE),--no-cache) \
15
- --build-arg VERSION=$(VERSION) \
16
- --tag $(IMAGE) .
17
- @echo "__PROJECT_NAME__ Agent Docker image built successfully."
18
-
19
- run:
20
- docker run --rm \
21
- -it \
22
- --env-file .env \
23
- --network host \
24
- -p $(PORT):$(PORT) \
25
- -v $(KUBE_CONFIG):/root/.kube/config:ro \
26
- $(IMAGE)
27
-
28
- push:
29
- @echo "Pushing __PROJECT_NAME__ Agent Docker image with tag: $(IMAGE)"
30
- docker push $(IMAGE)
31
- @echo "__PROJECT_NAME__ Agent Docker image pushed successfully."
32
-
33
- clean:
34
- docker rmi $(IMAGE) || true
File without changes
File without changes
File without changes
File without changes
File without changes