# Nanohub - UIDL
# UIDL Stats
<table>
<tr>
<td>Latest Release</td>
<td>
<a href="https://pypi.org/project/nanohub-uidl/"/>
<img src="https://badge.fury.io/py/nanohub-uidl.svg"/>
</td>
</tr>
<tr>
<td>PyPI Downloads</td>
<td>
<a href="https://pepy.tech/project/nanohub-uidl"/>
<img src="https://pepy.tech/badge/nanohub-uidl/month"/>
<img src="https://pepy.tech/badge/nanohub-uidl"/>
</td>
</tr>
</table>
A set of tools to create Javascript apps to consume nanohub WS
## Installation
```bashv
pip install nanohub-uidl
```
## Usage
```python
from nanohubuidl.teleport import TeleportProject, TeleportElement
from nanohubuidl.material import MaterialContent
from nanohubuidl.auth import AUTH
Project = TeleportProject("My App")
Component = Project.root
Component.addStateVariable("myvariable", {"type":"boolean", "defaultValue": True})
STATE_LOADER_STATUS = "loader_status"
STATE_LOADER_OPEN = "loader_open"
STATE_ERROR_STATUS = "error_status"
STATE_ERROR_OPEN = "error_open"
Login, CLogin = Auth.Login(
Project,
Component,
client_id = "MYAPPID",
client_secret = "MYAPPSECRET",
url = "https://nanohub.org/api/developer/oauth/token",
open_state = STATE_LOGIN_OPEN
)
Login.content.events["onError"]=[
{ "type": "stateChange", "modifies": STATE_ERROR_OPEN, "newState": True},
{ "type": "stateChange", "modifies": STATE_ERROR_STATUS, "newState": '$e'},
]
Login.content.events["onAuth"] = [
{ "type": "stateChange", "modifies": STATE_ERROR_OPEN, "newState": False},
{ "type": "stateChange", "modifies": STATE_LOADER_OPEN, "newState": False},
]
Grid = t.TeleportElement(MaterialContent(elementType="Grid"))
Button= MaterialBuilder.Button(
title = "Reset Setting",
variant = "text",
onClickButton=[{ "type": "stateChange", "modifies": "parameters","newState": resetSettings}]
)
Grid.addContent(Button)
Component.addNode(Grid)
Project.buildReact("Myapp.html");
```
Raw data
{
"_id": null,
"home_page": "https://github.com/denphi/nanohub-uidl",
"name": "nanohub-uidl",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "IPython",
"author": "Nanohub",
"author_email": "denphi@denphi.com",
"download_url": "https://files.pythonhosted.org/packages/cc/49/b37cbf1dea910aae51ee51f2841dfbeb4cf1ab1814166a9b9b34c68c7e0a/nanohub-uidl-0.1.9.tar.gz",
"platform": "Linux",
"description": "# Nanohub - UIDL\n\n# UIDL Stats\n\n<table>\n <tr>\n <td>Latest Release</td>\n <td>\n <a href=\"https://pypi.org/project/nanohub-uidl/\"/>\n <img src=\"https://badge.fury.io/py/nanohub-uidl.svg\"/>\n </td>\n </tr>\n <tr>\n <td>PyPI Downloads</td>\n <td>\n <a href=\"https://pepy.tech/project/nanohub-uidl\"/>\n <img src=\"https://pepy.tech/badge/nanohub-uidl/month\"/>\n <img src=\"https://pepy.tech/badge/nanohub-uidl\"/>\n </td>\n </tr>\n</table>\n\nA set of tools to create Javascript apps to consume nanohub WS\n\n## Installation\n\n\n```bashv\npip install nanohub-uidl\n```\n\n## Usage\n\n\n```python\nfrom nanohubuidl.teleport import TeleportProject, TeleportElement\nfrom nanohubuidl.material import MaterialContent\nfrom nanohubuidl.auth import AUTH\n\nProject = TeleportProject(\"My App\")\nComponent = Project.root\nComponent.addStateVariable(\"myvariable\", {\"type\":\"boolean\", \"defaultValue\": True})\n\nSTATE_LOADER_STATUS = \"loader_status\"\nSTATE_LOADER_OPEN = \"loader_open\"\nSTATE_ERROR_STATUS = \"error_status\"\nSTATE_ERROR_OPEN = \"error_open\"\n\nLogin, CLogin = Auth.Login(\n Project,\n Component,\n client_id = \"MYAPPID\",\n client_secret = \"MYAPPSECRET\",\n url = \"https://nanohub.org/api/developer/oauth/token\", \n open_state = STATE_LOGIN_OPEN\n)\n\nLogin.content.events[\"onError\"]=[\n { \"type\": \"stateChange\", \"modifies\": STATE_ERROR_OPEN, \"newState\": True},\n { \"type\": \"stateChange\", \"modifies\": STATE_ERROR_STATUS, \"newState\": '$e'},\n]\n\nLogin.content.events[\"onAuth\"] = [ \n { \"type\": \"stateChange\", \"modifies\": STATE_ERROR_OPEN, \"newState\": False},\n { \"type\": \"stateChange\", \"modifies\": STATE_LOADER_OPEN, \"newState\": False},\n]\n\nGrid = t.TeleportElement(MaterialContent(elementType=\"Grid\"))\nButton= MaterialBuilder.Button(\n title = \"Reset Setting\", \n variant = \"text\", \n onClickButton=[{ \"type\": \"stateChange\", \"modifies\": \"parameters\",\"newState\": resetSettings}]\n)\nGrid.addContent(Button)\n\nComponent.addNode(Grid)\nProject.buildReact(\"Myapp.html\");\n\n```\n\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "A set of tools to run create Javascript Apps, using Teleporthq UIDL schema",
"version": "0.1.9",
"project_urls": {
"Homepage": "https://github.com/denphi/nanohub-uidl"
},
"split_keywords": [
"ipython"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5f0aa06a721e32d5d5b31821b7404b19839659827f6cc69970331809922b2a57",
"md5": "b4af0fab780fa37b711c7e0bf6a7f2f8",
"sha256": "9ac95e48b93ee0fb7cbf94b353efdf47d6baf1394ee96ef8b3c77b68a4b5d0d0"
},
"downloads": -1,
"filename": "nanohub_uidl-0.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b4af0fab780fa37b711c7e0bf6a7f2f8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 68846,
"upload_time": "2023-06-29T15:27:36",
"upload_time_iso_8601": "2023-06-29T15:27:36.063853Z",
"url": "https://files.pythonhosted.org/packages/5f/0a/a06a721e32d5d5b31821b7404b19839659827f6cc69970331809922b2a57/nanohub_uidl-0.1.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cc49b37cbf1dea910aae51ee51f2841dfbeb4cf1ab1814166a9b9b34c68c7e0a",
"md5": "2f29999d9304965e3132d6672bc7d33d",
"sha256": "1e8faa1433e51399fdc0121f9e5ea29aecfb2e8559eee0eb5953a4f4caaad045"
},
"downloads": -1,
"filename": "nanohub-uidl-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "2f29999d9304965e3132d6672bc7d33d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 64785,
"upload_time": "2023-06-29T15:27:38",
"upload_time_iso_8601": "2023-06-29T15:27:38.055894Z",
"url": "https://files.pythonhosted.org/packages/cc/49/b37cbf1dea910aae51ee51f2841dfbeb4cf1ab1814166a9b9b34c68c7e0a/nanohub-uidl-0.1.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-29 15:27:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "denphi",
"github_project": "nanohub-uidl",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nanohub-uidl"
}