Skip to content

Readme Overhaul #705

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 30 commits into from
Apr 16, 2022
Merged
Changes from 15 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1285cf2
Update readme summary
Archmonger Mar 9, 2022
aa272fb
minor verbiage changes
Archmonger Mar 10, 2022
4f82c88
Move supported frameworks to a new line
Archmonger Mar 10, 2022
fa13def
plotly-dash
Archmonger Mar 10, 2022
400e93a
Reorder plotly to prevent text cutoff
Archmonger Mar 10, 2022
54b3eb0
wordsmithing
Archmonger Mar 10, 2022
7422a28
wordsmithing 2
Archmonger Mar 10, 2022
3b59e14
remove "composing" verbiage
Archmonger Mar 10, 2022
b65fd99
minor clarification
Archmonger Mar 10, 2022
993568c
Update README.md
Archmonger Mar 16, 2022
ca0b31d
wordsmithing
Archmonger Mar 21, 2022
f1c6690
Merge branch 'readme-summary-revise' of https://github.com/Archmonger…
Archmonger Mar 21, 2022
03efc5d
reduced verbosity
Archmonger Mar 21, 2022
33fdda2
within -> in
Archmonger Mar 21, 2022
a83a0be
fix hyperlink location
Archmonger Mar 22, 2022
4f294e9
Remove accidental auto-format
rmorshea Mar 28, 2022
df997de
ecosystem independance shortening
Archmonger Apr 6, 2022
f257b04
Merge branch 'readme-summary-revise' of https://github.com/Archmonger…
Archmonger Apr 6, 2022
128520e
backed -> based
Archmonger Apr 7, 2022
eb626ed
it's always wordsmithing
Archmonger Apr 8, 2022
b8546d7
shortening some stuff
Archmonger Apr 8, 2022
0544ac5
split sections
Archmonger Apr 8, 2022
0737db0
python framework
Archmonger Apr 8, 2022
f169a74
wordsmitherererest
Archmonger Apr 9, 2022
f2b13fb
more human sounding ecosystem indepedence paragraph
Archmonger Apr 9, 2022
3de8f2d
smithy
Archmonger Apr 9, 2022
b9dfb5b
requested changes
Archmonger Apr 12, 2022
e4654c1
more words
Archmonger Apr 12, 2022
d0466c4
Merge branch 'main' into readme-summary-revise
rmorshea Apr 16, 2022
193fc7c
Merge branch 'main' into readme-summary-revise
rmorshea Apr 16, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 14 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
# IDOM · [![Tests](https://github.com/idom-team/idom/workflows/Test/badge.svg?event=push)](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 is a Python web framework for building **interactive websites without needing a
single line of Javascript**. These sites are built from small elements of functionality
like buttons text and images. IDOM allows you to combine these elements into reusable
"components" that can be composed together to create complex views.

Ecosystem independence is also a core feature of IDOM. It can be added to existing
applications built on a variety of sync and async web servers, as well as integrated
with other frameworks like Django, Jupyter, and Plotly Dash. Not only does this mean
you're free to choose what technology stack to run on, but on top of that, you can run
the exact same components wherever you need them. For example, you can take a component
originally developed in a Jupyter Notebook and embed it in your production application
without changing anything about the component itself.
IDOM is a Python framework for building **interactive websites without needing a single line of JavaScript**. Web elements you provide (ex. `button`, `div`, `image`) are combined into [reusable "components"](https://idom-docs.herokuapp.com/docs/guides/creating-interfaces/your-first-components/index.html#parametrizing-components). Using IDOM's [ReactJS](https://reactjs.org/) backed design, 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 JavaScript components](https://idom-docs.herokuapp.com/docs/guides/escape-hatches/javascript-components.html#dynamically-loaded-components) directly from NPM. Components can also be [developed in JavaScript](https://idom-docs.herokuapp.com/docs/guides/escape-hatches/javascript-components.html#custom-javascript-components) for additional flexibility.

IDOM's ecosystem independent design allows components to be reused across a variety of sync and async web frameworks.

Natively supported web frameworks include: `FastAPI`, `Flask`, `Sanic`, `Tornado`, [`Django`](https://github.com/idom-team/django-idom), [`Plotly-Dash`](https://github.com/idom-team/idom-dash), and [`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 the tiny "hello
world" application below:
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
Expand All @@ -30,10 +24,10 @@ run(App)

# Resources

Follow the links below to find out more about this project
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.
- [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.