Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Appsilon/tapyr-template
Tapyr template for Shiny for Python applications
https://github.com/Appsilon/tapyr-template
python shiny
Last synced: 15 days ago
JSON representation
Tapyr template for Shiny for Python applications
- Host: GitHub
- URL: https://github.com/Appsilon/tapyr-template
- Owner: Appsilon
- License: mit
- Created: 2024-03-11T14:05:33.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T12:28:24.000Z (about 1 month ago)
- Last Synced: 2024-10-29T14:52:30.913Z (about 1 month ago)
- Topics: python, shiny
- Language: Python
- Homepage: https://connect.appsilon.com/tapyr-docs/
- Size: 551 KB
- Stars: 41
- Watchers: 9
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-shiny-extensions - Tapyr - Shiny for Python application template. (Shiny for Python / Python - Frameworks)
README
# Tapyr - Shiny for Python Application Template
> Create and deploy enterprise-ready Shiny for Python dashboards with ease.
## Introduction
Tapyr is designed for data scientists and developers seeking a seamless transition from development to deployment, this template uses `uv` for dependency management and `pytest`/`playwright` for comprehensive app validation/testing/quality assurance.
Ideal for projects aiming for high-quality code and efficient deployment on Posit Connect.> [!IMPORTANT]
> When we created `tapyr`, it used `poetry` for dependency management.
> Please check our docs for [a quick `poetry` and `uv` comparison](https://appsilon.github.io/tapyr-docs/contents/tapyr_features/02_uv.html#direct-uv-and-poetry-comparison).## Events
### Upcoming
Would you like to learn about Tapyr? Join our events!
* [**Open Source Spotlight: Tapyr - Shiny for Python Framework**](https://go.appsilon.com/tapyr-webinar-may2024?utm_source=community&utm_medium=github&utm_campaign=shinygathering)
2024-05-28 at 18:00 (UTC+1)
Shiny Gathering led by [Piotr Pasza Storożenko](https://www.linkedin.com/in/piotr-pasza-storo%C5%BCenko/)## Docs
For comprehensive documentation, please visit our [documentation](https://appsilon.github.io/tapyr-docs/).
## Getting Started
Check out our get started with `tapyr` [blog post](https://www.appsilon.com/post/introducing-tapyr).
### Using Devcontainer
To ensure a consistent development experience across all environments, we recommend using the [devcontainer](https://code.visualstudio.com/docs/remote/containers) configuration with Visual Studio Code or DevPod for container-based development.
If you prefer a local setup, follow the instructions below.1. **Start the Devcontainer**: Open the project in VS Code and select "Reopen in Container" when prompted, or use the Command Palette (`Ctrl+Shift+P`) and choose "Dev Containers: Reopen in Container". Alternatively, use [DevPod](https://devpod.sh/) following their instructions.
2. **Activate the virtual environment**:
```sh
source .venv/bin/activate
```
3. **Run the application**:
```sh
shiny run app.py --reload
```
4. **Execute tests**:
```sh
pytest
```*Note*: The Devcontainer might limit some `playwright` features, such as `codegen`. For full functionality, consider a local setup.
### Setting Up Locally with `uv`
For developers preferring a local setup without Devcontainer:
1. **Install `uv`**: [Follow the installation guide](https://docs.astral.sh/uv/getting-started/installation/).
2. **Clone the repository** and navigate to it.
3. **Install dependencies**:
```sh
uv sync
uv run playwright install --with-deps
```
4. **Run the application**:
```sh
uv run shiny run app.py --reload
```*Attention*: Follow any additional steps prompted by `playwright install`.
More information on `uv` can be found in the [official documentation](https://docs.astral.sh/uv/).
### Setting Up Locally with `pip`
Although not recommended, you can set up the project using `pip`:
1. **Clone the repository** and navigate to it.
2. **Create a virtual environment**:
```sh
python -m venv .venv
source .venv/bin/activate
```
3. **Install package with dependencies**:
```sh
pip install -e ."[dev]"
playwright install --with-deps
```
4. **Run the application**:
```sh
shiny run app.py --reload
```### Deployment on Posit Connect
Deploy your application to Posit Connect by:
0. **Activate the virtual environment**:
```sh
source .venv/bin/activate
```
1. **Exporting your API Key**:
```sh
export CONNECT_API_KEY="your_api_key_here"
```
2. **Configuring Posit Connect**:
```sh
rsconnect add \
--api-key $CONNECT_API_KEY \
--server \
--name
```
3. **Deploying**:
```sh
rsconnect deploy shiny -t "Tapyr App" .
```Replace placeholders with your server URL, server name, and API key. Verify the deployment on Posit Connect for successful upload.
## :star2: Stay Updated
Don't miss out on important updates and exclusive content about Tapyr and Shiny for Python → [Subscribe to our newsletter](https://go.appsilon.com/shiny-weekly?utm_source=community&utm_medium=github&utm_content=tapyr).Have questions or want to contribute? Engage with Appsilon's developers and the data science community on our [Shiny 4 All](https://go.appsilon.com/shiny4allcommunity).
---
Developed with :heart: at [Appsilon](https://appsilon.com).
Get in touch: .Want to stay up to date with Tapyr and other packages? Join 4,2k explorers and get the [📧 Shiny Weekly Newsletter](https://go.appsilon.com/shiny-weekly?utm_source=community&utm_medium=github&utm_content=tapyr) into your mailbox and check our [Slack community](https://go.appsilon.com/shiny4allcommunity).
Explore the [Rhinoverse](https://rhinoverse.dev) - a family of R packages built around [Rhino](https://appsilon.github.io/rhino/)!
Appsilon is a
[**Posit (formerly RStudio) Full Service Certified Partner**](https://www.rstudio.com/certified-partners/).