# fractale
> Translation layer for a jobspec specification to cluster execution
[](https://badge.fury.io/py/fractale)
[](https://zenodo.org/doi/10.5281/zenodo.13787066)
This library is primarily being used for development for the descriptive thrust of the Fractale project. It is called fractale, but also not called fractale. You can't be sure of the name until you open the box.
## Design
### Agents
The `fractale agent` command provides means to run build, job generation, and deployment agents.
This part of the library is under development. There are three kinds of agents:
- `step` agents are experts on doing specific tasks (do hold state)
- `manager` agents know how to orchestrate step agents and choose between them (don't hold state, but could)
- `helper` agents are used by step agents to do small tasks (e.g., suggest a fix for an error)
The design is simple in that each agent is responding to state of error vs. success. In the case of a step agent, the return code determines to continue or try again. In the case of a helper, the input is typically an erroneous response (or something that needs changing) with respect to a goal.
For a manager, we are making a choice based on a previous erroneous step.
See [examples/agent](examples/agent) for an example, along with observations, research questions, ideas, and experiment brainstorming!
### Job Specifications
#### Simple
We provide a simple translation layer between job specifications. We take the assumption that although each manager has many options, the actual options a user would use is a much smaller set, and it's relatively straight forward to translate (and have better accuracy).
See [examples/transform](examples/transform) for an example.
#### Complex
We want to:
1. Generate software graphs for some cluster (fluxion JGF) (this is done with [compspec](https://github.com/compspec/compspec)
2. Register N clusters to a tool (should be written as a python module)
3. Tool would have ability to select clusters from resources known, return
4. Need graphical representation (json) of each cluster - this will be used with the LLM inference
See [examples/fractale](examples/fractale) for a detailed walk-through of the above.
For graph tool:
```bash
conda install -c conda-forge graph-tool
```
<!-- ⭐️ [Documentation](https://compspec.github.io/fractale) ⭐️ -->
## License
HPCIC DevTools is distributed under the terms of the MIT license.
All new contributions must be made under this license.
See [LICENSE](https://github.com/converged-computing/cloud-select/blob/main/LICENSE),
[COPYRIGHT](https://github.com/converged-computing/cloud-select/blob/main/COPYRIGHT), and
[NOTICE](https://github.com/converged-computing/cloud-select/blob/main/NOTICE) for details.
SPDX-License-Identifier: (MIT)
LLNL-CODE- 842614
Raw data
{
"_id": null,
"home_page": "https://github.com/compspec/fractale",
"name": "fractale",
"maintainer": "Vanessa Sochat",
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "cluster, orchestration, transformer, jobspec, flux",
"author": "Vanessa Sochat",
"author_email": "vsoch@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/af/9e/e50b674fa2755d170c1ec3348f4da07ae1b6ef5bec0b166b6de7accd5b60/fractale-0.0.13.tar.gz",
"platform": null,
"description": "# fractale\n\n> Translation layer for a jobspec specification to cluster execution\n\n[](https://badge.fury.io/py/fractale)\n[](https://zenodo.org/doi/10.5281/zenodo.13787066)\n\nThis library is primarily being used for development for the descriptive thrust of the Fractale project. It is called fractale, but also not called fractale. You can't be sure of the name until you open the box.\n\n## Design\n\n### Agents\n\nThe `fractale agent` command provides means to run build, job generation, and deployment agents.\nThis part of the library is under development. There are three kinds of agents:\n\n - `step` agents are experts on doing specific tasks (do hold state)\n - `manager` agents know how to orchestrate step agents and choose between them (don't hold state, but could)\n - `helper` agents are used by step agents to do small tasks (e.g., suggest a fix for an error)\n\nThe design is simple in that each agent is responding to state of error vs. success. In the case of a step agent, the return code determines to continue or try again. In the case of a helper, the input is typically an erroneous response (or something that needs changing) with respect to a goal.\nFor a manager, we are making a choice based on a previous erroneous step.\n\nSee [examples/agent](examples/agent) for an example, along with observations, research questions, ideas, and experiment brainstorming!\n\n### Job Specifications\n\n#### Simple\n\nWe provide a simple translation layer between job specifications. We take the assumption that although each manager has many options, the actual options a user would use is a much smaller set, and it's relatively straight forward to translate (and have better accuracy).\n\nSee [examples/transform](examples/transform) for an example.\n\n#### Complex\n\nWe want to:\n\n1. Generate software graphs for some cluster (fluxion JGF) (this is done with [compspec](https://github.com/compspec/compspec)\n2. Register N clusters to a tool (should be written as a python module)\n3. Tool would have ability to select clusters from resources known, return\n4. Need graphical representation (json) of each cluster - this will be used with the LLM inference\n\nSee [examples/fractale](examples/fractale) for a detailed walk-through of the above.\n\nFor graph tool:\n\n```bash\nconda install -c conda-forge graph-tool\n```\n\n<!-- \u2b50\ufe0f [Documentation](https://compspec.github.io/fractale) \u2b50\ufe0f -->\n\n## License\n\nHPCIC DevTools is distributed under the terms of the MIT license.\nAll new contributions must be made under this license.\n\nSee [LICENSE](https://github.com/converged-computing/cloud-select/blob/main/LICENSE),\n[COPYRIGHT](https://github.com/converged-computing/cloud-select/blob/main/COPYRIGHT), and\n[NOTICE](https://github.com/converged-computing/cloud-select/blob/main/NOTICE) for details.\n\nSPDX-License-Identifier: (MIT)\n\nLLNL-CODE- 842614\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "Jobspec specification and translation layer for cluster work",
"version": "0.0.13",
"project_urls": {
"Homepage": "https://github.com/compspec/fractale"
},
"split_keywords": [
"cluster",
" orchestration",
" transformer",
" jobspec",
" flux"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4c8d6850fcc11474c358fa55cebff8c1f4e8eb92585d5f9eae4b990968e65d64",
"md5": "6677b3534d138f4cc0d7d68de8433d08",
"sha256": "027075bbab15fa9b8d4711d1bb43eb76829c2cc5ce3fc95674f1e398521b74de"
},
"downloads": -1,
"filename": "fractale-0.0.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6677b3534d138f4cc0d7d68de8433d08",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 141770,
"upload_time": "2025-09-08T13:52:53",
"upload_time_iso_8601": "2025-09-08T13:52:53.834292Z",
"url": "https://files.pythonhosted.org/packages/4c/8d/6850fcc11474c358fa55cebff8c1f4e8eb92585d5f9eae4b990968e65d64/fractale-0.0.13-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "af9ee50b674fa2755d170c1ec3348f4da07ae1b6ef5bec0b166b6de7accd5b60",
"md5": "d5db5d6d02205125ef943f92fc10cc30",
"sha256": "f923457909f3d677f3355e0009e7c35bf91dc45f71be5b51e1d08736559bcd9a"
},
"downloads": -1,
"filename": "fractale-0.0.13.tar.gz",
"has_sig": false,
"md5_digest": "d5db5d6d02205125ef943f92fc10cc30",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 99289,
"upload_time": "2025-09-08T13:52:55",
"upload_time_iso_8601": "2025-09-08T13:52:55.017255Z",
"url": "https://files.pythonhosted.org/packages/af/9e/e50b674fa2755d170c1ec3348f4da07ae1b6ef5bec0b166b6de7accd5b60/fractale-0.0.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-08 13:52:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "compspec",
"github_project": "fractale",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "fractale"
}