{"id":18352026,"url":"https://github.com/posit-dev/py-shiny-site","last_synced_at":"2025-04-06T11:32:46.638Z","repository":{"id":201081138,"uuid":"706917447","full_name":"posit-dev/py-shiny-site","owner":"posit-dev","description":"The documentation website for Shiny for Python","archived":false,"fork":false,"pushed_at":"2025-04-04T01:46:50.000Z","size":54432,"stargazers_count":20,"open_issues_count":54,"forks_count":16,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-04T02:19:48.443Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://shiny.posit.co/py/","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":null,"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-10-18T21:30:49.000Z","updated_at":"2025-03-25T15:03:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"b7f240a8-b00c-4689-8208-2188dad070cf","html_url":"https://github.com/posit-dev/py-shiny-site","commit_stats":null,"previous_names":["posit-dev/py-shiny-site"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shiny-site","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shiny-site/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shiny-site/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/posit-dev%2Fpy-shiny-site/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/posit-dev","download_url":"https://codeload.github.com/posit-dev/py-shiny-site/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247478152,"owners_count":20945258,"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":[],"created_at":"2024-11-05T21:34:23.304Z","updated_at":"2025-04-06T11:32:41.621Z","avatar_url":"https://github.com/posit-dev.png","language":"Python","readme":"This repository contains the sources for the Shiny for Python web site.\n\n## Setup and build\n\nInstall Quarto. Because Quarto is under rapid development, it's best to install by cloning the Quarto git repository and running a setup script; after that, just doing `git pull` will make the latest version available, without needing to run an installer each time. [Instructions here](https://github.com/quarto-dev/quarto-cli#development-version).\n\nClone this repository:\n\n```bash\ngit clone https://github.com/rstudio/pyshiny-site.git\ncd pyshiny-site\n```\n\nSet up git submodules:\n\n```bash\nmake submodules\n```\n\nBuild everything (see Notes below for information on individual steps, which can be run separately):\n\n```bash\nmake all\n```\n\nServe the website and watch for changes to the .qmd files:\n\n```bash\nmake serve\n```\n\nRunning `make` by itself will print out the available `make` targets:\n\n```\n$ make\nall                    Build everything\nsubmodules             Update git submodules to commits referenced in this repository\nsubmodules-pull        Pull latest commits in git submodules\nbuild_pkgs             Build and install htmltools and shiny\nshinylive              Build JS components for shinylive\npypi                   Create a local pypi repository with htmltools and shiny\napi_docs               Build shiny API documentation\nsite                   Build website\nserve                  Build website and serve\nclean                  Remove Quarto website build files\ndistclean              Remove all build files (packages, API docs, shinylive, Quarto website)\n```\n\n\n## Notes\n\n### Details of `make all`\n\nThe `make all` command runs the following steps. If you are iterating on the site, it will be more efficient to run these steps individually as needed.\n\nInstall Python packages needed for building the site:\n\n```bash\nmake deps\n```\n\nBuild qmd files for Shiny API docs. These will go in api/.\n\n```bash\nmake quartodoc\n```\n\nBuild the site:\n\n```bash\nmake site\n```\n\nTo update shinylive links in `components/` and build static versions of the components in the gallery, run:\n\n```bash\nmake components\n```\n\n### Virtualenv\n\nWhen running `make`, all of the Python scripts and commands run in a virtualenv. If you want to run commands at the terminal in the same virtualenv, you will need to do the following:\n\nSet up virtualenv (this only needs to be done once, and is done automatically by `make all`):\n\n```bash\nmake venv\n```\n\nAfter the virtualenv is created, activate it with:\n\n```bash\nsource venv/bin/activate\n```\n\nThis will make the virtualenv available when you run commands at the terminal.\n\nDeactivate the virtualenv with:\n\n```bash\ndeactivate\n```\n\n### Pulling changes\n\nTo pull the latest changes:\n\n```bash\ngit pull\n```\n\nUpdate submodules. For example, if the upstream pyshiny-site points to a new commit in shinylive, this will update the local shinylive to that commit.\n\n```bash\nmake submodules\n```\n\nInstall dependencies and build the site:\n\n```bash\nmake all\n```\n\nIn some cases, you may need to run `make clean`, to make sure everything is rebuilt properly.\n\n\n## Updating Quarto extensions\n\nThis site is built using a number of Quarto extensions. The extensions are checked into the repository so they do not need to be installed separately. However, if you want to update the extensions to the latest version, you can do so by running:\n\n```bash\nmake quarto-exts\n```\n\nThen commit the changes to the repository.\n\n\n## Manually deploying the site\n\nNormally, any commits on the `main` branch will automatically be built and deployed on the `gh-pages` branch using GitHub Actions. (Note: the reason that the site is built to the `docs/` directory is because that's what GitHub Pages uses.)\n\nIf you want to manually deploy the site, follow the build instructions above on the `main` branch (or another branch -- but typically not `gh-pages`), then run:\n\n```bash\ngit checkout -B gh-pages\ngit add docs\ngit push -f\n```\n\n\n## Notes\n\nBy default, the submodules will have a specific commit checked out in detached HEAD mode; they will not have a branch checked out. If you want to do develop on the submodules, you may need to check out a branch like `main`. Note that when you do have a branch checked out in a submodule, you need to be careful to make sure it doesn't get out of sync with the commit that the parent project wants the submodule to be on.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposit-dev%2Fpy-shiny-site","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fposit-dev%2Fpy-shiny-site","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fposit-dev%2Fpy-shiny-site/lists"}