Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.8%) to scientific vocabulary
Keywords from Contributors
Repository
Shiny for Python
Basic Info
- Host: GitHub
- Owner: posit-dev
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://shiny.posit.co/py/
- Size: 27.8 MB
Statistics
- Stars: 1,581
- Watchers: 29
- Forks: 108
- Open Issues: 432
- Releases: 33
Metadata Files
README.md
Shiny for Python
Shiny for Python is the best way to build fast, beautiful web applications in Python. You can build quickly with Shiny and create simple interactive visualizations and prototype applications in an afternoon. But unlike other frameworks targeted at data scientists, Shiny does not limit your app's growth. Shiny remains extensible enough to power large, mission-critical applications.
To learn more about Shiny see the Shiny for Python website. If you're new to the framework we recommend these resources:
How Shiny is different from Dash and Streamlit.
How reactive programming can help you build better applications.
How to use modules to efficiently develop large applications.
Hosting applications for free on Connect Cloud, shinyapps.io, Hugging Face, or Shinylive.
Join the conversation
If you have questions about Shiny for Python, or want to help us decide what to work on next, join us on Discord.
Getting started
To get started with shiny follow the installation instructions or just install it from pip.
sh
pip install shiny
To install the latest development version:
```sh
First install htmltools, then shiny
pip install git+https://github.com/posit-dev/py-htmltools.git#egg=htmltools pip install git+https://github.com/posit-dev/py-shiny.git#egg=shiny ```
You can create and run your first application with shiny create, the CLI will ask you which template you would like to use. You can either run the app with the Shiny extension, or call shiny run app.py --reload --launch-browser.
Development
- Shinylive built from the
mainbranch: https://posit-dev.github.io/py-shiny/shinylive/py/examples/ - API documentation for the
mainbranch:- https://posit-dev.github.io/py-shiny/docs/api/express/
- https://posit-dev.github.io/py-shiny/docs/api/core/
If you are working from a fork you may not have the git tags from the original repo. Git tags are required for the install to succeed. To add tags to your own fork:
sh
git remote add upstream https://github.com/posit-dev/py-shiny.git
git fetch --tags upstream
Then install:
sh
pip install -e ".[dev,test,doc]"
Additionally, you can install pre-commit hooks which will automatically reformat and lint the code when you make a commit:
```sh pre-commit install
To disable:
pre-commit uninstall
```
Tests should now pass:
```sh make check
To apply formatting fixes instead of erroring:
make check-fix
```
Or get a full list of helpers with just:
sh
make
Typically, when developing new features for Shiny, you'll want to try them out in an application.
In a separate application directory, use can use -e to reference your local checkout of py-shiny:
```sh
Rather than
pip install shiny
run:
pip install -e ../py-shiny --config-settings editable_mode=compat ```
See the docs README for instructions on building the documentation locally.
Owner
- Name: posit-dev
- Login: posit-dev
- Kind: organization
- Repositories: 24
- Profile: https://github.com/posit-dev
Citation (CITATION.cff)
cff-version: 1.2.0 title: "Shiny for Python" message: "If you use this software, please cite it as below." authors: - name: "The Shiny development team" license: MIT license-url: "https://github.com/posit-dev/py-shiny/blob/main/LICENSE" repository-code: "https://github.com/posit-dev/py-shiny" type: software url: "https://shiny.posit.co/py/"
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Winston Chang | w****n@s****g | 805 |
| Carson | c****1@g****m | 282 |
| Joe Cheng | j****e@r****m | 236 |
| Barret Schloerke | b****t@p****o | 210 |
| Garrick Aden-Buie | g****k@p****o | 94 |
| Karan | k****u | 80 |
| Gordon Shotwell | g****l@p****o | 31 |
| Florian Maas | f****s@g****m | 14 |
| Neal Richardson | n****n@g****m | 7 |
| Christian Clauss | c****s@m****m | 3 |
| Joe Schulte | j****8@g****m | 3 |
| Chuck McCallum | m****c | 2 |
| Daniel Chen | c****y@g****m | 2 |
| Francesco Bruzzesi | 4****i | 2 |
| Michael Chow | m****b@f****m | 2 |
| Nick Strayer | n****r@p****o | 2 |
| gregswinehart | g****g@r****m | 2 |
| diana | d****e@g****m | 1 |
| Greg Swinehart | 1 | |
| William Giang | 3****g | 1 |
| Sara Altman | s****n@g****m | 1 |
| Robert Schütz | g****b@d****e | 1 |
| Randy Zwitch | r****h@g****m | 1 |
| Pierre-Bartet | p****g@g****m | 1 |
| Niclas | n****r@g****m | 1 |
| Marco Edward Gorelli | m****i@p****m | 1 |
| Maarten Breddels | m****s@g****m | 1 |
| Laura Bąkała | 3****a | 1 |
| Lachlan Musicman | d****d@g****m | 1 |
| Kenneth Schackart | s****1@g****m | 1 |
| and 5 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 493
- Total pull requests: 809
- Average time to close issues: 3 months
- Average time to close pull requests: 9 days
- Total issue authors: 158
- Total pull request authors: 42
- Average comments per issue: 0.98
- Average comments per pull request: 0.53
- Merged pull requests: 628
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 159
- Pull requests: 344
- Average time to close issues: 21 days
- Average time to close pull requests: 5 days
- Issue authors: 84
- Pull request authors: 28
- Average comments per issue: 0.74
- Average comments per pull request: 0.57
- Merged pull requests: 263
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- schloerke (54)
- wch (54)
- cpsievert (54)
- gadenbuie (40)
- jcheng5 (20)
- gshotwell (18)
- karangattu (17)
- corey-dawson (8)
- pstorozenko (7)
- SamEdwardes (5)
- DvGils (5)
- icarusz (4)
- vindevoy (4)
- youngroklee-ml (4)
- HarrisonWismer (4)
Pull Request Authors
- schloerke (190)
- cpsievert (181)
- gadenbuie (117)
- wch (108)
- karangattu (102)
- jcheng5 (31)
- gshotwell (10)
- elnelson575 (9)
- FBruzzesi (4)
- joesho112358 (4)
- mccalluc (4)
- chendaniely (4)
- machow (4)
- JamesHWade (4)
- ErdaradunGaztea (3)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 235,981 last-month
- Total docker downloads: 1,217
-
Total dependent packages: 29
(may contain duplicates) -
Total dependent repositories: 168
(may contain duplicates) - Total versions: 42
- Total maintainers: 2
pypi.org: shiny
A web development framework for Python.
- Homepage: https://github.com/posit-dev/py-shiny
- Documentation: https://shiny.posit.co/py/
- License: MIT
-
Latest release: 1.4.0
published 11 months ago
Rankings
Maintainers (2)
conda-forge.org: shiny
Shiny makes it easy to build interactive web applications with the power of Python’s data and scientific stack. - **Approachable**: Write your application in Python; no web development skills required. - **Flexible**: Built from the ground up to support custom layouts, styles, and the modularity required for full-fledged applications, all from Python. - **Performant**: Uses reactivity to efficiently handle data processing and minimize expensive re-computations. PyPI: [https://pypi.org/project/shiny](https://pypi.org/project/shiny)
- Homepage: https://github.com/posit-dev/py-shiny
- License: BSD-3-Clause AND MIT
-
Latest release: 0.2.9
published over 3 years ago
Rankings
Dependencies
- astropy *
- ipyleaflet *
- matplotlib *
- numpy *
- pandas *
- pytz *
- shiny *
- shinywidgets *
- suntime *
- timezonefinder *
- anyio ==3.6.1
- appdirs ==1.4.4
- appnope ==0.1.3
- argon2-cffi ==21.3.0
- argon2-cffi-bindings ==21.2.0
- asgiref ==3.5.2
- astropy ==5.1
- asttokens ==2.0.5
- attrs ==22.1.0
- backcall ==0.2.0
- beautifulsoup4 ==4.11.1
- bleach ==5.0.1
- cffi ==1.15.1
- click ==8.1.3
- contextvars ==2.4
- cycler ==0.11.0
- debugpy ==1.6.2
- decorator ==5.1.1
- defusedxml ==0.7.1
- entrypoints ==0.4
- executing ==0.9.1
- fastjsonschema ==2.16.1
- fonttools ==4.34.4
- h11 ==0.13.0
- h3 ==3.7.4
- htmltools ==0.1.2
- idna ==3.3
- immutables ==0.18
- ipykernel ==6.15.1
- ipyleaflet ==0.17.0
- ipython ==8.4.0
- ipython-genutils ==0.2.0
- ipywidgets ==7.7.1
- jedi ==0.18.1
- jinja2 ==3.1.2
- jsonschema ==4.9.0
- jupyter-client ==7.3.4
- jupyter-core ==4.11.1
- jupyterlab-pygments ==0.2.2
- jupyterlab-widgets ==1.1.1
- kiwisolver ==1.4.4
- linkify-it-py ==2.0.0
- markdown-it-py ==2.1.0
- markupsafe ==2.1.1
- matplotlib ==3.5.2
- matplotlib-inline ==0.1.3
- mdurl ==0.1.1
- mistune ==0.8.4
- nbclient ==0.6.6
- nbconvert ==6.5.0
- nbformat ==5.4.0
- nest-asyncio ==1.5.5
- notebook ==6.4.12
- numpy ==1.23.1
- packaging ==21.3
- pandas ==1.4.3
- pandocfilters ==1.5.0
- parso ==0.8.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- pillow ==9.2.0
- prometheus-client ==0.14.1
- prompt-toolkit ==3.0.30
- psutil ==5.9.1
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pycparser ==2.21
- pyerfa ==2.0.0.1
- pygments ==2.12.0
- pyparsing ==3.0.9
- pyrsistent ==0.18.1
- python-dateutil ==2.8.2
- python-multipart ==0.0.5
- pytz ==2022.1
- pyyaml ==6.0
- pyzmq ==23.2.0
- send2trash ==1.8.0
- shiny ==0.2.3
- shinywidgets ==0.1.2
- six ==1.16.0
- sniffio ==1.2.0
- soupsieve ==2.3.2.post1
- stack-data ==0.3.0
- starlette ==0.20.4
- suntime ==1.2.5
- terminado ==0.15.0
- timezonefinder ==6.0.2
- tinycss2 ==1.1.1
- tornado ==6.2
- traitlets ==5.3.0
- traittypes ==0.2.1
- typing-extensions ==4.3.0
- uc-micro-py ==1.0.1
- uvicorn ==0.18.2
- wcwidth ==0.2.5
- webencodings ==0.5.1
- websockets ==10.3
- widgetsnbextension ==3.6.1
- xyzservices ==2022.6.0
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- @mediapipe/camera_utils 0.3.1640029074
- @mediapipe/control_utils 0.6.1629159505
- @mediapipe/drawing_utils 0.3.1620248257
- @mediapipe/hands 0.4.1646424915
- @mediapipe/camera_utils ^0.3.1640029074
- @mediapipe/control_utils ^0.6.1629159505
- @mediapipe/drawing_utils ^0.3.1620248257
- @mediapipe/hands ^0.4.1646424915
- numpy *
- plotly *
- shiny *
- shinywidgets *
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- quarto-dev/quarto-actions/setup v2 composite
- actions/checkout v2 composite
- actions/setup-node v2 composite
- 309 dependencies
- @preact/compat ^17.1.2 development
- @tanstack/react-virtual ^3.0.0-beta.54 development
- @types/jquery ^3.5.16 development
- @types/node ^20.2.5 development
- @types/react ^18.0.33 development
- @types/react-dom ^18.0.11 development
- @types/rstudio-shiny git+https://git@github.com/rstudio/shiny.git#v1.7.4 development
- @typescript-eslint/eslint-plugin ^5.59.7 development
- @typescript-eslint/parser ^5.59.7 development
- esbuild ^0.18.11 development
- esbuild-sass-plugin ^2.9.0 development
- eslint-plugin-react ^7.25.3 development
- postcss ^8.4.24 development
- postcss-modules ^6.0.0 development
- preact ^10.15.1 development
- prettier ^2.8.8 development
- prettier-plugin-organize-imports ^3.2.2 development
- react npm:@preact/compat@^17.1.2 development
- react-dom npm:@preact/compat@^17.1.2 development
- tsx ^3.12.7 development
- typescript ^5.0.3 development
- @tanstack/react-table ^8.9.3
- pandas *
- seaborn *
- duckdb *
- pandas *
- shiny *
- shinyswatch ==0.2.3
- pandas *
- plotly *
- shiny *
- shinywidgets *
- anyio ==3.7.1
- appdirs ==1.4.4
- appnope ==0.1.3
- asgiref ==3.7.2
- asttokens ==2.2.1
- backcall ==0.2.0
- click ==8.1.6
- comm ==0.1.3
- contextvars ==2.4
- debugpy ==1.6.7
- decorator ==5.1.1
- exceptiongroup ==1.1.2
- executing ==1.2.0
- h11 ==0.14.0
- htmltools ==0.2.1
- idna ==3.4
- immutables ==0.19
- ipykernel ==6.25.0
- ipython ==8.14.0
- ipywidgets ==8.0.7
- jedi ==0.18.2
- jupyter-client ==8.3.0
- jupyter-core ==5.3.1
- jupyterlab-widgets ==3.0.8
- linkify-it-py ==2.0.2
- markdown-it-py ==3.0.0
- matplotlib-inline ==0.1.6
- mdit-py-plugins ==0.4.0
- mdurl ==0.1.2
- nest-asyncio ==1.5.7
- numpy ==1.25.1
- packaging ==23.1
- pandas ==2.0.3
- parso ==0.8.3
- pexpect ==4.8.0
- pickleshare ==0.7.5
- platformdirs ==3.9.1
- plotly ==5.15.0
- prompt-toolkit ==3.0.39
- psutil ==5.9.5
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pygments ==2.15.1
- python-dateutil ==2.8.2
- python-multipart ==0.0.6
- pytz ==2023.3
- pyzmq ==25.1.0
- shiny ==0.4.0
- shinywidgets ==0.2.1
- six ==1.16.0
- sniffio ==1.3.0
- stack-data ==0.6.2
- starlette ==0.31.0
- tenacity ==8.2.2
- tornado ==6.3.2
- traitlets ==5.9.0
- typing-extensions ==4.7.1
- tzdata ==2023.3
- uc-micro-py ==1.0.2
- uvicorn ==0.23.1
- watchfiles ==0.19.0
- wcwidth ==0.2.6
- websockets ==11.0.3
- widgetsnbextension ==4.0.8
- pandas *
- seaborn *
- shiny *
- shinyswatch *
- shinyswatch *