# `gradio_goodtab`
<img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.3%20-%20orange">
Python library for easily interacting with trained machine learning models
## Installation
```bash
pip install gradio_goodtab
```
## Usage
```python
import gradio as gr
from gradio_goodtabs import GoodTabs
from gradio_goodtab import GoodTab as Tab
# gr.Tab = Tab
# gr.Tabs = GoodTabs
with gr.Blocks() as demo:
with gr.Row():
# with gr.Tabs():
with GoodTabs():
with Tab("Tab 1 long long long long long long long long long"):
gr.Textbox(value="foo", interactive=True)
with Tab("Tab 1 long long long long long long long long long"):
gr.Textbox(value="foo", interactive=True)
# with gr.Tab("Tab 1 long long long long long long long long long"):
# gr.Textbox(value="foo", interactive=True)
# with gr.Tab("Tab 1 long long long long long long long long long"):
# gr.Textbox(value="foo", interactive=True)
# with gr.Tab("Tab 1 long long long long long long long long long"):
# gr.Textbox(value="foo", interactive=True)
# with gr.Tab("Tab 1 long long long long long long long long long"):
# gr.Textbox(value="foo", interactive=True)
# with gr.Tab("Tab 2"):
# gr.Number(value=10, interactive=True)
if __name__ == "__main__":
demo.launch()
```
## `GoodTab`
### Initialization
<table>
<thead>
<tr>
<th align="left">name</th>
<th align="left" style="width: 25%;">type</th>
<th align="left">default</th>
<th align="left">description</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>label</code></td>
<td align="left" style="width: 25%;">
```python
str | None
```
</td>
<td align="left"><code>None</code></td>
<td align="left">The visual label for the tab</td>
</tr>
<tr>
<td align="left"><code>visible</code></td>
<td align="left" style="width: 25%;">
```python
bool
```
</td>
<td align="left"><code>True</code></td>
<td align="left">If False, Tab will be hidden.</td>
</tr>
<tr>
<td align="left"><code>interactive</code></td>
<td align="left" style="width: 25%;">
```python
bool
```
</td>
<td align="left"><code>True</code></td>
<td align="left">If False, Tab will not be clickable.</td>
</tr>
<tr>
<td align="left"><code>id</code></td>
<td align="left" style="width: 25%;">
```python
int | str | None
```
</td>
<td align="left"><code>None</code></td>
<td align="left">An optional identifier for the tab, required if you wish to control the selected tab from a predict function.</td>
</tr>
<tr>
<td align="left"><code>elem_id</code></td>
<td align="left" style="width: 25%;">
```python
str | None
```
</td>
<td align="left"><code>None</code></td>
<td align="left">An optional string that is assigned as the id of the <div> containing the contents of the Tab layout. The same string followed by "-button" is attached to the Tab button. Can be used for targeting CSS styles.</td>
</tr>
<tr>
<td align="left"><code>elem_classes</code></td>
<td align="left" style="width: 25%;">
```python
list[str] | str | None
```
</td>
<td align="left"><code>None</code></td>
<td align="left">An optional string or list of strings that are assigned as the class of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
</tr>
<tr>
<td align="left"><code>render</code></td>
<td align="left" style="width: 25%;">
```python
bool
```
</td>
<td align="left"><code>True</code></td>
<td align="left">If False, this layout will not be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>
</tr>
</tbody></table>
### Events
| name | description |
|:-----|:------------|
| `select` | Event listener for when the user selects or deselects the GoodTab. Uses event data gradio.SelectData to carry `value` referring to the label of the GoodTab, and `selected` to refer to state of the GoodTab. See EventData documentation on how to use this event data |
Raw data
{
"_id": null,
"home_page": null,
"name": "gradio-goodtab",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "gradio-custom-component, gradio-template-Tab",
"author": null,
"author_email": "YOUR NAME <YOUREMAIL@domain.com>",
"download_url": null,
"platform": null,
"description": "\n# `gradio_goodtab`\n<img alt=\"Static Badge\" src=\"https://img.shields.io/badge/version%20-%200.0.3%20-%20orange\"> \n\nPython library for easily interacting with trained machine learning models\n\n## Installation\n\n```bash\npip install gradio_goodtab\n```\n\n## Usage\n\n```python\n\nimport gradio as gr\nfrom gradio_goodtabs import GoodTabs\nfrom gradio_goodtab import GoodTab as Tab\n# gr.Tab = Tab\n# gr.Tabs = GoodTabs\n\nwith gr.Blocks() as demo:\n with gr.Row():\n # with gr.Tabs():\n with GoodTabs(): \n with Tab(\"Tab 1 long long long long long long long long long\"):\n gr.Textbox(value=\"foo\", interactive=True)\n with Tab(\"Tab 1 long long long long long long long long long\"):\n gr.Textbox(value=\"foo\", interactive=True)\n # with gr.Tab(\"Tab 1 long long long long long long long long long\"):\n # gr.Textbox(value=\"foo\", interactive=True)\n # with gr.Tab(\"Tab 1 long long long long long long long long long\"):\n # gr.Textbox(value=\"foo\", interactive=True)\n # with gr.Tab(\"Tab 1 long long long long long long long long long\"):\n # gr.Textbox(value=\"foo\", interactive=True)\n # with gr.Tab(\"Tab 1 long long long long long long long long long\"):\n # gr.Textbox(value=\"foo\", interactive=True)\n # with gr.Tab(\"Tab 2\"):\n # gr.Number(value=10, interactive=True)\n\n\nif __name__ == \"__main__\":\n demo.launch()\n\n```\n\n## `GoodTab`\n\n### Initialization\n\n<table>\n<thead>\n<tr>\n<th align=\"left\">name</th>\n<th align=\"left\" style=\"width: 25%;\">type</th>\n<th align=\"left\">default</th>\n<th align=\"left\">description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"left\"><code>label</code></td>\n<td align=\"left\" style=\"width: 25%;\">\n\n```python\nstr | None\n```\n\n</td>\n<td align=\"left\"><code>None</code></td>\n<td align=\"left\">The visual label for the tab</td>\n</tr>\n\n<tr>\n<td align=\"left\"><code>visible</code></td>\n<td align=\"left\" style=\"width: 25%;\">\n\n```python\nbool\n```\n\n</td>\n<td align=\"left\"><code>True</code></td>\n<td align=\"left\">If False, Tab will be hidden.</td>\n</tr>\n\n<tr>\n<td align=\"left\"><code>interactive</code></td>\n<td align=\"left\" style=\"width: 25%;\">\n\n```python\nbool\n```\n\n</td>\n<td align=\"left\"><code>True</code></td>\n<td align=\"left\">If False, Tab will not be clickable.</td>\n</tr>\n\n<tr>\n<td align=\"left\"><code>id</code></td>\n<td align=\"left\" style=\"width: 25%;\">\n\n```python\nint | str | None\n```\n\n</td>\n<td align=\"left\"><code>None</code></td>\n<td align=\"left\">An optional identifier for the tab, required if you wish to control the selected tab from a predict function.</td>\n</tr>\n\n<tr>\n<td align=\"left\"><code>elem_id</code></td>\n<td align=\"left\" style=\"width: 25%;\">\n\n```python\nstr | None\n```\n\n</td>\n<td align=\"left\"><code>None</code></td>\n<td align=\"left\">An optional string that is assigned as the id of the <div> containing the contents of the Tab layout. The same string followed by \"-button\" is attached to the Tab button. Can be used for targeting CSS styles.</td>\n</tr>\n\n<tr>\n<td align=\"left\"><code>elem_classes</code></td>\n<td align=\"left\" style=\"width: 25%;\">\n\n```python\nlist[str] | str | None\n```\n\n</td>\n<td align=\"left\"><code>None</code></td>\n<td align=\"left\">An optional string or list of strings that are assigned as the class of this component in the HTML DOM. Can be used for targeting CSS styles.</td>\n</tr>\n\n<tr>\n<td align=\"left\"><code>render</code></td>\n<td align=\"left\" style=\"width: 25%;\">\n\n```python\nbool\n```\n\n</td>\n<td align=\"left\"><code>True</code></td>\n<td align=\"left\">If False, this layout will not be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>\n</tr>\n</tbody></table>\n\n\n### Events\n\n| name | description |\n|:-----|:------------|\n| `select` | Event listener for when the user selects or deselects the GoodTab. Uses event data gradio.SelectData to carry `value` referring to the label of the GoodTab, and `selected` to refer to state of the GoodTab. See EventData documentation on how to use this event data |\n\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Python library for easily interacting with trained machine learning models",
"version": "0.0.3",
"project_urls": null,
"split_keywords": [
"gradio-custom-component",
" gradio-template-tab"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "d38227a9c93cb92f2216b5c760a2a0f132a42cba7b13e97dc8e3d1d495ac599b",
"md5": "967f6ec499a8be4b8b38859d1f672f3d",
"sha256": "d4c95c3f605dbf7113fb06be8f48b5b21bc2ea88025d8e6620d9cb81d579bab3"
},
"downloads": -1,
"filename": "gradio_goodtab-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "967f6ec499a8be4b8b38859d1f672f3d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 1109224,
"upload_time": "2025-09-18T13:42:16",
"upload_time_iso_8601": "2025-09-18T13:42:16.350376Z",
"url": "https://files.pythonhosted.org/packages/d3/82/27a9c93cb92f2216b5c760a2a0f132a42cba7b13e97dc8e3d1d495ac599b/gradio_goodtab-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-18 13:42:16",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "gradio-goodtab"
}