composabl-cli 0.12.0__cp310-cp310-macosx_10_9_universal2.whl → 0.14.0__cp310-cp310-macosx_10_9_universal2.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 might be problematic. Click here for more details.

Files changed (33) hide show
  1. composabl_cli/cli/__init__.cpython-310-darwin.so +0 -0
  2. composabl_cli/cli/cli.cpython-310-darwin.so +0 -0
  3. composabl_cli/cli/cli_agent.cpython-310-darwin.so +0 -0
  4. composabl_cli/cli/cli_benchmark.cpython-310-darwin.so +0 -0
  5. composabl_cli/cli/cli_debug.cpython-310-darwin.so +0 -0
  6. composabl_cli/cli/cli_historian.cpython-310-darwin.so +0 -0
  7. composabl_cli/cli/cli_job.cpython-310-darwin.so +0 -0
  8. composabl_cli/cli/cli_main.cpython-310-darwin.so +0 -0
  9. composabl_cli/cli/cli_perceptor.cpython-310-darwin.so +0 -0
  10. composabl_cli/cli/cli_selector.cpython-310-darwin.so +0 -0
  11. composabl_cli/cli/cli_sim.cpython-310-darwin.so +0 -0
  12. composabl_cli/cli/cli_skill.cpython-310-darwin.so +0 -0
  13. composabl_cli/cli/cli_version.cpython-310-darwin.so +0 -0
  14. composabl_cli/k8s/k8s_train.cpython-310-darwin.so +0 -0
  15. composabl_cli/k8s/util.cpython-310-darwin.so +0 -0
  16. composabl_cli/main/agent.cpython-310-darwin.so +0 -0
  17. composabl_cli/main/perceptor.cpython-310-darwin.so +0 -0
  18. composabl_cli/main/selector.cpython-310-darwin.so +0 -0
  19. composabl_cli/main/sim.cpython-310-darwin.so +0 -0
  20. composabl_cli/main/skill.cpython-310-darwin.so +0 -0
  21. composabl_cli/template/skill_coordinated_population/pyproject.toml +12 -0
  22. composabl_cli/template/skill_coordinated_set/README.md +67 -0
  23. composabl_cli/template/{skill_coach → skill_coordinated_set}/pyproject.toml +1 -1
  24. composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/__init__.py +3 -0
  25. composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/coach.py +70 -0
  26. {composabl_cli-0.12.0.dist-info → composabl_cli-0.14.0.dist-info}/METADATA +4 -4
  27. {composabl_cli-0.12.0.dist-info → composabl_cli-0.14.0.dist-info}/RECORD +33 -29
  28. {composabl_cli-0.12.0.dist-info → composabl_cli-0.14.0.dist-info}/WHEEL +1 -1
  29. /composabl_cli/template/{skill_coach → skill_coordinated_population}/README.md +0 -0
  30. /composabl_cli/template/{skill_coach → skill_coordinated_population}/{{NAME_MODULE}}/__init__.py +0 -0
  31. /composabl_cli/template/{skill_coach → skill_coordinated_population}/{{NAME_MODULE}}/coach.py +0 -0
  32. {composabl_cli-0.12.0.dist-info → composabl_cli-0.14.0.dist-info}/entry_points.txt +0 -0
  33. {composabl_cli-0.12.0.dist-info → composabl_cli-0.14.0.dist-info}/top_level.txt +0 -0
Binary file
@@ -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"
8
+ ]
9
+
10
+ [composabl]
11
+ type = "skill-coordinated-population"
12
+ entrypoint = "{{NAME_MODULE}}.coach:Coach"
@@ -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
+ ```
@@ -8,5 +8,5 @@ dependencies = [
8
8
  ]
9
9
 
10
10
  [composabl]
11
- type = "skill-coach"
11
+ type = "skill-coordinated-set"
12
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"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: composabl-cli
3
- Version: 0.12.0
3
+ Version: 0.14.0
4
4
  Summary: the Composabl CLI
5
5
  Author-email: Composabl <info@composabl.com>
6
6
  Requires-Python: >=3.10, <3.12
@@ -10,9 +10,9 @@ Requires-Dist: cython
10
10
  Requires-Dist: docker
11
11
  Requires-Dist: kubernetes
12
12
  Requires-Dist: jinja2
13
- Requires-Dist: composabl-core>=0.12.0
14
- Requires-Dist: composabl-train>=0.12.0
15
- Requires-Dist: composabl-api>=0.12.0
13
+ Requires-Dist: composabl-core>=0.14.0
14
+ Requires-Dist: composabl-train>=0.14.0
15
+ Requires-Dist: composabl-api>=0.14.0
16
16
  Requires-Dist: ruff
17
17
  Requires-Dist: simple-term-menu
18
18
  Dynamic: description
@@ -1,6 +1,6 @@
1
1
  composabl_cli/__init__.py,sha256=S2R_1v6FRZ7Pb0vVWYZXFLcUFuRuHXYd0ZoWxYpquM8,316
2
- composabl_cli/k8s/k8s_train.cpython-310-darwin.so,sha256=ofT8lIHOx-l7W9DJal_ueBLGAhL9MwUHy23JMzeNTR0,275296
3
- composabl_cli/k8s/util.cpython-310-darwin.so,sha256=LulUBYqIRutDf72t0cQ7CeB4YwhlhRMV_QkpVA5hbLU,129504
2
+ composabl_cli/k8s/k8s_train.cpython-310-darwin.so,sha256=WgDZdT1Y0lN_0j_uYBh2mhg4u0QxRCJPUgeHKWHrrOY,275296
3
+ composabl_cli/k8s/util.cpython-310-darwin.so,sha256=L380lXRCRjWq8NTc9xu9YJxKAtm2dXKChQ_UMhZOogQ,129504
4
4
  composabl_cli/template/agent_composabl/agent.py,sha256=bgLhCZ7hHVen-8WcPgFRTw-HBIQdU2KAUNfXLySmnu4,2451
5
5
  composabl_cli/template/agent_docker/agent.py,sha256=IfgRBxWI7S2X0lakAhGQHh3HT9rGcgdlv2ttTG56KeU,2837
6
6
  composabl_cli/template/skill_teacher/pyproject.toml,sha256=pShZXJHFw5-6cJYzw3jsbu_hbPjPQ_YXaOQhyOYUP84,269
@@ -24,14 +24,18 @@ composabl_cli/template/selector_teacher/pyproject.toml,sha256=abFMd5916s3nbYsG60
24
24
  composabl_cli/template/selector_teacher/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
25
25
  composabl_cli/template/selector_teacher/{{NAME_MODULE}}/teacher.py,sha256=nFd6A_OwKVOaRb1VjOui-xyHJDJ5ISn1b7bOXOvnCjw,2599
26
26
  composabl_cli/template/selector_teacher/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
27
+ composabl_cli/template/skill_coordinated_set/pyproject.toml,sha256=ULo_934qRiiBY-byKC5TT4AzX9tygritarUvP9IiU_0,273
28
+ composabl_cli/template/skill_coordinated_set/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
29
+ composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/coach.py,sha256=zUZL1biBnhdSrBvYQz6uprd4le_NhdITnz7NgodXZJE,2617
30
+ composabl_cli/template/skill_coordinated_set/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
27
31
  composabl_cli/template/perceptor/pyproject.toml,sha256=5C4jS4v-5Ai6NaSAcSYUwHDfC93fe5a0oGm1mkeTG0I,273
28
32
  composabl_cli/template/perceptor/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
29
33
  composabl_cli/template/perceptor/{{NAME_MODULE}}/perceptor.py,sha256=OADD3zG17GxIGtO_my1yMq3Sw3KcV9ARJcCFXcIvMEc,1165
30
34
  composabl_cli/template/perceptor/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
31
- composabl_cli/template/skill_coach/pyproject.toml,sha256=NJ4XaFkRjzocUwbBjGX6SxkpfPLE9Q-dUEvdPrCp7HY,263
32
- composabl_cli/template/skill_coach/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
33
- composabl_cli/template/skill_coach/{{NAME_MODULE}}/coach.py,sha256=zUZL1biBnhdSrBvYQz6uprd4le_NhdITnz7NgodXZJE,2617
34
- composabl_cli/template/skill_coach/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
35
+ composabl_cli/template/skill_coordinated_population/pyproject.toml,sha256=XAdy2qUEWNopmoSQ7LdtZ1DyTIFi6oBhLHUQ-Pa9CzA,280
36
+ composabl_cli/template/skill_coordinated_population/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
37
+ composabl_cli/template/skill_coordinated_population/{{NAME_MODULE}}/coach.py,sha256=zUZL1biBnhdSrBvYQz6uprd4le_NhdITnz7NgodXZJE,2617
38
+ composabl_cli/template/skill_coordinated_population/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
35
39
  composabl_cli/template/sim/pyproject.toml,sha256=XCnRtO15K0sW5P521lZbjzZ2ScS4cSwnAQuC1-QGITA,490
36
40
  composabl_cli/template/sim/README.md,sha256=XjNdgOyS9RPMkgK2pGLVmYGHIuq9zNFv1HTCaqELmyw,1117
37
41
  composabl_cli/template/sim/{{NAME_MODULE}}/sim.py,sha256=qVTLERG6duKh7vf-x6AdA5oz6hpBZNAABdN-sFL0lq4,7193
@@ -42,26 +46,26 @@ composabl_cli/template/skill_controller/pyproject.toml,sha256=cxs9x2geQxCIzWQ6j4
42
46
  composabl_cli/template/skill_controller/README.md,sha256=6xT3EUAvnNT0zVaVzwVPdBFyp9tOBuQvcEYDYAbeml8,1859
43
47
  composabl_cli/template/skill_controller/{{NAME_MODULE}}/controller.py,sha256=h-K6MLRwJuMKva5H8pp5ZLJ9WH4Z6_IIsKxnfVacASY,1372
44
48
  composabl_cli/template/skill_controller/{{NAME_MODULE}}/__init__.py,sha256=XAEQrdYyHgWwuZZQOoG2r0RnTegCpEhZUPY63WptO7Y,159
45
- composabl_cli/cli/cli.cpython-310-darwin.so,sha256=txAfBYeTmrumtQKRHV6MmhEIEbLhVr9WjuvD1__NP8Y,163824
46
- composabl_cli/cli/cli_sim.cpython-310-darwin.so,sha256=l-fayp12EpzPxx5RcB_jW-EFyl1CENYoeF-RBYaFdFw,608432
47
- composabl_cli/cli/cli_perceptor.cpython-310-darwin.so,sha256=Ak3Yz1QNKOGBz_5o4JN4aZUh52szZYZ8YKBTMGwlyk0,295496
48
- composabl_cli/cli/cli_version.cpython-310-darwin.so,sha256=YeOenr6DZLji8CBrJnvgyL-LykFekgJU23f9z2mIT3k,164232
49
- composabl_cli/cli/cli_main.cpython-310-darwin.so,sha256=U48QGI0maZgXHE_2XjOMJuJHvVMRrtZl0G5FzPGyH08,275680
50
- composabl_cli/cli/cli_historian.cpython-310-darwin.so,sha256=YeRtCjtoPGaGs11GyUUaHxdOcx4XuTa2_9JM14gQpuo,217288
51
- composabl_cli/cli/__init__.cpython-310-darwin.so,sha256=aAmuceDEcha0vflFZRvJ7jdMtH3AVky1PXUfHHfTYCw,88592
52
- composabl_cli/cli/cli_skill.cpython-310-darwin.so,sha256=aUmkOK1NjACJF8mvslQbGYerjTB7UsE3bgI_u9J0tpY,329744
53
- composabl_cli/cli/cli_benchmark.cpython-310-darwin.so,sha256=mgojn2xS5Ns6GSDcGwpWXXXh5biIqtCjxeLTdzBjYEs,183416
54
- composabl_cli/cli/cli_selector.cpython-310-darwin.so,sha256=i0Znh5FvzIi8Fqs_KQ06Z2zLEYny7S6BdQT-7izOSUE,329880
55
- composabl_cli/cli/cli_debug.cpython-310-darwin.so,sha256=KEG6H89U8M2AcbTzbrlOYzFW2Y5TMI7no0NvlWQFLHQ,147824
56
- composabl_cli/cli/cli_agent.cpython-310-darwin.so,sha256=_BF5vCjHOsoSThDzHiNTMDI-n0sKz1SA4wuWP-UnXd0,222736
57
- composabl_cli/cli/cli_job.cpython-310-darwin.so,sha256=hQRRP7BWt3bzf6WRBLO3eoXuVx1XgKGFbXxowdYg1jQ,329040
58
- composabl_cli/main/selector.cpython-310-darwin.so,sha256=hfGFtqSHCYZrFWz671FI2b8ceCYtEfNEZXEueA8Q0E8,240256
59
- composabl_cli/main/perceptor.cpython-310-darwin.so,sha256=Jhtfo_DKMTbyk0vZTRcN-3632JURwG_NiuOCZQIONcA,223120
60
- composabl_cli/main/sim.cpython-310-darwin.so,sha256=AUKCC5gccRKrDlwc3rG_3XMVdNhB-yEco9rTiF6ytBY,223216
61
- composabl_cli/main/agent.cpython-310-darwin.so,sha256=z0co3V79xNSBTcfZxeWsrL3qfYSmKprbUHwJwLsCkaU,146704
62
- composabl_cli/main/skill.cpython-310-darwin.so,sha256=z119AJoLhMz8oXh22f4W_fO3-FON0YYLXEgcBhZaOs4,240304
63
- composabl_cli-0.12.0.dist-info/RECORD,,
64
- composabl_cli-0.12.0.dist-info/WHEEL,sha256=Yd3eJSBM2hj8W-ouaiMfFUwQYAS-D6P73Ob9yN5MZd0,114
65
- composabl_cli-0.12.0.dist-info/entry_points.txt,sha256=WrLVbw0dPbDvkgFcNa275XoyuBvDoP-453FEPMn_cG8,56
66
- composabl_cli-0.12.0.dist-info/top_level.txt,sha256=EGQnCayGP2E4xx8Z-rUeCIw8n3qRhuqDYQREYU08lwY,14
67
- composabl_cli-0.12.0.dist-info/METADATA,sha256=vusxyUTjjf26KzdlmWDgp2Mh5D-I-6BgB7AcL7S77Ko,1957
49
+ composabl_cli/cli/cli.cpython-310-darwin.so,sha256=6BhtKp2KnR249h8QfRNWbKen5yuEJG6OPOcUavAopRk,163824
50
+ composabl_cli/cli/cli_sim.cpython-310-darwin.so,sha256=PLuTSQq6vNPCJumZ-Jy_pCSR7Dg_ubFmPVzl-0QCO6g,608432
51
+ composabl_cli/cli/cli_perceptor.cpython-310-darwin.so,sha256=rzeU5gnRwWc7li5AwSrgSCCzZFTrQTi2BHnHDLSjfAo,295496
52
+ composabl_cli/cli/cli_version.cpython-310-darwin.so,sha256=wIuvuefw4CR6vOz008i7O0XYHBYzbxQAW7S1cTjdm2k,164232
53
+ composabl_cli/cli/cli_main.cpython-310-darwin.so,sha256=SPrVqPYEJLn5JEbP1WGqV_a1y5s0zeUEn-b1ws4RJ4g,275680
54
+ composabl_cli/cli/cli_historian.cpython-310-darwin.so,sha256=HYZRBlqZBiAlX-gspbGtt2DoIcTW9H2km2Nm1BsJr9M,217288
55
+ composabl_cli/cli/__init__.cpython-310-darwin.so,sha256=_SYFDkFjI4foF2E9xj79BeEmQFWmCpX-t3bPKqq3G28,88592
56
+ composabl_cli/cli/cli_skill.cpython-310-darwin.so,sha256=YzJkak37CMD3OgER9DQOTzW_cTleKGjegoJyWHCdJek,329744
57
+ composabl_cli/cli/cli_benchmark.cpython-310-darwin.so,sha256=FfCLbq2bhjAvspFsWM8IqhqtU-0G5zQnyHoRPZcO64E,183416
58
+ composabl_cli/cli/cli_selector.cpython-310-darwin.so,sha256=NGGUarNTgvGqwh3dNA6QFYda53TsjOCZ9d5ce0FuatU,329880
59
+ composabl_cli/cli/cli_debug.cpython-310-darwin.so,sha256=769diuBiHWJfvXqlV43hhxV8s6FsQpg1FWZlUHbzx8c,147824
60
+ composabl_cli/cli/cli_agent.cpython-310-darwin.so,sha256=RxhsuAzrUJzp94_tqL7IaWI_a9YE99pqkF7lRKHYdvw,222736
61
+ composabl_cli/cli/cli_job.cpython-310-darwin.so,sha256=aJS3yYIA9enXsPlyUVhVvc4lssSDLUJYh9f0AmLQJd0,329040
62
+ composabl_cli/main/selector.cpython-310-darwin.so,sha256=nkogRs0uIc4N5O22x9HmD5M9mE2KQx6rBOAzfyTDfxs,240256
63
+ composabl_cli/main/perceptor.cpython-310-darwin.so,sha256=RbILc1q8-wfPcrBrq3mvTOGBrQyjBEZRI9e2clS5VGE,223120
64
+ composabl_cli/main/sim.cpython-310-darwin.so,sha256=ICXXmKisq8nMYjnl0actgKiyH-xOtlVXnyQa9Q7z60k,223216
65
+ composabl_cli/main/agent.cpython-310-darwin.so,sha256=DyJHUfcDxmSCUh6aQreTn-7Q6n5iUzVyAfIOZrVH-yE,146704
66
+ composabl_cli/main/skill.cpython-310-darwin.so,sha256=rNWoyl2PXZq9B3z6oIzhpS8kn59BNywf5WHssiuJon4,240464
67
+ composabl_cli-0.14.0.dist-info/RECORD,,
68
+ composabl_cli-0.14.0.dist-info/WHEEL,sha256=PolFmPkBRqOxJCMvmNEJhcMPAgrWNQIyPvTInzN4IZk,114
69
+ composabl_cli-0.14.0.dist-info/entry_points.txt,sha256=WrLVbw0dPbDvkgFcNa275XoyuBvDoP-453FEPMn_cG8,56
70
+ composabl_cli-0.14.0.dist-info/top_level.txt,sha256=EGQnCayGP2E4xx8Z-rUeCIw8n3qRhuqDYQREYU08lwY,14
71
+ composabl_cli-0.14.0.dist-info/METADATA,sha256=YWgq4hjeDK9zsND58gEuJTXUXTJ851gchjQysEmzK4w,1957
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-macosx_10_9_universal2
5
5