swarmauri_toolkit_containertoolkit 0.8.0.dev52__tar.gz → 0.11.0.dev4__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,44 +1,52 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: swarmauri_toolkit_containertoolkit
3
- Version: 0.8.0.dev52
3
+ Version: 0.11.0.dev4
4
4
  Summary: Toolkit bundling container management tools.
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
7
7
  Keywords: swarmauri,sdk,standards,toolkit,containertoolkit,tooling
8
8
  Author: Jacob Stewart
9
9
  Author-email: jacob@swarmauri.com
10
- Requires-Python: >=3.10,<3.13
10
+ Requires-Python: >=3.10,<3.15
11
11
  Classifier: License :: OSI Approved :: Apache Software License
12
- Classifier: Programming Language :: Python :: 3.10
13
- Classifier: Programming Language :: Python :: 3.11
14
- Classifier: Programming Language :: Python :: 3.12
15
12
  Classifier: Programming Language :: Python
16
13
  Classifier: Programming Language :: Python :: 3
17
14
  Classifier: Programming Language :: Python :: 3 :: Only
18
- Requires-Dist: swarmauri_base
19
- Requires-Dist: swarmauri_core
20
- Requires-Dist: swarmauri_standard
21
- Requires-Dist: swarmauri_tool_containerfeedchars
22
- Requires-Dist: swarmauri_tool_containermakepr
23
- Requires-Dist: swarmauri_tool_containernewsession
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
+ Requires-Dist: swarmauri_base (>=0.11.0.dev6,<0.12)
21
+ Requires-Dist: swarmauri_core (>=0.11.0.dev6,<0.12)
22
+ Requires-Dist: swarmauri_process_docker (>=0.1.0,<0.2)
23
+ Requires-Dist: swarmauri_process_kubernetes (>=0.1.0,<0.2)
24
+ Requires-Dist: swarmauri_standard (>=0.11.0.dev8,<0.12)
25
+ Requires-Dist: swarmauri_tool_cancelprocess (>=0.1.0,<0.2)
26
+ Requires-Dist: swarmauri_tool_containerfeedchars (>=0.11.0.dev4,<0.12)
27
+ Requires-Dist: swarmauri_tool_containermakepr (>=0.11.0.dev4,<0.12)
28
+ Requires-Dist: swarmauri_tool_containernewsession (>=0.11.0.dev4,<0.12)
29
+ Requires-Dist: swarmauri_tool_readprocessoutput (>=0.1.0,<0.2)
30
+ Requires-Dist: swarmauri_tool_runbashscript (>=0.1.0,<0.2)
31
+ Requires-Dist: swarmauri_tool_runcommand (>=0.1.0,<0.2)
32
+ Requires-Dist: swarmauri_tool_writestdin (>=0.1.0,<0.2)
24
33
  Description-Content-Type: text/markdown
25
34
 
26
- ![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)
35
+ ![Swarmauri Logo](https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/swarmauri_sdk_brand.png)
27
36
 
28
37
  <p align="center">
29
- <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
30
- <img src="https://img.shields.io/pypi/dm/swarmauri_toolkit_containertoolkit" alt="PyPI - Downloads"/></a>
38
+ <a href="https://pepy.tech/project/swarmauri_toolkit_containertoolkit/">
39
+ <img src="https://static.pepy.tech/badge/swarmauri_toolkit_containertoolkit/month" alt="PyPI - Downloads"/></a>
31
40
  <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_toolkit_containertoolkit/">
32
41
  <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_toolkit_containertoolkit.svg"/></a>
33
42
  <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
34
- <img src="https://img.shields.io/pypi/pyversions/swarmauri_toolkit_containertoolkit" alt="PyPI - Python Version"/></a>
43
+ <img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue" alt="PyPI - Python Version"/></a>
35
44
  <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
36
45
  <img src="https://img.shields.io/pypi/l/swarmauri_toolkit_containertoolkit" alt="PyPI - License"/></a>
37
46
  <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
38
47
  <img src="https://img.shields.io/pypi/v/swarmauri_toolkit_containertoolkit?label=swarmauri_toolkit_containertoolkit&color=green" alt="PyPI - swarmauri_toolkit_containertoolkit"/></a>
39
- </p>
40
-
41
- ---
48
+ <a href="https://discord.gg/N4UpBuQv8T">
49
+ <img src="https://img.shields.io/badge/Discord-Join%20Chat-5865F2?logo=discord&logoColor=white" alt="Discord"/></a></p>
42
50
 
43
51
  # Swarmauri Toolkit ContainerToolkit
44
52
 
@@ -59,3 +67,5 @@ toolkit = ContainerToolkit(container_name="my-container", image="ubuntu:latest")
59
67
  print(toolkit.tools.keys())
60
68
  ```
61
69
 
70
+
71
+
@@ -1,19 +1,18 @@
1
- ![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)
1
+ ![Swarmauri Logo](https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/swarmauri_sdk_brand.png)
2
2
 
3
3
  <p align="center">
4
- <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
5
- <img src="https://img.shields.io/pypi/dm/swarmauri_toolkit_containertoolkit" alt="PyPI - Downloads"/></a>
4
+ <a href="https://pepy.tech/project/swarmauri_toolkit_containertoolkit/">
5
+ <img src="https://static.pepy.tech/badge/swarmauri_toolkit_containertoolkit/month" alt="PyPI - Downloads"/></a>
6
6
  <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_toolkit_containertoolkit/">
7
7
  <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_toolkit_containertoolkit.svg"/></a>
8
8
  <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
9
- <img src="https://img.shields.io/pypi/pyversions/swarmauri_toolkit_containertoolkit" alt="PyPI - Python Version"/></a>
9
+ <img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-blue" alt="PyPI - Python Version"/></a>
10
10
  <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
11
11
  <img src="https://img.shields.io/pypi/l/swarmauri_toolkit_containertoolkit" alt="PyPI - License"/></a>
12
12
  <a href="https://pypi.org/project/swarmauri_toolkit_containertoolkit/">
13
13
  <img src="https://img.shields.io/pypi/v/swarmauri_toolkit_containertoolkit?label=swarmauri_toolkit_containertoolkit&color=green" alt="PyPI - swarmauri_toolkit_containertoolkit"/></a>
14
- </p>
15
-
16
- ---
14
+ <a href="https://discord.gg/N4UpBuQv8T">
15
+ <img src="https://img.shields.io/badge/Discord-Join%20Chat-5865F2?logo=discord&logoColor=white" alt="Discord"/></a></p>
17
16
 
18
17
  # Swarmauri Toolkit ContainerToolkit
19
18
 
@@ -33,3 +32,5 @@ from swarmauri_toolkit_containertoolkit import ContainerToolkit
33
32
  toolkit = ContainerToolkit(container_name="my-container", image="ubuntu:latest")
34
33
  print(toolkit.tools.keys())
35
34
  ```
35
+
36
+
@@ -1,28 +1,37 @@
1
1
  [project]
2
2
  name = "swarmauri_toolkit_containertoolkit"
3
- version = "0.8.0.dev52"
3
+ version = "0.11.0.dev4"
4
4
  description = "Toolkit bundling container management tools."
5
5
  license = "Apache-2.0"
6
6
  readme = "README.md"
7
7
  repository = "http://github.com/swarmauri/swarmauri-sdk"
8
- requires-python = ">=3.10,<3.13"
8
+ requires-python = ">=3.10,<3.15"
9
9
  classifiers = [
10
10
  "License :: OSI Approved :: Apache Software License",
11
- "Programming Language :: Python :: 3.10",
12
- "Programming Language :: Python :: 3.11",
13
- "Programming Language :: Python :: 3.12",
14
11
  "Programming Language :: Python",
15
12
  "Programming Language :: Python :: 3",
16
13
  "Programming Language :: Python :: 3 :: Only",
14
+ "Programming Language :: Python :: 3.10",
15
+ "Programming Language :: Python :: 3.11",
16
+ "Programming Language :: Python :: 3.12",
17
+ "Programming Language :: Python :: 3.13",
18
+ "Programming Language :: Python :: 3.14",
17
19
  ]
18
20
  authors = [{ name = "Jacob Stewart", email = "jacob@swarmauri.com" }]
19
21
  dependencies = [
20
- "swarmauri_core",
21
- "swarmauri_base",
22
- "swarmauri_standard",
23
- "swarmauri_tool_containernewsession",
24
- "swarmauri_tool_containerfeedchars",
25
- "swarmauri_tool_containermakepr",
22
+ "swarmauri_process_docker>=0.1.0,<0.2",
23
+ "swarmauri_process_kubernetes>=0.1.0,<0.2",
24
+ "swarmauri_tool_runcommand>=0.1.0,<0.2",
25
+ "swarmauri_tool_runbashscript>=0.1.0,<0.2",
26
+ "swarmauri_tool_readprocessoutput>=0.1.0,<0.2",
27
+ "swarmauri_tool_writestdin>=0.1.0,<0.2",
28
+ "swarmauri_tool_cancelprocess>=0.1.0,<0.2",
29
+ "swarmauri_core>=0.11.0.dev6,<0.12",
30
+ "swarmauri_base>=0.11.0.dev6,<0.12",
31
+ "swarmauri_standard>=0.11.0.dev8,<0.12",
32
+ "swarmauri_tool_containernewsession>=0.11.0.dev4,<0.12",
33
+ "swarmauri_tool_containerfeedchars>=0.11.0.dev4,<0.12",
34
+ "swarmauri_tool_containermakepr>=0.11.0.dev4,<0.12",
26
35
  ]
27
36
  keywords = [
28
37
  'swarmauri',
@@ -34,6 +43,13 @@ keywords = [
34
43
  ]
35
44
 
36
45
  [tool.uv.sources]
46
+ swarmauri_process_docker = { workspace = true }
47
+ swarmauri_process_kubernetes = { workspace = true }
48
+ swarmauri_tool_runcommand = { workspace = true }
49
+ swarmauri_tool_runbashscript = { workspace = true }
50
+ swarmauri_tool_readprocessoutput = { workspace = true }
51
+ swarmauri_tool_writestdin = { workspace = true }
52
+ swarmauri_tool_cancelprocess = { workspace = true }
37
53
  swarmauri_core = { workspace = true }
38
54
  swarmauri_base = { workspace = true }
39
55
  swarmauri_standard = { workspace = true }
@@ -75,7 +91,7 @@ dev = [
75
91
  "pytest-xdist>=3.6.1",
76
92
  "pytest-json-report>=1.5.0",
77
93
  "python-dotenv",
78
- "requests>=2.32.3",
94
+ "httpx>=0.27",
79
95
  "flake8>=7.0",
80
96
  "pytest-timeout>=2.3.1",
81
97
  "ruff>=0.9.9",
@@ -0,0 +1,78 @@
1
+ from typing import Dict, Literal
2
+
3
+ from pydantic import Field
4
+
5
+ from swarmauri_core.processes import IProcessBackend
6
+ from swarmauri_process_docker import DockerProcessBackend
7
+ from swarmauri_process_kubernetes import KubernetesProcessBackend
8
+ from swarmauri_tool_runcommand import RunCommandTool
9
+ from swarmauri_tool_runbashscript import RunBashScriptTool
10
+ from swarmauri_tool_readprocessoutput import ReadProcessOutputTool
11
+ from swarmauri_tool_writestdin import WriteStdinTool
12
+ from swarmauri_tool_cancelprocess import CancelProcessTool
13
+ from swarmauri_base.tools.ToolBase import ToolBase
14
+ from swarmauri_base.toolkits.ToolkitBase import ToolkitBase
15
+ from swarmauri_base.ComponentBase import ComponentBase, SubclassUnion
16
+
17
+ from swarmauri_tool_containernewsession import ContainerNewSessionTool
18
+ from swarmauri_tool_containerfeedchars import ContainerFeedCharsTool
19
+ from swarmauri_tool_containermakepr import ContainerMakePrTool
20
+
21
+
22
+ @ComponentBase.register_type(ToolkitBase, "ContainerToolkit")
23
+ class ContainerToolkit(ToolkitBase):
24
+ tools: Dict[str, SubclassUnion[ToolBase]] = Field(
25
+ default_factory=dict, exclude=True
26
+ )
27
+ container_name: str | None = None
28
+ image: str | None = None
29
+ driver: Literal["docker", "kubernetes"] = "docker"
30
+
31
+ def __init__(
32
+ self,
33
+ container_name: str | None = None,
34
+ image: str | None = None,
35
+ driver: Literal["docker", "kubernetes"] = "docker",
36
+ backend: IProcessBackend | None = None,
37
+ **kwargs,
38
+ ):
39
+ kwargs.pop("tools", None)
40
+ super().__init__(
41
+ container_name=container_name, image=image, driver=driver, **kwargs
42
+ )
43
+ process_backend = backend
44
+ if process_backend is None:
45
+ process_backend = (
46
+ DockerProcessBackend()
47
+ if driver == "docker"
48
+ else KubernetesProcessBackend()
49
+ )
50
+ self.tools = {
51
+ "ContainerNewSessionTool": ContainerNewSessionTool(
52
+ container_name=container_name,
53
+ image=image,
54
+ driver=driver,
55
+ backend=backend,
56
+ ),
57
+ "ContainerFeedCharsTool": ContainerFeedCharsTool(
58
+ container_name=container_name,
59
+ driver=driver,
60
+ backend=backend,
61
+ ),
62
+ "ContainerMakePrTool": ContainerMakePrTool(
63
+ container_name=container_name,
64
+ driver=driver,
65
+ backend=backend,
66
+ ),
67
+ "RunCommandTool": RunCommandTool(
68
+ backend=process_backend, workspace=container_name
69
+ ),
70
+ "RunBashScriptTool": RunBashScriptTool(
71
+ backend=process_backend, workspace=container_name
72
+ ),
73
+ "ReadProcessOutputTool": ReadProcessOutputTool(
74
+ backend=process_backend
75
+ ),
76
+ "WriteStdinTool": WriteStdinTool(backend=process_backend),
77
+ "CancelProcessTool": CancelProcessTool(backend=process_backend),
78
+ }
@@ -1,30 +0,0 @@
1
- from typing import Dict
2
- from swarmauri_base.tools.ToolBase import ToolBase
3
- from swarmauri_base.toolkits.ToolkitBase import ToolkitBase
4
- from swarmauri_base.ComponentBase import ComponentBase, SubclassUnion
5
-
6
- from swarmauri_tool_containernewsession import ContainerNewSessionTool
7
- from swarmauri_tool_containerfeedchars import ContainerFeedCharsTool
8
- from swarmauri_tool_containermakepr import ContainerMakePrTool
9
-
10
-
11
- @ComponentBase.register_type(ToolkitBase, "ContainerToolkit")
12
- class ContainerToolkit(ToolkitBase):
13
- tools: Dict[str, SubclassUnion[ToolBase]] = {}
14
-
15
- def __init__(
16
- self, container_name: str | None = None, image: str | None = None, **kwargs
17
- ):
18
- super().__init__(**kwargs)
19
- self.tools = {
20
- "ContainerNewSessionTool": ContainerNewSessionTool(
21
- container_name=container_name,
22
- image=image,
23
- ),
24
- "ContainerFeedCharsTool": ContainerFeedCharsTool(
25
- container_name=container_name,
26
- ),
27
- "ContainerMakePrTool": ContainerMakePrTool(
28
- container_name=container_name,
29
- ),
30
- }