<div align="center"><picture>
<source media="(prefers-color-scheme: dark)" srcset="assets/dark_background_logo.svg">
<img alt="hypernodes" src="assets/light_background_logo.svg" width=700">
</picture></div>
<p align="center">
<a href="#installation">[Installation]</a> |
<a href="#quick-start">[Quick Start]</a> |
<a href="#license">[License]</a>
</p>
**`hypernodes`** is a lightweight Python package designed to bind together Hamilton DAGs and Hypster configurations to create modular, extensible and highly optimized AI workflows.
```{warning}
This package is currently in active development and should not be used in production environments.
```
## Installation
Install hypernodes using pip:
```bash
pip install hypernodes
```
## Quick Start
Here's a simple example of how to use hypernodes:
```python
from hypernodes import NodeRegistry
registry = NodeRegistry.initialize()
# Create or get a HyperNode
node = registry.create_or_get("example_node")
# Define Hypster configuration
from hypster import HP, config
@config
def my_config(hp: HP):
data_path = hp.text("data")
env = hp.select(["dev", "prod"], default="dev")
llm_model = hp.select({"haiku": "claude-3-haiku-20240307",
"sonnet": "claude-3-5-sonnet-20240620"}, default="haiku")
# Save Hypster configuration
node.save_hypster_config(my_config)
# Define Hamilton DAG
def query(llm_model: str) -> str:
return f"Querying {llm_model}..."
# Save Hamilton DAG
node.save_dag(dag)
# Load and execute
node = registry.load("example_node")
node.instantiate(values={"llm_model": "sonnet", "data_path": "data_folder"})
results = node.execute()
print(results) # {'query': 'Querying claude-3-5-sonnet-20240620...'}
```
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/gilad-rubin/hypernodes",
"name": "hypernodes",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "template, ai, ds, hypernodes",
"author": "Gillad Rubin",
"author_email": "me@giladrubin.com",
"download_url": "https://files.pythonhosted.org/packages/0b/73/a11ec06af965025ad7b3e4bda09506892bc020a2b2e354c8f1817dd171cd/hypernodes-0.2.1.tar.gz",
"platform": null,
"description": "<div align=\"center\"><picture>\n <source media=\"(prefers-color-scheme: dark)\" srcset=\"assets/dark_background_logo.svg\">\n <img alt=\"hypernodes\" src=\"assets/light_background_logo.svg\" width=700\">\n</picture></div>\n\n<p align=\"center\">\n <a href=\"#installation\">[Installation]</a> |\n <a href=\"#quick-start\">[Quick Start]</a> |\n <a href=\"#license\">[License]</a>\n</p>\n\n**`hypernodes`** is a lightweight Python package designed to bind together Hamilton DAGs and Hypster configurations to create modular, extensible and highly optimized AI workflows.\n\n```{warning}\nThis package is currently in active development and should not be used in production environments.\n```\n\n## Installation\n\nInstall hypernodes using pip:\n\n```bash\npip install hypernodes\n```\n\n## Quick Start\n\nHere's a simple example of how to use hypernodes:\n\n```python\nfrom hypernodes import NodeRegistry\nregistry = NodeRegistry.initialize()\n\n# Create or get a HyperNode\nnode = registry.create_or_get(\"example_node\")\n\n# Define Hypster configuration\n\nfrom hypster import HP, config\n\n@config\ndef my_config(hp: HP):\n data_path = hp.text(\"data\")\n env = hp.select([\"dev\", \"prod\"], default=\"dev\")\n llm_model = hp.select({\"haiku\": \"claude-3-haiku-20240307\",\n \"sonnet\": \"claude-3-5-sonnet-20240620\"}, default=\"haiku\")\n\n# Save Hypster configuration\nnode.save_hypster_config(my_config)\n\n# Define Hamilton DAG\ndef query(llm_model: str) -> str:\n return f\"Querying {llm_model}...\"\n\n# Save Hamilton DAG\nnode.save_dag(dag)\n\n# Load and execute\nnode = registry.load(\"example_node\")\nnode.instantiate(values={\"llm_model\": \"sonnet\", \"data_path\": \"data_folder\"})\n\nresults = node.execute()\nprint(results) # {'query': 'Querying claude-3-5-sonnet-20240620...'}\n```\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.",
"bugtrack_url": null,
"license": "MIT",
"summary": "DS & AI Tools & Templates for Binding Hamilton with Hypster together",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/gilad-rubin/hypernodes",
"Repository": "https://github.com/gilad-rubin/hypernodes"
},
"split_keywords": [
"template",
" ai",
" ds",
" hypernodes"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "01f06d34487c8d3ccefd5cbffe5d439d93b09849151e569db90b1ce710c81f63",
"md5": "6340dd6e1c41bfe06d45a8a36726eac2",
"sha256": "9cdc62426708f8c3e8da2658e6dc37e9a073da80996b7f8191db3593a0795f61"
},
"downloads": -1,
"filename": "hypernodes-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6340dd6e1c41bfe06d45a8a36726eac2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 12977,
"upload_time": "2025-02-03T12:07:25",
"upload_time_iso_8601": "2025-02-03T12:07:25.871067Z",
"url": "https://files.pythonhosted.org/packages/01/f0/6d34487c8d3ccefd5cbffe5d439d93b09849151e569db90b1ce710c81f63/hypernodes-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b73a11ec06af965025ad7b3e4bda09506892bc020a2b2e354c8f1817dd171cd",
"md5": "9f53b2413b37cced888ff841242243d7",
"sha256": "8c9104d6ddaa46a6e95413e9ff0ac3b3c3f745149ea85a05c1db6a76c855f0cb"
},
"downloads": -1,
"filename": "hypernodes-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "9f53b2413b37cced888ff841242243d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 11846,
"upload_time": "2025-02-03T12:07:27",
"upload_time_iso_8601": "2025-02-03T12:07:27.812738Z",
"url": "https://files.pythonhosted.org/packages/0b/73/a11ec06af965025ad7b3e4bda09506892bc020a2b2e354c8f1817dd171cd/hypernodes-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-03 12:07:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gilad-rubin",
"github_project": "hypernodes",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "hypster",
"specs": []
},
{
"name": "sf-hamilton",
"specs": []
},
{
"name": "graphviz",
"specs": []
}
],
"lcname": "hypernodes"
}