naas-abi-cli 1.6.0__tar.gz → 1.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.
Files changed (36) hide show
  1. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/=0.9.13 +1 -1
  2. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/CHANGELOG.md +6 -0
  3. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/PKG-INFO +1 -1
  4. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/__init__.py +9 -6
  5. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/chat.py +4 -4
  6. naas_abi_cli-1.7.0/naas_abi_cli/cli/new/module.py +48 -0
  7. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/project.py +4 -0
  8. naas_abi_cli-1.6.0/naas_abi_cli/cli/new/templates/project/{{project_name_snake}}/agents/{{project_name_pascal}}Agent.py → naas_abi_cli-1.7.0/naas_abi_cli/cli/new/templates/module/agents/{{module_name_pascal}}Agent.py +5 -5
  9. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/templates/project/pyproject.toml +7 -0
  10. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/pyproject.toml +1 -1
  11. naas_abi_cli-1.6.0/naas_abi_cli/cli/new/module.py +0 -10
  12. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/.gitignore +0 -0
  13. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/Makefile +0 -0
  14. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/README.md +0 -0
  15. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/__init__.py +0 -0
  16. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/agent.py +0 -0
  17. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/config.py +0 -0
  18. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/deploy.py +0 -0
  19. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/init.py +0 -0
  20. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/module.py +0 -0
  21. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/__init__.py +0 -0
  22. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/new.py +0 -0
  23. {naas_abi_cli-1.6.0/naas_abi_cli/cli/new/templates/project/{{project_name_snake}} → naas_abi_cli-1.7.0/naas_abi_cli/cli/new/templates/module}/__init__.py +0 -0
  24. {naas_abi_cli-1.6.0/naas_abi_cli/cli/new/templates/project → naas_abi_cli-1.7.0/naas_abi_cli/cli/new/templates/module/agents}/README.md +0 -0
  25. {naas_abi_cli-1.6.0/naas_abi_cli/cli/new/templates/project/{{project_name_snake}}/agents → naas_abi_cli-1.7.0/naas_abi_cli/cli/new/templates/module/orchestrations}/README.md +0 -0
  26. {naas_abi_cli-1.6.0/naas_abi_cli/cli/new/templates/project/{{project_name_snake}}/orchestrations → naas_abi_cli-1.7.0/naas_abi_cli/cli/new/templates/module/pipelines}/README.md +0 -0
  27. {naas_abi_cli-1.6.0/naas_abi_cli/cli/new/templates/project/{{project_name_snake}}/pipelines → naas_abi_cli-1.7.0/naas_abi_cli/cli/new/templates/module/workflows}/README.md +0 -0
  28. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/templates/project/.github/workflows/release.yaml +0 -0
  29. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/templates/project/.gitignore +0 -0
  30. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/templates/project/Dockerfile +0 -0
  31. {naas_abi_cli-1.6.0/naas_abi_cli/cli/new/templates/project/{{project_name_snake}}/workflows → naas_abi_cli-1.7.0/naas_abi_cli/cli/new/templates/project}/README.md +0 -0
  32. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/templates/project/config.prod.yaml +0 -0
  33. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/new/templates/project/config.yaml +0 -0
  34. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/run.py +0 -0
  35. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/secret.py +0 -0
  36. {naas_abi_cli-1.6.0 → naas_abi_cli-1.7.0}/naas_abi_cli/cli/utils/Copier.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Collecting uv
2
2
  Downloading uv-0.9.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
3
3
  Downloading uv-0.9.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.3 MB)
4
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.3/23.3 MB 81.9 MB/s 0:00:00
4
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.3/23.3 MB 154.7 MB/s 0:00:00
5
5
  Installing collected packages: uv
6
6
  Successfully installed uv-0.9.26
@@ -2,6 +2,12 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v1.7.0 (2026-01-25)
6
+
7
+
8
+ ## v1.6.1 (2026-01-24)
9
+
10
+
5
11
  ## v1.6.0 (2026-01-24)
6
12
 
7
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naas-abi-cli
3
- Version: 1.6.0
3
+ Version: 1.7.0
4
4
  Summary: Abi cli allowing you to build your AI system.
5
5
  Project-URL: Homepage, https://github.com/jupyter-naas/abi
6
6
  Project-URL: Repository, https://github.com/jupyter-naas/abi/tree/main/libs/naas-abi-cli
@@ -48,12 +48,15 @@ def main():
48
48
  "uv run --active python -m naas_abi_cli.cli".split(" ")
49
49
  + sys.argv[1:]
50
50
  )
51
- subprocess.run(
52
- arguments,
53
- cwd=os.getcwd(),
54
- env={**os.environ, "LOCAL_UV_RAN": "true"},
55
- check=True,
56
- )
51
+ try:
52
+ subprocess.run(
53
+ arguments,
54
+ cwd=os.getcwd(),
55
+ env={**os.environ, "LOCAL_UV_RAN": "true"},
56
+ check=True,
57
+ )
58
+ except Exception:
59
+ pass
57
60
 
58
61
  return
59
62
  _main()
@@ -3,14 +3,14 @@ from naas_abi_core import logger
3
3
 
4
4
 
5
5
  @click.command("chat")
6
- @click.argument("module-name", type=str, default=None)
7
- @click.argument("agent-name", type=str, default=None)
8
- def chat(module_name: str | None, agent_name: str | None):
6
+ @click.argument("module-name", type=str, default="")
7
+ @click.argument("agent-name", type=str, default="")
8
+ def chat(module_name: str = "", agent_name: str = ""):
9
9
  from naas_abi_core.engine.Engine import Engine
10
10
 
11
11
  engine = Engine()
12
12
 
13
- if module_name is None and agent_name is None:
13
+ if module_name == "" and agent_name == "":
14
14
  module_name, agent_name = engine.configuration.default_agent.split(" ")
15
15
 
16
16
  engine.load(module_names=[module_name])
@@ -0,0 +1,48 @@
1
+ import os
2
+
3
+ import click
4
+ import naas_abi_cli
5
+ from naas_abi_cli.cli.utils.Copier import Copier
6
+
7
+ from .new import new
8
+
9
+
10
+ def sanitize_module_name(module_name: str) -> str:
11
+ return module_name.replace("-", "_").replace(" ", "_").lower()
12
+
13
+
14
+ @new.command("module")
15
+ @click.argument("module_name", required=True)
16
+ @click.argument("module_path", required=False, default=".")
17
+ def _new_module(module_name: str, module_path: str = "."):
18
+ new_module(module_name, module_path)
19
+
20
+
21
+ def new_module(module_name: str, module_path: str = "."):
22
+ module_name = sanitize_module_name(module_name)
23
+
24
+ if module_path == ".":
25
+ module_path = os.path.join(os.getcwd(), module_name)
26
+ else:
27
+ module_path = os.path.join(module_path, module_name)
28
+
29
+ if not os.path.exists(module_path):
30
+ os.makedirs(module_path, exist_ok=True)
31
+ elif len(os.listdir(module_path)) > 0:
32
+ print(f"Folder {module_path} already exists and is not empty.")
33
+ exit(1)
34
+
35
+ copier = Copier(
36
+ templates_path=os.path.join(
37
+ os.path.dirname(naas_abi_cli.__file__), "cli/new/templates/module"
38
+ ),
39
+ destination_path=module_path,
40
+ )
41
+
42
+ copier.copy(
43
+ values={
44
+ "module_name": module_name,
45
+ "module_name_snake": module_name.replace("-", "_"),
46
+ "module_name_pascal": module_name.replace("-", "").capitalize(),
47
+ }
48
+ )
@@ -5,6 +5,7 @@ import click
5
5
  import naas_abi_cli
6
6
  from naas_abi_cli.cli.utils.Copier import Copier
7
7
 
8
+ from .module import new_module
8
9
  from .new import new
9
10
 
10
11
 
@@ -44,6 +45,9 @@ def new_project(project_name: str | None, project_path: str | None):
44
45
  }
45
46
  )
46
47
 
48
+ # Calling new_module to create the module in the src folder
49
+ new_module(project_name, os.path.join(project_path, "src"))
50
+
47
51
  # Run dependency install without shell to avoid quoting issues on paths with spaces.
48
52
  subprocess.run(
49
53
  [
@@ -6,10 +6,10 @@ from naas_abi_core.services.agent.Agent import (
6
6
  AgentSharedState,
7
7
  )
8
8
 
9
- NAME = "{{project_name_snake}} Agent"
9
+ NAME = "{{module_name_snake}} Agent"
10
10
  DESCRIPTION = "An helpful agent that can help you with your tasks."
11
11
  SYSTEM_PROMPT = """
12
- You are {{project_name_snake}} Agent.
12
+ You are {{module_name_snake}} Agent.
13
13
  """
14
14
 
15
15
 
@@ -17,7 +17,7 @@ def create_agent(
17
17
  agent_shared_state: Optional[AgentSharedState] = None,
18
18
  agent_configuration: Optional[AgentConfiguration] = None,
19
19
  ) -> Optional[Agent]:
20
- #from {{project_name_snake}} import ABIModule
20
+ #from {{module_name_snake}} import ABIModule
21
21
 
22
22
  # Set model
23
23
  from naas_abi_marketplace.ai.chatgpt.models.gpt_5 import model as chatgpt_model
@@ -36,7 +36,7 @@ def create_agent(
36
36
 
37
37
  agents: list = []
38
38
 
39
- return {{project_name_pascal}}Agent(
39
+ return {{module_name_pascal}}Agent(
40
40
  name=NAME,
41
41
  description=DESCRIPTION,
42
42
  chat_model=model,
@@ -48,5 +48,5 @@ def create_agent(
48
48
  )
49
49
 
50
50
 
51
- class {{project_name_pascal}}Agent(Agent):
51
+ class {{module_name_pascal}}Agent(Agent):
52
52
  pass
@@ -7,6 +7,13 @@ requires-python = ">=3.12"
7
7
  dependencies = [
8
8
  ]
9
9
 
10
+ [build-system]
11
+ requires = ["setuptools"]
12
+ build-backend = "setuptools.build_meta"
13
+
14
+ [tool.setuptools.packages.find]
15
+ where = ["src"]
16
+
10
17
 
11
18
  # [tool.uv.sources]
12
19
  # naas-abi = { path = ".abi/libs/naas-abi", editable = true }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "naas-abi-cli"
3
- version = "1.6.0"
3
+ version = "1.7.0"
4
4
  description = "Abi cli allowing you to build your AI system."
5
5
  authors = [{ name = "Maxime Jublou", email = "maxime@naas.ai" },{ name = "Florent Ravenel", email = "florent@naas.ai" }, { name = "Jeremy Ravenel", email = "jeremy@naas.ai" }]
6
6
  requires-python = ">=3.10,<4"
@@ -1,10 +0,0 @@
1
- import click
2
-
3
- from .new import new
4
-
5
-
6
- @new.command("module")
7
- @click.argument("module-name")
8
- @click.argument("module-path")
9
- def new_module(module_name: str, module_path: str):
10
- pass
File without changes
File without changes
File without changes