composabl-cli-dev 0.18.6.dev15__cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.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.

Potentially problematic release.


This version of composabl-cli-dev might be problematic. Click here for more details.

Files changed (71) hide show
  1. composabl_cli/__init__.py +9 -0
  2. composabl_cli/cli/__init__.cpython-312-aarch64-linux-gnu.so +0 -0
  3. composabl_cli/cli/cli.cpython-312-aarch64-linux-gnu.so +0 -0
  4. composabl_cli/cli/cli_agent.cpython-312-aarch64-linux-gnu.so +0 -0
  5. composabl_cli/cli/cli_benchmark.cpython-312-aarch64-linux-gnu.so +0 -0
  6. composabl_cli/cli/cli_debug.cpython-312-aarch64-linux-gnu.so +0 -0
  7. composabl_cli/cli/cli_historian.cpython-312-aarch64-linux-gnu.so +0 -0
  8. composabl_cli/cli/cli_job.cpython-312-aarch64-linux-gnu.so +0 -0
  9. composabl_cli/cli/cli_main.cpython-312-aarch64-linux-gnu.so +0 -0
  10. composabl_cli/cli/cli_perceptor.cpython-312-aarch64-linux-gnu.so +0 -0
  11. composabl_cli/cli/cli_selector.cpython-312-aarch64-linux-gnu.so +0 -0
  12. composabl_cli/cli/cli_sim.cpython-312-aarch64-linux-gnu.so +0 -0
  13. composabl_cli/cli/cli_skill.cpython-312-aarch64-linux-gnu.so +0 -0
  14. composabl_cli/cli/cli_version.cpython-312-aarch64-linux-gnu.so +0 -0
  15. composabl_cli/k8s/k8s_train.cpython-312-aarch64-linux-gnu.so +0 -0
  16. composabl_cli/k8s/util.cpython-312-aarch64-linux-gnu.so +0 -0
  17. composabl_cli/main/agent.cpython-312-aarch64-linux-gnu.so +0 -0
  18. composabl_cli/main/perceptor.cpython-312-aarch64-linux-gnu.so +0 -0
  19. composabl_cli/main/selector.cpython-312-aarch64-linux-gnu.so +0 -0
  20. composabl_cli/main/sim.cpython-312-aarch64-linux-gnu.so +0 -0
  21. composabl_cli/main/skill.cpython-312-aarch64-linux-gnu.so +0 -0
  22. composabl_cli/template/agent_composabl/agent.py +90 -0
  23. composabl_cli/template/agent_docker/agent.py +99 -0
  24. composabl_cli/template/agent_local/agent.py +96 -0
  25. composabl_cli/template/perceptor/README.md +67 -0
  26. composabl_cli/template/perceptor/pyproject.toml +15 -0
  27. composabl_cli/template/perceptor/{{NAME_MODULE}}/__init__.py +3 -0
  28. composabl_cli/template/perceptor/{{NAME_MODULE}}/perceptor.py +34 -0
  29. composabl_cli/template/selector_controller/README.md +67 -0
  30. composabl_cli/template/selector_controller/pyproject.toml +12 -0
  31. composabl_cli/template/selector_controller/{{NAME_MODULE}}/__init__.py +3 -0
  32. composabl_cli/template/selector_controller/{{NAME_MODULE}}/controller.py +52 -0
  33. composabl_cli/template/selector_teacher/README.md +67 -0
  34. composabl_cli/template/selector_teacher/pyproject.toml +12 -0
  35. composabl_cli/template/selector_teacher/{{NAME_MODULE}}/__init__.py +3 -0
  36. composabl_cli/template/selector_teacher/{{NAME_MODULE}}/teacher.py +70 -0
  37. composabl_cli/template/sim/README.md +39 -0
  38. composabl_cli/template/sim/pyproject.toml +20 -0
  39. composabl_cli/template/sim/{{NAME_MODULE}}/__init__.py +3 -0
  40. composabl_cli/template/sim/{{NAME_MODULE}}/sim.py +253 -0
  41. composabl_cli/template/sim/{{NAME_MODULE}}/sim_impl.py +115 -0
  42. composabl_cli/template/sim_docker/Dockerfile +45 -0
  43. composabl_cli/template/sim_docker/README.md +17 -0
  44. composabl_cli/template/sim_docker/docker/sim-start.sh +14 -0
  45. composabl_cli/template/sim_docker/main.py +55 -0
  46. composabl_cli/template/sim_docker/module/README.md +39 -0
  47. composabl_cli/template/sim_docker/module/pyproject.toml +20 -0
  48. composabl_cli/template/sim_docker/module/{{NAME_MODULE}}/__init__.py +3 -0
  49. composabl_cli/template/sim_docker/module/{{NAME_MODULE}}/sim.py +253 -0
  50. composabl_cli/template/sim_docker/module/{{NAME_MODULE}}/sim_impl.py +115 -0
  51. composabl_cli/template/skill_controller/README.md +67 -0
  52. composabl_cli/template/skill_controller/pyproject.toml +12 -0
  53. composabl_cli/template/skill_controller/{{NAME_MODULE}}/__init__.py +3 -0
  54. composabl_cli/template/skill_controller/{{NAME_MODULE}}/controller.py +40 -0
  55. composabl_cli/template/skill_coordinated_population/README.md +67 -0
  56. composabl_cli/template/skill_coordinated_population/pyproject.toml +12 -0
  57. composabl_cli/template/skill_coordinated_population/{{NAME_MODULE}}/__init__.py +3 -0
  58. composabl_cli/template/skill_coordinated_population/{{NAME_MODULE}}/coach.py +70 -0
  59. composabl_cli/template/skill_coordinated_set/README.md +67 -0
  60. composabl_cli/template/skill_coordinated_set/pyproject.toml +12 -0
  61. composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/__init__.py +3 -0
  62. composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/coach.py +70 -0
  63. composabl_cli/template/skill_teacher/README.md +67 -0
  64. composabl_cli/template/skill_teacher/pyproject.toml +12 -0
  65. composabl_cli/template/skill_teacher/{{NAME_MODULE}}/__init__.py +3 -0
  66. composabl_cli/template/skill_teacher/{{NAME_MODULE}}/teacher.py +70 -0
  67. composabl_cli_dev-0.18.6.dev15.dist-info/METADATA +49 -0
  68. composabl_cli_dev-0.18.6.dev15.dist-info/RECORD +71 -0
  69. composabl_cli_dev-0.18.6.dev15.dist-info/WHEEL +6 -0
  70. composabl_cli_dev-0.18.6.dev15.dist-info/entry_points.txt +2 -0
  71. composabl_cli_dev-0.18.6.dev15.dist-info/top_level.txt +1 -0
@@ -0,0 +1,67 @@
1
+ # README
2
+
3
+ This is a template for creating a new Perceptor. A Perceptor is a component that is responsible for processing data and returning a result. This can be used for example in a Machine Learning model, where the Perceptor is responsible for processing the data and returning the prediction.
4
+
5
+ ## Tree Structure
6
+
7
+ The template is structured as follows:
8
+
9
+ ```bash
10
+ my-perceptor/ # Root folder
11
+ ├── my_perceptor/ # Main package folder
12
+ │ ├── __init__.py # Package init file
13
+ │ └── perceptor.py # Main perceptor file
14
+ ├── pyproject.toml # Project configuration, containing [composabl]
15
+ ```
16
+
17
+ ## PyProject [composabl] Section
18
+
19
+ We add the `[composabl]` section to the `pyproject.toml` file to specify the type of component we are creating as well as its entrypoint. This is used by the Composabl CLI to determine the type of
20
+ component and how to handle it.
21
+
22
+ Example:
23
+
24
+ ```
25
+ [composabl]
26
+ type = "teacher"
27
+ entrypoint = "my_perceptor.perceptor:MyPerceptor"
28
+ ```
29
+
30
+ ## Development
31
+
32
+ To work on the Perceptor, you can simply create a temporary file or main file that starts up and executes the `compute` method of the portable Perceptor. Example, we can create a `test.py` file with:
33
+
34
+ ```python
35
+ from composabl_perceptor_my_perceptor.perceptor import MyPerceptor
36
+
37
+
38
+ async def start():
39
+ p = MyPerceptor()
40
+ res = await t.compute(None, [1.0])
41
+ print(res)
42
+
43
+
44
+ if __name__ == "__main__":
45
+ import asyncio
46
+
47
+ asyncio.run(start())
48
+ ```
49
+
50
+ Which we can then run with
51
+
52
+ ```bash
53
+ # Install the module
54
+ pip install -e my-perceptor
55
+
56
+ # Run the test file
57
+ python my-perceptor/test.py
58
+ ```
59
+
60
+ ### Preparing for Upload
61
+
62
+ Once we are ready for uploading, we can create a `.tar.gz` file that contains the version. This can be done with the following command:
63
+
64
+ ```bash
65
+ # Tar GZ the plugin
66
+ tar -czvf my-perceptor-0.0.1.tar.gz my-perceptor
67
+ ```
@@ -0,0 +1,12 @@
1
+ [project]
2
+ name = "{{NAME}}"
3
+ version = "0.1.0"
4
+ description = "{{DESCRIPTION}}"
5
+ authors = [{ name = "John Doe", email = "john.doe@composabl.com" }]
6
+ dependencies = [
7
+ "composabl-core{{COMPOSABL_DEV}}{{COMPOSABL_CORE_VERSION}}",
8
+ ]
9
+
10
+ [composabl]
11
+ type = "skill-coordinated-set"
12
+ entrypoint = "{{NAME_MODULE}}.coach:Coach"
@@ -0,0 +1,3 @@
1
+ # Copyright (C) Composabl, Inc - All Rights Reserved
2
+ # Unauthorized copying of this file, via any medium is strictly prohibited
3
+ # Proprietary and confidential
@@ -0,0 +1,70 @@
1
+ # Copyright (C) Composabl, Inc - All Rights Reserved
2
+ # Unauthorized copying of this file, via any medium is strictly prohibited
3
+ # Proprietary and confidential
4
+
5
+ import math
6
+ from typing import Dict, List
7
+
8
+ from composabl_core.agent.skill.skill_coach import SkillCoach
9
+
10
+
11
+ class Coach(SkillCoach):
12
+ """
13
+ We start at 10 reward and count down to 0 the goal is that the agent stays
14
+ above or equal to 0 this means it learned to cound +1 each time
15
+ """
16
+
17
+ def __init__(self, *args, **kwargs):
18
+ self.past_obs = None
19
+ self.counter = 10
20
+ self.sensor_name = "counter"
21
+
22
+ async def compute_reward(self, transformed_sensors: Dict, action, sim_reward):
23
+ """
24
+ The reward increases the closer it gets to 10, but decreases the
25
+ further it gets from 10 it decreases faster the further it gets
26
+ note: we do this through a piecewise function, where the reward is
27
+ 100 if the counter is 10 and 0 if the counter is 0 everything above
28
+ 10 gets a steep decrease and everything below 10 gets a small increase
29
+ ASCII of the Piecewise Graph
30
+ ***********
31
+ ***** ***
32
+ *** **
33
+ ** **
34
+ *** **
35
+ * *
36
+ **
37
+ *
38
+ *
39
+ *
40
+ """
41
+ counter = transformed_sensors[self.sensor_name]
42
+
43
+ # Small build up if < 10
44
+ # given by e^(counter - 10) + 100
45
+ if counter < 10:
46
+ return math.exp(counter - 10) + 100
47
+ # else steep decent after max reward
48
+ # given by -2 * e^(-|counter - 10|) + 100
49
+ else:
50
+ return -2 * math.exp(-abs(counter - 10)) + 100
51
+
52
+ async def compute_action_mask(
53
+ self, transformed_sensors: Dict, action
54
+ ) -> List[bool]:
55
+ return None
56
+
57
+ async def compute_success_criteria(self, transformed_sensors: Dict, action) -> bool:
58
+ return bool(transformed_sensors[self.sensor_name] >= 10)
59
+
60
+ async def compute_termination(self, transformed_sensors: Dict, action) -> bool:
61
+ return bool(transformed_sensors[self.sensor_name] <= -10)
62
+
63
+ async def transform_sensors(self, sensors, action) -> str:
64
+ return sensors
65
+
66
+ async def transform_action(self, transformed_sensors: Dict, action) -> float:
67
+ return action
68
+
69
+ async def filtered_sensor_space(self) -> List[str]:
70
+ return ["counter"]
@@ -0,0 +1,67 @@
1
+ # README
2
+
3
+ This is a template for creating a new Perceptor. A Perceptor is a component that is responsible for processing data and returning a result. This can be used for example in a Machine Learning model, where the Perceptor is responsible for processing the data and returning the prediction.
4
+
5
+ ## Tree Structure
6
+
7
+ The template is structured as follows:
8
+
9
+ ```bash
10
+ my-perceptor/ # Root folder
11
+ ├── my_perceptor/ # Main package folder
12
+ │ ├── __init__.py # Package init file
13
+ │ └── perceptor.py # Main perceptor file
14
+ ├── pyproject.toml # Project configuration, containing [composabl]
15
+ ```
16
+
17
+ ## PyProject [composabl] Section
18
+
19
+ We add the `[composabl]` section to the `pyproject.toml` file to specify the type of component we are creating as well as its entrypoint. This is used by the Composabl CLI to determine the type of
20
+ component and how to handle it.
21
+
22
+ Example:
23
+
24
+ ```
25
+ [composabl]
26
+ type = "teacher"
27
+ entrypoint = "my_perceptor.perceptor:MyPerceptor"
28
+ ```
29
+
30
+ ## Development
31
+
32
+ To work on the Perceptor, you can simply create a temporary file or main file that starts up and executes the `compute` method of the portable Perceptor. Example, we can create a `test.py` file with:
33
+
34
+ ```python
35
+ from composabl_perceptor_my_perceptor.perceptor import MyPerceptor
36
+
37
+
38
+ async def start():
39
+ p = MyPerceptor()
40
+ res = await t.compute(None, [1.0])
41
+ print(res)
42
+
43
+
44
+ if __name__ == "__main__":
45
+ import asyncio
46
+
47
+ asyncio.run(start())
48
+ ```
49
+
50
+ Which we can then run with
51
+
52
+ ```bash
53
+ # Install the module
54
+ pip install -e my-perceptor
55
+
56
+ # Run the test file
57
+ python my-perceptor/test.py
58
+ ```
59
+
60
+ ### Preparing for Upload
61
+
62
+ Once we are ready for uploading, we can create a `.tar.gz` file that contains the version. This can be done with the following command:
63
+
64
+ ```bash
65
+ # Tar GZ the plugin
66
+ tar -czvf my-perceptor-0.0.1.tar.gz my-perceptor
67
+ ```
@@ -0,0 +1,12 @@
1
+ [project]
2
+ name = "{{NAME}}"
3
+ version = "0.1.0"
4
+ description = "{{DESCRIPTION}}"
5
+ authors = [{ name = "John Doe", email = "john.doe@composabl.com" }]
6
+ dependencies = [
7
+ "composabl-core{{COMPOSABL_DEV}}{{COMPOSABL_CORE_VERSION}}",
8
+ ]
9
+
10
+ [composabl]
11
+ type = "skill-teacher"
12
+ entrypoint = "{{NAME_MODULE}}.teacher:Teacher"
@@ -0,0 +1,3 @@
1
+ # Copyright (C) Composabl, Inc - All Rights Reserved
2
+ # Unauthorized copying of this file, via any medium is strictly prohibited
3
+ # Proprietary and confidential
@@ -0,0 +1,70 @@
1
+ # Copyright (C) Composabl, Inc - All Rights Reserved
2
+ # Unauthorized copying of this file, via any medium is strictly prohibited
3
+ # Proprietary and confidential
4
+
5
+ import math
6
+ from typing import Dict, List
7
+
8
+ from composabl_core import SkillTeacher
9
+
10
+
11
+ class Teacher(SkillTeacher):
12
+ """
13
+ We start at 10 reward and count down to 0 the goal is that the agent stays
14
+ above or equal to 0 this means it learned to cound +1 each time
15
+ """
16
+
17
+ def __init__(self, *args, **kwargs):
18
+ self.past_obs = None
19
+ self.counter = 10
20
+ self.sensor_name = "counter"
21
+
22
+ async def compute_reward(self, transformed_sensors: Dict, action, sim_reward):
23
+ """
24
+ The reward increases the closer it gets to 10, but decreases the
25
+ further it gets from 10 it decreases faster the further it gets
26
+ note: we do this through a piecewise function, where the reward is
27
+ 100 if the counter is 10 and 0 if the counter is 0 everything above
28
+ 10 gets a steep decrease and everything below 10 gets a small increase
29
+ ASCII of the Piecewise Graph
30
+ ***********
31
+ ***** ***
32
+ *** **
33
+ ** **
34
+ *** **
35
+ * *
36
+ **
37
+ *
38
+ *
39
+ *
40
+ """
41
+ counter = transformed_sensors[self.sensor_name]
42
+
43
+ # Small build up if < 10
44
+ # given by e^(counter - 10) + 100
45
+ if counter < 10:
46
+ return math.exp(counter - 10) + 100
47
+ # else steep decent after max reward
48
+ # given by -2 * e^(-|counter - 10|) + 100
49
+ else:
50
+ return -2 * math.exp(-abs(counter - 10)) + 100
51
+
52
+ async def compute_action_mask(
53
+ self, transformed_sensors: Dict, action
54
+ ) -> List[bool]:
55
+ return None
56
+
57
+ async def compute_success_criteria(self, transformed_sensors: Dict, action) -> bool:
58
+ return bool(transformed_sensors[self.sensor_name] >= 10)
59
+
60
+ async def compute_termination(self, transformed_sensors: Dict, action) -> bool:
61
+ return bool(transformed_sensors[self.sensor_name] <= -10)
62
+
63
+ async def transform_sensors(self, sensors, action) -> str:
64
+ return sensors
65
+
66
+ async def transform_action(self, transformed_sensors: Dict, action) -> float:
67
+ return action
68
+
69
+ async def filtered_sensor_space(self) -> List[str]:
70
+ return ["counter"]
@@ -0,0 +1,49 @@
1
+ Metadata-Version: 2.4
2
+ Name: composabl-cli-dev
3
+ Version: 0.18.6.dev15
4
+ Summary: the Composabl CLI
5
+ Author-email: Hunter Park <hunter@composabl.io>
6
+ Requires-Python: >=3.10, <3.13
7
+ Description-Content-Type: text/markdown
8
+ Requires-Dist: typer[all]==0.11.0
9
+ Requires-Dist: click<8.2.0
10
+ Requires-Dist: cython
11
+ Requires-Dist: docker
12
+ Requires-Dist: kubernetes
13
+ Requires-Dist: jinja2
14
+ Requires-Dist: composabl-core-dev>=0.18.6.dev15
15
+ Requires-Dist: composabl-train-dev>=0.18.6.dev15
16
+ Requires-Dist: composabl-api-dev>=0.18.6.dev15
17
+ Requires-Dist: ruff
18
+ Requires-Dist: simple-term-menu
19
+ Dynamic: description
20
+ Dynamic: description-content-type
21
+ Dynamic: requires-python
22
+
23
+ # Composabl
24
+
25
+ Composabl helps you build Autonomous Agents! Through an easy SDK you get access to outscaled simulator training tools.
26
+
27
+ ## Licenses / Seats
28
+
29
+ Composabl is an enterprise platform and requires an API key to use.
30
+
31
+ We offer 3 types of licenses:
32
+
33
+ - **Enterprise:** for enterprise projects and agent creations
34
+ - **Personal:** for personal usage and testing (typically offered to System Integrators)
35
+ - **Trial:** validate the Composabl platform (requires sales contact person)
36
+
37
+ One key is needed per user (seat-based licensing)
38
+
39
+ You can request an API Key through the following methods:
40
+
41
+ - [Discord](https://discord.gg/EQ3BgJt9NC)
42
+ - [Mail](mailto:sales@composabl.io?subject=REQUEST%20API%20KEY%20-%20COMPANY_NAME%20-%20NAME&body=Hi%2C%0D%0A%0D%0AI%20would%20like%20to%20request%20an%20API%20key%20for%20my%20company%20to%20get%20started%20with%20Composabl.%0D%0A%0D%0A*%20Company%20Name%3A%20COMPANY_NAME%0D%0A*%20Seats%3A%20NO_OF_SEATS%0D%0A*%20License%20Type%3A%20Enterprise%20%7C%20Personal%20%7C%20Trial%20%28keep%20what%20is%20required%29%0D%0A%0D%0AKind%20Regards%2C%0D%0ANAME%0D%0AFUNCTION)
43
+
44
+ ## Getting Started
45
+
46
+ 1. Download the Composabl SDK: `pip install composabl`
47
+ 2. Request an API Key
48
+ 3. Get a simulator or use one of the [prebuilt ones](https://hub.docker.com/u/composabl)
49
+ 4. Create an Agent or see our [examples](https://github.com/Composabl/examples.composabl.io)
@@ -0,0 +1,71 @@
1
+ composabl_cli_dev-0.18.6.dev15.dist-info/RECORD,,
2
+ composabl_cli_dev-0.18.6.dev15.dist-info/METADATA,sha256=f2NPcCREQei__b7j2MWv_yl6xNzAWWgxs4yf49ynZY0,2027
3
+ composabl_cli_dev-0.18.6.dev15.dist-info/WHEEL,sha256=29GglsfgOKni3MnvXwDNoeBjBZY4LOjl_HH3QTWETk4,153
4
+ composabl_cli_dev-0.18.6.dev15.dist-info/entry_points.txt,sha256=WrLVbw0dPbDvkgFcNa275XoyuBvDoP-453FEPMn_cG8,56
5
+ composabl_cli_dev-0.18.6.dev15.dist-info/top_level.txt,sha256=EGQnCayGP2E4xx8Z-rUeCIw8n3qRhuqDYQREYU08lwY,14
6
+ composabl_cli/__init__.py,sha256=S2R_1v6FRZ7Pb0vVWYZXFLcUFuRuHXYd0ZoWxYpquM8,316
7
+ composabl_cli/template/sim_docker/main.py,sha256=b_FdIqTsvs34ChmLISSurN3zuYjxVTUQfPoDKJRe4kg,1715
8
+ composabl_cli/template/sim_docker/README.md,sha256=buW49KLG-j7-A_8qZehEvG3TafeaK5_F92Z5ZfMMgAU,308
9
+ composabl_cli/template/sim_docker/Dockerfile,sha256=4EDDU8maYY6SzoLGjwfJ9Vzx_KYruMueVQwmbsOsdsM,1486
10
+ composabl_cli/template/sim_docker/docker/sim-start.sh,sha256=aGd_9HayqKClNgFr80MAn7JGPiMiZTKJmzUV0PaLiHw,515
11
+ composabl_cli/template/sim_docker/module/pyproject.toml,sha256=XCnRtO15K0sW5P521lZbjzZ2ScS4cSwnAQuC1-QGITA,490
12
+ composabl_cli/template/sim_docker/module/README.md,sha256=XjNdgOyS9RPMkgK2pGLVmYGHIuq9zNFv1HTCaqELmyw,1117
13
+ composabl_cli/template/sim_docker/module/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
14
+ composabl_cli/template/sim_docker/module/{{NAME_MODULE}}/sim_impl.py,sha256=9lvFL6yomv0ke3feYOynwQeR0CAtYv1e07BpttQXQDA,2915
15
+ composabl_cli/template/sim_docker/module/{{NAME_MODULE}}/sim.py,sha256=qVTLERG6duKh7vf-x6AdA5oz6hpBZNAABdN-sFL0lq4,7193
16
+ composabl_cli/template/agent_docker/agent.py,sha256=IfgRBxWI7S2X0lakAhGQHh3HT9rGcgdlv2ttTG56KeU,2837
17
+ composabl_cli/template/selector_teacher/pyproject.toml,sha256=abFMd5916s3nbYsG60IdNAvkjcC0JNbIJxny67HIQvE,272
18
+ composabl_cli/template/selector_teacher/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
19
+ composabl_cli/template/selector_teacher/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
20
+ composabl_cli/template/selector_teacher/{{NAME_MODULE}}/teacher.py,sha256=nFd6A_OwKVOaRb1VjOui-xyHJDJ5ISn1b7bOXOvnCjw,2599
21
+ composabl_cli/template/skill_teacher/pyproject.toml,sha256=LHrFqivumr9Ni3Vv7AF3KiALQWfSxgTEyiUXVV2hSx0,313
22
+ composabl_cli/template/skill_teacher/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
23
+ composabl_cli/template/skill_teacher/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
24
+ composabl_cli/template/skill_teacher/{{NAME_MODULE}}/teacher.py,sha256=nFd6A_OwKVOaRb1VjOui-xyHJDJ5ISn1b7bOXOvnCjw,2599
25
+ composabl_cli/template/sim/pyproject.toml,sha256=6OtNc2-fxUxUiMZlHAylHCzuEXstyHEn7KfHYVT2u3o,534
26
+ composabl_cli/template/sim/README.md,sha256=XjNdgOyS9RPMkgK2pGLVmYGHIuq9zNFv1HTCaqELmyw,1117
27
+ composabl_cli/template/sim/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
28
+ composabl_cli/template/sim/{{NAME_MODULE}}/sim_impl.py,sha256=9lvFL6yomv0ke3feYOynwQeR0CAtYv1e07BpttQXQDA,2915
29
+ composabl_cli/template/sim/{{NAME_MODULE}}/sim.py,sha256=qVTLERG6duKh7vf-x6AdA5oz6hpBZNAABdN-sFL0lq4,7193
30
+ composabl_cli/template/skill_coordinated_population/pyproject.toml,sha256=bGfBxOYbzkHWARL5Jer-T2fjP9PP-yPG_JYgmHfCvjk,324
31
+ composabl_cli/template/skill_coordinated_population/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
32
+ composabl_cli/template/skill_coordinated_population/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
33
+ composabl_cli/template/skill_coordinated_population/{{NAME_MODULE}}/coach.py,sha256=zUZL1biBnhdSrBvYQz6uprd4le_NhdITnz7NgodXZJE,2617
34
+ composabl_cli/template/agent_composabl/agent.py,sha256=bgLhCZ7hHVen-8WcPgFRTw-HBIQdU2KAUNfXLySmnu4,2451
35
+ composabl_cli/template/selector_controller/pyproject.toml,sha256=YstGAhKeJirzzd7MrHJ5clnFxnOji9oxexpOnjMZJwY,325
36
+ composabl_cli/template/selector_controller/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
37
+ composabl_cli/template/selector_controller/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
38
+ composabl_cli/template/selector_controller/{{NAME_MODULE}}/controller.py,sha256=ScK28F5cMb0Ek4ERBUAmrWbcPWDlmpA1zsxNBJgo2Rk,1744
39
+ composabl_cli/template/skill_coordinated_set/pyproject.toml,sha256=gXzoI96qTh_5AXo2bPo43ysI9L6lHr4d_G6ZwLLVb0k,317
40
+ composabl_cli/template/skill_coordinated_set/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
41
+ composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
42
+ composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/coach.py,sha256=zUZL1biBnhdSrBvYQz6uprd4le_NhdITnz7NgodXZJE,2617
43
+ composabl_cli/template/agent_local/agent.py,sha256=0Aw11GET3p8QqqDOfh7D990ovIXJz7fbuk5F2H6lwyM,2745
44
+ composabl_cli/template/skill_controller/pyproject.toml,sha256=bUA6ClwcD645Pl01q7gAkJzUR9zNaNKQ2GdclXbRJmU,322
45
+ composabl_cli/template/skill_controller/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
46
+ composabl_cli/template/skill_controller/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
47
+ composabl_cli/template/skill_controller/{{NAME_MODULE}}/controller.py,sha256=h-K6MLRwJuMKva5H8pp5ZLJ9WH4Z6_IIsKxnfVacASY,1372
48
+ composabl_cli/template/perceptor/pyproject.toml,sha256=nJSQ1dWAPToDGJv_dQ4pJupo6bXUYXWDBVLjg3O_Xb4,355
49
+ composabl_cli/template/perceptor/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
50
+ composabl_cli/template/perceptor/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
51
+ composabl_cli/template/perceptor/{{NAME_MODULE}}/perceptor.py,sha256=OADD3zG17GxIGtO_my1yMq3Sw3KcV9ARJcCFXcIvMEc,1165
52
+ composabl_cli/main/agent.cpython-312-aarch64-linux-gnu.so,sha256=KMbqMg1AZ-EGVm-icccw9c0jTqSUnjfwCX9Sbxkr4kk,379904
53
+ composabl_cli/main/sim.cpython-312-aarch64-linux-gnu.so,sha256=ldwjnSSt0rsN9K2vxjfPX7NtHNfLm5bZ46i6ZzmmOHs,758888
54
+ composabl_cli/main/perceptor.cpython-312-aarch64-linux-gnu.so,sha256=ZTQj764euTNfsExN654c288p4QJItAOgwpz05zuMuu8,769200
55
+ composabl_cli/main/skill.cpython-312-aarch64-linux-gnu.so,sha256=Arn_A2XldCZP_V_iKvqfF6FMnScN39UT-En2J7nYECE,829704
56
+ composabl_cli/main/selector.cpython-312-aarch64-linux-gnu.so,sha256=b7zIsfRVdCG4o5YfILZfwFsf7yJ7CoJrPRRviLDES0E,814608
57
+ composabl_cli/cli/__init__.cpython-312-aarch64-linux-gnu.so,sha256=SspN5qtLCrEVMFKroHEqMZpdJ4MvwlVCZSiqhN96Y8Q,134592
58
+ composabl_cli/cli/cli_main.cpython-312-aarch64-linux-gnu.so,sha256=lP4amO-ZefcZ7zSP3gE9KGp6Timmvw0Zq-YILO6GZCs,947464
59
+ composabl_cli/cli/cli_perceptor.cpython-312-aarch64-linux-gnu.so,sha256=m33Ueg5vWdwHzAETEWyjBuZa2CVn1Br1JkNrdX8m2NI,1051240
60
+ composabl_cli/cli/cli_benchmark.cpython-312-aarch64-linux-gnu.so,sha256=O1Jhn3HDgEMx4iWmp8dD7JLJVLOP4NwlgSYNl6CLGFs,536304
61
+ composabl_cli/cli/cli_historian.cpython-312-aarch64-linux-gnu.so,sha256=O00hyRywS6crR5jcHfYyLpDtVX-WVuCM_-0KyeqS4EM,806336
62
+ composabl_cli/cli/cli_selector.cpython-312-aarch64-linux-gnu.so,sha256=falNgJBfvvoF2i-8iSuZWUmB27f3bejj8NxhQGo3Qtw,1069032
63
+ composabl_cli/cli/cli_sim.cpython-312-aarch64-linux-gnu.so,sha256=lSvry-0mRlmAs_WPmTcqZTCpQlTdonf9qgwoG786hX4,2528144
64
+ composabl_cli/cli/cli.cpython-312-aarch64-linux-gnu.so,sha256=kNxwxFFspyhuYLyEhiqxJDieUSSFd6JpGqB_H4a-MrY,383920
65
+ composabl_cli/cli/cli_job.cpython-312-aarch64-linux-gnu.so,sha256=iv27I4d7bjNxhDVQ28RHQ3RAVvYAGYVWbFi664pNMl8,1228128
66
+ composabl_cli/cli/cli_skill.cpython-312-aarch64-linux-gnu.so,sha256=qt7xBIaLVgjQ5S4eZUA1U3DHAvSrc5-gRDbXOcmNW30,1069336
67
+ composabl_cli/cli/cli_agent.cpython-312-aarch64-linux-gnu.so,sha256=XATrqSC17te-10OdcqqGTCKJhtb2eVSjf30szR8kULg,814744
68
+ composabl_cli/cli/cli_debug.cpython-312-aarch64-linux-gnu.so,sha256=KZjEfcJppyy5BVvJImMklughyTpb3pYrMB7kCO3t3Kk,392152
69
+ composabl_cli/cli/cli_version.cpython-312-aarch64-linux-gnu.so,sha256=8WLapunUqtaMpLIrAwiWMYv1gWPX43HRn48tjD5OAKs,456096
70
+ composabl_cli/k8s/k8s_train.cpython-312-aarch64-linux-gnu.so,sha256=nW0rDV3uTtEdTu22rKgZ5-AzaLCS0AbV0YiDtfT5PAg,975184
71
+ composabl_cli/k8s/util.cpython-312-aarch64-linux-gnu.so,sha256=-9NGhaOaHi7VbbIcXsPKdzE-LW2A9QPDu0LMxmHz9Rk,338912
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-manylinux_2_17_aarch64
5
+ Tag: cp312-cp312-manylinux2014_aarch64
6
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ composabl = composabl_cli.cli.cli:run
@@ -0,0 +1 @@
1
+ composabl_cli