idom


Nameidom JSON
Version 0.44.0 PyPI version JSON
download
home_pagehttps://github.com/rmorshea/idom
SummaryIt's React, but in Python
upload_time2023-01-27 23:59:31
maintainer
docs_urlNone
authorRyan Morshead
requires_python>=3.7
licenseMIT
keywords interactive widgets dom react
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # IDOM · [![Tests](https://github.com/idom-team/idom/workflows/test/badge.svg)](https://github.com/idom-team/idom/actions?query=workflow%3ATest) [![PyPI Version](https://img.shields.io/pypi/v/idom.svg)](https://pypi.python.org/pypi/idom) [![License](https://img.shields.io/badge/License-MIT-purple.svg)](https://github.com/idom-team/idom/blob/main/LICENSE)

IDOM connects your Python web framework of choice to a ReactJS frontend, allowing you to create **interactive websites without needing JavaScript!**

Following ReactJS styling, web elements are combined into [reusable "components"](https://idom-docs.herokuapp.com/docs/guides/creating-interfaces/your-first-components/index.html#parametrizing-components). These components can utilize [hooks](https://idom-docs.herokuapp.com/docs/reference/hooks-api.html) and [events](https://idom-docs.herokuapp.com/docs/guides/adding-interactivity/responding-to-events/index.html#async-event-handlers) to create infinitely complex web pages.

When needed, IDOM can [use components directly from NPM](https://idom-docs.herokuapp.com/docs/guides/escape-hatches/javascript-components.html#dynamically-loaded-components). For additional flexibility, components can also be [fully developed in JavaScript](https://idom-docs.herokuapp.com/docs/guides/escape-hatches/javascript-components.html#custom-javascript-components).

Any Python web framework with Websockets can support IDOM. See below for what frameworks are supported out of the box.

| Supported Frameworks | Supported Frameworks (External) |
| --- | --- |
|  [`Flask`, `FastAPI`, `Sanic`, `Tornado`](https://idom-docs.herokuapp.com/docs/guides/getting-started/installing-idom.html#officially-supported-servers) | [`Django`](https://github.com/idom-team/django-idom), [`Plotly-Dash`](https://github.com/idom-team/idom-dash), [`Jupyter`](https://github.com/idom-team/idom-jupyter) |


# At a Glance

To get a rough idea of how to write apps in IDOM, take a look at this tiny _Hello World_ application.

```python
from idom import component, html, run

@component
def HelloWorld():
    return html.h1("Hello, World!")

run(HelloWorld)
```

# Resources

Follow the links below to find out more about this project.

- [Try it Now](https://mybinder.org/v2/gh/idom-team/idom-jupyter/main?urlpath=lab/tree/notebooks/introduction.ipynb) - check out IDOM in a Jupyter Notebook.
- [Documentation](https://idom-docs.herokuapp.com/) - learn how to install, run, and use IDOM.
- [Community Forum](https://github.com/idom-team/idom/discussions) - ask questions, share ideas, and show off projects.
- [Contributor Guide](https://idom-docs.herokuapp.com/docs/developing-idom/contributor-guide.html) - see how you can help develop this project.
- [Code of Conduct](https://github.com/idom-team/idom/blob/main/CODE_OF_CONDUCT.md) - standards for interacting with this community.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/rmorshea/idom",
    "name": "idom",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "interactive,widgets,DOM,React",
    "author": "Ryan Morshead",
    "author_email": "ryan.morshead@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/28/4d/9e279809863d92cd91d84c041b8c4a9339e2f8cf3be3bb21d1e4c12e1b6d/idom-0.44.0.tar.gz",
    "platform": "Linux",
    "description": "# IDOM · [![Tests](https://github.com/idom-team/idom/workflows/test/badge.svg)](https://github.com/idom-team/idom/actions?query=workflow%3ATest) [![PyPI Version](https://img.shields.io/pypi/v/idom.svg)](https://pypi.python.org/pypi/idom) [![License](https://img.shields.io/badge/License-MIT-purple.svg)](https://github.com/idom-team/idom/blob/main/LICENSE)\n\nIDOM connects your Python web framework of choice to a ReactJS frontend, allowing you to create **interactive websites without needing JavaScript!**\n\nFollowing ReactJS styling, web elements are combined into [reusable \"components\"](https://idom-docs.herokuapp.com/docs/guides/creating-interfaces/your-first-components/index.html#parametrizing-components). These components can utilize [hooks](https://idom-docs.herokuapp.com/docs/reference/hooks-api.html) and [events](https://idom-docs.herokuapp.com/docs/guides/adding-interactivity/responding-to-events/index.html#async-event-handlers) to create infinitely complex web pages.\n\nWhen needed, IDOM can [use components directly from NPM](https://idom-docs.herokuapp.com/docs/guides/escape-hatches/javascript-components.html#dynamically-loaded-components). For additional flexibility, components can also be [fully developed in JavaScript](https://idom-docs.herokuapp.com/docs/guides/escape-hatches/javascript-components.html#custom-javascript-components).\n\nAny Python web framework with Websockets can support IDOM. See below for what frameworks are supported out of the box.\n\n| Supported Frameworks | Supported Frameworks (External) |\n| --- | --- |\n|  [`Flask`, `FastAPI`, `Sanic`, `Tornado`](https://idom-docs.herokuapp.com/docs/guides/getting-started/installing-idom.html#officially-supported-servers) | [`Django`](https://github.com/idom-team/django-idom), [`Plotly-Dash`](https://github.com/idom-team/idom-dash), [`Jupyter`](https://github.com/idom-team/idom-jupyter) |\n\n\n# At a Glance\n\nTo get a rough idea of how to write apps in IDOM, take a look at this tiny _Hello World_ application.\n\n```python\nfrom idom import component, html, run\n\n@component\ndef HelloWorld():\n    return html.h1(\"Hello, World!\")\n\nrun(HelloWorld)\n```\n\n# Resources\n\nFollow the links below to find out more about this project.\n\n- [Try it Now](https://mybinder.org/v2/gh/idom-team/idom-jupyter/main?urlpath=lab/tree/notebooks/introduction.ipynb) - check out IDOM in a Jupyter Notebook.\n- [Documentation](https://idom-docs.herokuapp.com/) - learn how to install, run, and use IDOM.\n- [Community Forum](https://github.com/idom-team/idom/discussions) - ask questions, share ideas, and show off projects.\n- [Contributor Guide](https://idom-docs.herokuapp.com/docs/developing-idom/contributor-guide.html) - see how you can help develop this project.\n- [Code of Conduct](https://github.com/idom-team/idom/blob/main/CODE_OF_CONDUCT.md) - standards for interacting with this community.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "It's React, but in Python",
    "version": "0.44.0",
    "split_keywords": [
        "interactive",
        "widgets",
        "dom",
        "react"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "201fe21e9a67f21bb2ec2d251f4dcca21c4e2fbec3e0f2164768d46c04256636",
                "md5": "e4ac14db1ffe1778962af0ce3a29d4ec",
                "sha256": "ed829e0aa2e37d29ea969a14f6e64cd6ffc6f8c5692721b504bfe3d5bac42e06"
            },
            "downloads": -1,
            "filename": "idom-0.44.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e4ac14db1ffe1778962af0ce3a29d4ec",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 85396,
            "upload_time": "2023-01-27T23:59:29",
            "upload_time_iso_8601": "2023-01-27T23:59:29.752485Z",
            "url": "https://files.pythonhosted.org/packages/20/1f/e21e9a67f21bb2ec2d251f4dcca21c4e2fbec3e0f2164768d46c04256636/idom-0.44.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "284d9e279809863d92cd91d84c041b8c4a9339e2f8cf3be3bb21d1e4c12e1b6d",
                "md5": "09355103178e15bb5b3e6dc2b5d2829b",
                "sha256": "17df454579b0a24487eb2cddbc0caa557ad884ee9af5e551206649336d42cf63"
            },
            "downloads": -1,
            "filename": "idom-0.44.0.tar.gz",
            "has_sig": false,
            "md5_digest": "09355103178e15bb5b3e6dc2b5d2829b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 73080,
            "upload_time": "2023-01-27T23:59:31",
            "upload_time_iso_8601": "2023-01-27T23:59:31.281614Z",
            "url": "https://files.pythonhosted.org/packages/28/4d/9e279809863d92cd91d84c041b8c4a9339e2f8cf3be3bb21d1e4c12e1b6d/idom-0.44.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-27 23:59:31",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "rmorshea",
    "github_project": "idom",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "idom"
}
        
Elapsed time: 0.04109s