shinyobservable


Nameshinyobservable JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryObservable Notebooks and Cells in Shiny
upload_time2024-02-12 08:05:17
maintainer
docs_urlNone
authorStefan Kuethe
requires_python>=3.9
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # shinyobservable

Embed [Observable Notebooks](https://observablehq.com/) in [Shiny for Python](https://shiny.posit.co/py/).

Shinyobservable makes it a breeze to integrate libraries such as [D3](https://d3js.org/).

Create any kind of JavaScript visualizations and let Shiny handle your data and interactivity. 

## Features

* Embed entire notebooks
* Embed selected cells only
* Update data cells to update visualizations

## Installation

```bash
pip install shinyobservable

# Dev
pip install git+https://github.com/eodaGmbH/py-shiny-shinyobservable
```

## Quickstart

```python
from htmltools import a
from shiny.express import ui
from shinyobservable import Observable, ObservableRenderer

NOTEBOOK = "https://observablehq.com/@d3/zoomable-sunburst"

ui.h1("Observable Notebook in Shiny")
ui.div(a(NOTEBOOK, href=NOTEBOOK, target="_blank"))
ui.hr()

# Render entire notebook
@ObservableRenderer
def render_notebook():
    return Observable(NOTEBOOK)


# Render single cells only
@ObservableRenderer
def render_cells():
    return Observable(NOTEBOOK, cells=["chart"])
```

Enjoy your Observable Notebook in Shiny!

![](docs/images/chart-cell.png)

See [this example](docs/examples/getting_started/redefine_data.py) on how to update the data of your notebook.

## Docs

https://eodagmbh.github.io/py-shiny-observable/

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "shinyobservable",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "",
    "author": "Stefan Kuethe",
    "author_email": "stefan.kuethe@eoda.de",
    "download_url": "https://files.pythonhosted.org/packages/32/02/93537326089cf26c3e7e800095b8564b0241ca5f112f043160f9197b7f72/shinyobservable-0.2.0.tar.gz",
    "platform": null,
    "description": "# shinyobservable\n\nEmbed [Observable Notebooks](https://observablehq.com/) in [Shiny for Python](https://shiny.posit.co/py/).\n\nShinyobservable makes it a breeze to integrate libraries such as [D3](https://d3js.org/).\n\nCreate any kind of JavaScript visualizations and let Shiny handle your data and interactivity. \n\n## Features\n\n* Embed entire notebooks\n* Embed selected cells only\n* Update data cells to update visualizations\n\n## Installation\n\n```bash\npip install shinyobservable\n\n# Dev\npip install git+https://github.com/eodaGmbH/py-shiny-shinyobservable\n```\n\n## Quickstart\n\n```python\nfrom htmltools import a\nfrom shiny.express import ui\nfrom shinyobservable import Observable, ObservableRenderer\n\nNOTEBOOK = \"https://observablehq.com/@d3/zoomable-sunburst\"\n\nui.h1(\"Observable Notebook in Shiny\")\nui.div(a(NOTEBOOK, href=NOTEBOOK, target=\"_blank\"))\nui.hr()\n\n# Render entire notebook\n@ObservableRenderer\ndef render_notebook():\n    return Observable(NOTEBOOK)\n\n\n# Render single cells only\n@ObservableRenderer\ndef render_cells():\n    return Observable(NOTEBOOK, cells=[\"chart\"])\n```\n\nEnjoy your Observable Notebook in Shiny!\n\n![](docs/images/chart-cell.png)\n\nSee [this example](docs/examples/getting_started/redefine_data.py) on how to update the data of your notebook.\n\n## Docs\n\nhttps://eodagmbh.github.io/py-shiny-observable/\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Observable Notebooks and Cells in Shiny",
    "version": "0.2.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e8062381aa5d90d5042a47daf02ab747b9ae63cedd6f21ef3d7c612b48c8b2e",
                "md5": "110ee1c6c97056bd3f63b11dca8ec1ab",
                "sha256": "c10a1118821b98c6e9311308343c0c4120cb3fac13e85aab30167a8520f756f5"
            },
            "downloads": -1,
            "filename": "shinyobservable-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "110ee1c6c97056bd3f63b11dca8ec1ab",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 27629,
            "upload_time": "2024-02-12T08:05:15",
            "upload_time_iso_8601": "2024-02-12T08:05:15.356099Z",
            "url": "https://files.pythonhosted.org/packages/3e/80/62381aa5d90d5042a47daf02ab747b9ae63cedd6f21ef3d7c612b48c8b2e/shinyobservable-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "320293537326089cf26c3e7e800095b8564b0241ca5f112f043160f9197b7f72",
                "md5": "018c7544790a9d6d38721c735dfe5e33",
                "sha256": "07771fb7821f050a6c3d611ebb3aeb071cd23a6ebf5b592e212620d0895a040e"
            },
            "downloads": -1,
            "filename": "shinyobservable-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "018c7544790a9d6d38721c735dfe5e33",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 26953,
            "upload_time": "2024-02-12T08:05:17",
            "upload_time_iso_8601": "2024-02-12T08:05:17.685543Z",
            "url": "https://files.pythonhosted.org/packages/32/02/93537326089cf26c3e7e800095b8564b0241ca5f112f043160f9197b7f72/shinyobservable-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-12 08:05:17",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "shinyobservable"
}
        
Elapsed time: 0.79993s