{"id":13736881,"url":"https://github.com/posit-dev/py-shinyswatch","last_synced_at":"2025-04-12T06:21:10.178Z","repository":{"id":152321018,"uuid":"619989252","full_name":"posit-dev/py-shinyswatch","owner":"posit-dev","description":"Bootswatch themes for py-shiny","archived":false,"fork":false,"pushed_at":"2025-03-03T19:16:22.000Z","size":125198,"stargazers_count":35,"open_issues_count":3,"forks_count":3,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-26T01:41:28.453Z","etag":null,"topics":["bootstrap5","bootswatch","bootswatch-themes","python","python3","shiny"],"latest_commit_sha":null,"homepage":"https://posit-dev.github.io/py-shinyswatch/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/posit-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-27T20:11:42.000Z","updated_at":"2025-03-25T12:03:29.000Z","dependencies_parsed_at":"2023-08-30T02:43:18.085Z","dependency_job_id":"302ff857-0cd7-4a96-badc-88788c53b264","html_url":"https://github.com/posit-dev/py-shinyswatch","commit_stats":{"total_commits":73,"total_committers":4,"mean_commits":18.25,"dds":"0.23287671232876717","last_synced_commit":"b5ffab96d3f8dd47d21da21e578449253a488cf7"},"previous_names":["posit-dev/py-shinyswatch","rstudio/py-shinyswatch"],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shinyswatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shinyswatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shinyswatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shinyswatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/posit-dev","download_url":"https://codeload.github.com/posit-dev/py-shinyswatch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525762,"owners_count":21118749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap5","bootswatch","bootswatch-themes","python","python3","shiny"],"created_at":"2024-08-03T03:01:30.429Z","updated_at":"2025-04-12T06:21:10.170Z","avatar_url":"https://github.com/posit-dev.png","language":"Python","readme":"# shinyswatch\n\n\n\u003c!-- DO NOT EDIT BY HAND: Edit docs/index.qmd and run `make docs-readme` to update --\u003e\n\n[Bootswatch](https://bootswatch.com/) + Bootstrap 5 themes for\n[Shiny](https://shiny.rstudio.com/py/).\n\nHere are just three of the **25 themes** in shinyswatch:\n\n| Minty | Sketchy | Superhero |\n|----|----|----|\n| ![Minty](https://raw.githubusercontent.com/rstudio/py-shinyswatch/v0.2.2/readme_minty.png) | ![Sketchy](https://raw.githubusercontent.com/rstudio/py-shinyswatch/v0.2.2/readme_sketchy.png) | ![Superhero](https://raw.githubusercontent.com/rstudio/py-shinyswatch/v0.2.2/readme_superhero.png) |\n\n## Installation\n\n``` sh\npip install shinyswatch\n```\n\nTo install the latest development version from this repository:\n\n``` sh\npip install https://github.com/rstudio/py-shinyswatch/tarball/main\n```\n\n## Usage\n\nTo use a theme, add a `shinyswatch.theme` theme object to your App’s UI\ndefinition.\n\n``` python\n# Minty theme\nshinyswatch.theme.minty\n\n# Sketchy theme\nshinyswatch.theme.sketchy\n\n# Superhero theme\nshinyswatch.theme.superhero\n```\n\nExample Shiny application:\n\n\u003ctable\u003e\n\n\u003cthead\u003e\n\n\u003ctr\u003e\n\n\u003cth\u003e\n\nFile: \u003ccode\u003eapp.py\u003c/code\u003e\n\u003c/th\u003e\n\n\u003cth\u003e\n\nScreenshot\n\u003c/th\u003e\n\n\u003c/tr\u003e\n\n\u003c/thead\u003e\n\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\n\n``` python\nfrom shiny import App, Inputs, Outputs, Session, render, ui\n\nimport shinyswatch\n\napp_ui = ui.page_fluid(\n    ui.input_slider(\"num\", \"Number:\", min=10, max=100, value=30),\n    ui.output_text_verbatim(\"slider_val\"),\n    theme=shinyswatch.theme.darkly,  # \u003c- Use a shinyswatch theme here\n)\n\n\ndef server(input: Inputs, output: Outputs, session: Session):\n    @output\n    @render.text\n    def slider_val():\n        return f\"{input.num()}\"\n\n\napp = App(app_ui, server)\n```\n\n\u003c/td\u003e\n\n\u003ctd\u003e\n\n![darkly\ntheme](https://raw.githubusercontent.com/rstudio/py-shinyswatch/v0.2.2/readme_darkly.png)\n\n\u003c/td\u003e\n\n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\n\u003c/table\u003e\n\n\u003e Note: When writing [shiny apps that use shinyswatch on\n\u003e shinylive.io](https://shinylive.io/py/editor/#code=NobwRAdghgtgpmAXAAjFADugdOgnmAGlQGMB7CAFzkqVQDMAnUmZAZwAsBLCXZTmdKQYVkAQUxEAkhHQBXCqyIB5eXIVEAynFatO5Ig2oATOAyKzOAHQjX+g4Wy49WAdygVi7a9YzoA+hbIALzIFjhQAOZwfnQANhZGABTWyKmhnFjcan6ssZwmDMmQsjCWhMhlAHIlAEamiGVEMNxBAIwADE1QAB5t7Z3IAG5Q8XBBAMztAJQEKWlhpKryflTdFH6DpjXu-EW5+aYbI2Uzc6kU7HDwQRzcuK7unlgXV3BYRlAMANaxuETIAGJkAAeAC0yAAqqw4MgoI47g8POxkC94MhLoZrFNvDYICY6GxTJtCll5ChpGpFMhFhQ1CgVLT5FToTo9BAUFpWeQpg0IGlkAABGlqM6Cwx40zPOBrUX4th5ApHWKJHmi-mGCiyBh8uhlECkihYCAlFUAXzKOJ8mGCYkwiV8AU4RGhDGJ2Ig5TAFFw6AQKC90ooYFNRHA0HgtDAhgAjhZDPBKKxnmtPWRKNQg-7bjxrNn7m4kdZPd7fZHVkHTQBdIA),\n\u003e remember to add `shinyswatch` to your `requirements.txt` file!\n\n## Theme picker\n\nTo add a theme picker to your app, add the theme picker UI and server\nfunctions to your app’s UI and server definitions.\n\n[Demo **theme picker** app on\nshinylive.io](https://shinylive.io/py/editor/#code=NobwRAdghgtgpmAXAAjFADugdOgnmAGlQGMB7CAFzkqVQDMAnUmZAZwAsBLCXZTmdKQYVkAQUxEAkhHQBXCqyIB5eXIVEAynFatO5Ig2oATOAyKzOAHQjX+g4Wy49WAdygVi7a9YzoA+hbIALzIFjhQAOZwfnQANhZGABTWyKmO3Liu7p5YFOxw8H7onMQA1qYBnIkAlETIAMTIADwAtGJGRsh5cF358MjFZabIAKqSXaTIuKSyDMi+KWlh3Gp+rLGcJgzJkLIwloTIBwByewBGpogHRDDcQQCMAAw3UAAeD4-PyABuUPFwQQAzI9aotUmEZhRVlRXhQ-N9TGd3PwdutNhVfrEDqCIGlegUARwMlkPOxcn04FgAF5wdDsXBmVKNVrIADC7FIpFYPSguO4nAonD++P6iVI6EF5D+1WsMps8pMdDYpgR2xW8hQ0jUimQkLUKBUUPkOu5Oj0EBQWjN5GqV1xaUaAFkoOU2LMetNZsqGKrkHRZBBiJLccQ-rFWPiRT1BuU5tyfcN-YHg2D0s43KTyQSiiVY2sVaYat57akAAJ6+Sp0uGCBbXJwWGpxVsDZbeF-Gp2vF4wwUWa4ugHEDqihYCB7GoAXwOxZ8mGCYkwiV8lSI8dVcsOYAouHQCBQ24bFDAk6I4Gg8FoYEMAEcLIZ4JRWLlYVuyJRqMeD0SeNYf5kM08awtx3PcrxhY9JwAXSAA).\n\n## Plot Theming\n\nshinyswatch themes include a `.colors` attribute that can be used to\ntheme plots or other outputs and UI elements. In the example below, try\nchanging the theme and re-running the app to see how the plot changes.\n\n[Demo **plot theming** app on\nshinylive.io](https://shinylive.io/py/editor/#code=NobwRAdghgtgpmAXAAjFADugdOgnmAGlQGMB7CAFzkqVQEsZ1SAnC5GKC9AG1Iu7oAjHLh59kUAM7IeFADoQGTVsggBXRrgnSI6BQDNmpGMkkALOhC1KWbAIKYizagBM4zJ3ACORNXQUKAMTIACrMWsRmUBAA5pYxyBRmcInJ8MiGxuyWFFoUpMhqilQuBkYm5pa4kgDunJFYSXDpNiowOVpSphZWAPpN8AHQmL1+yAC8hXQ4UDFwvfrcfi4AFArIG1NYluhqFL2SAm7Ma5ByhMjnAHLnRO0Q4wAMd1AAHuMAjI-PyABuUEs4OMAEyPACUBHWmz8WGIUGYqxhpD2u32Ygop3R5zBEKhGwGQMqfQJkIgYKGCjc+lM7l+7hWOz2YMQeOQAAFnBBjjheBiARRxuc7MgLJJ8jFmLBsayqTJeStmazNqpsJKucYsJI4HBVh8AJwANgAHI8TR9yRBlcrXhNkF9HsgANR2gCsyAAVCqsGqXBqfRAVgAWADMAHYLUrNvo6DEiG9bbJNWpBOjJArIxs3lhRRjXkRGRQsAGIcg3BBJHRcuMwmo4EQyLxmOMibh+mk4LDSI3JDhmAx4bgI5arRtgiF26kUujEgUOBRIpPkMQ1MxOWwCRmMjGZvOzJq4Pt9FBiHAGyxThByHBpcOR1mtYfj6eu+fzpeINewEORxsz8wFgkkwtm2zQdn+PaCKQLitn+m5ZhQdDEAA1r06DwrAaZvHQkiCmAkFJLcS4vswOF-gBFo-hIryauglhwJIwDnPh+QwOcAC6+77H+KxkfoMQUT+960R+DHnPkehgBxD69NxvH8XB1GSMJ9GMWA3BwPo8iSZxMnETxxHkQpNF0aJYB9jEZhaVJB66Y2+mNoZECbs4FArpa0YxBSwzoLaDjoCsGDoKMdBEFqzB0swFoXGAuToAgKAxXArwUGAAC+RDgNA8C0GZ3h+M48CUD2FDJdFZCUNQKUJeomgKHO6ICIICgts1PTVHUu4KNFsXxagVClalbFAA).\n\n## Development\n\nIf you want to do development on shinyswatch for Python:\n\n``` sh\npip install -e \".[dev,test,docs]\"\n```\n\n### Examples\n\nThere are multiple examples in the shinyswatch repo.\n\n\u003c!-- You can view them online at: [shinyswatch.theme.darkly](http://rstudio.github.io/py-shinyswatch/reference/theme.darkly.html) and [get_theme](http://rstudio.github.io/py-shinyswatch/reference/get_theme.html). --\u003e\n\nTo run the demos locally, you can run the examples by calling:\n\n``` sh\npython3 -m shiny run examples/basic-darkly/app.py\npython3 -m shiny run examples/big-sketchy/app.py\npython3 -m shiny run examples/components/app.py\npython3 -m shiny run examples/theme-picker/app.py\n```\n","funding_links":[],"categories":["Shiny for Python"],"sub_categories":["Python - Theming"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposit-dev%2Fpy-shinyswatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fposit-dev%2Fpy-shinyswatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposit-dev%2Fpy-shinyswatch/lists"}