shiny

Shiny for Python

https://github.com/posit-dev/py-shiny

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

pipeline-testing datacleaner data-profilers static-code-analysis static-analysis pep8 code-quality closember pandoc cryptocurrencies
Last synced: 6 months ago · JSON representation ·

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
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.md

Shiny for Python

PyPI Latest Release Build status Conda Latest Release Supported Python versions License

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:

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 main branch: https://posit-dev.github.io/py-shiny/shinylive/py/examples/
  • API documentation for the main branch:
    • 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

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

All Time
  • Total Commits: 1,795
  • Total Committers: 35
  • Avg Commits per committer: 51.286
  • Development Distribution Score (DDS): 0.552
Past Year
  • Commits: 331
  • Committers: 20
  • Avg Commits per committer: 16.55
  • Development Distribution Score (DDS): 0.731
Top Committers
Name Email 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
needs-triage (99) bug (38) enhancement (23) express (15) data frame (13) documentation (10) epic (4) datatable (4) testing (4) chore (3) good first issue (2) epic-example-apps (1) dataframe (1) Needs: E2E test (1) shinylive (1) question (1)
Pull Request Labels
data frame (20) documentation (7) testing (6) dataframe (5) bug (4) needs-triage (3) chore (1)

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.

  • Versions: 35
  • Dependent Packages: 29
  • Dependent Repositories: 167
  • Downloads: 235,981 Last month
  • Docker Downloads: 1,217
Rankings
Dependent packages count: 0.8%
Dependent repos count: 1.2%
Downloads: 2.2%
Docker downloads count: 2.3%
Stargazers count: 2.3%
Average: 2.5%
Forks count: 6.0%
Maintainers (2)
Last synced: 6 months ago
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)

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Stargazers count: 15.5%
Dependent repos count: 24.4%
Forks count: 28.5%
Average: 30.0%
Dependent packages count: 51.6%
Last synced: 6 months ago

Dependencies

examples/airmass/requirements.in pypi
  • astropy *
  • ipyleaflet *
  • matplotlib *
  • numpy *
  • pandas *
  • pytz *
  • shiny *
  • shinywidgets *
  • suntime *
  • timezonefinder *
examples/airmass/requirements.txt pypi
  • 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
.github/workflows/pytest.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
examples/brownian/shinymediapipe/package-lock.json npm
  • @mediapipe/camera_utils 0.3.1640029074
  • @mediapipe/control_utils 0.6.1629159505
  • @mediapipe/drawing_utils 0.3.1620248257
  • @mediapipe/hands 0.4.1646424915
examples/brownian/shinymediapipe/package.json npm
  • @mediapipe/camera_utils ^0.3.1640029074
  • @mediapipe/control_utils ^0.6.1629159505
  • @mediapipe/drawing_utils ^0.3.1620248257
  • @mediapipe/hands ^0.4.1646424915
examples/brownian/requirements.txt pypi
  • numpy *
  • plotly *
  • shiny *
  • shinywidgets *
.github/py-shiny/setup/action.yaml actions
  • actions/setup-python v4 composite
.github/workflows/build-docs.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • quarto-dev/quarto-actions/setup v2 composite
.github/workflows/triage-issues.yaml actions
.github/workflows/verify-js-built.yaml actions
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
js/package-lock.json npm
  • 309 dependencies
js/package.json npm
  • @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
examples/annotation-export/requirements.txt pypi
  • pandas *
  • seaborn *
examples/duckdb/requirements.txt pypi
  • duckdb *
  • pandas *
  • shiny *
  • shinyswatch ==0.2.3
examples/model-score/requirements.in pypi
  • pandas *
  • plotly *
  • shiny *
  • shinywidgets *
examples/model-score/requirements.txt pypi
  • 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
examples/penguins/requirements.txt pypi
  • pandas *
  • seaborn *
  • shiny *
  • shinyswatch *
setup.py pypi
shiny/api-examples/todo_list/requirements.txt pypi
  • shinyswatch *