Skip to content

Conversation

@toph-allen
Copy link
Contributor

Description

Problem

rsconnect-python refuses to deploy Quarto manifests because it does not recognize the quarto-static and quarto-shiny appmodes.

Solution

  • Added the new appmodes to the AppModes class in models.py.

Testing Notes / Validation Steps

  • I searched the rest of the codebase for any other places that might need appmode-specific code, but couldn't find any. There don't seem to be any appmode-specific tests, either.
  • I successfully deployed Quarto projects via rsconnect deploy manifest that had previously failed.

@toph-allen toph-allen requested a review from mmarchetti February 7, 2022 21:12
@toph-allen
Copy link
Contributor Author

I don't think the README needs any additional updating, as it doesn't go into any detail about non-Python content anyway.

The one place I added them to the README is in the --content-type option under the Content Search heading. I checked, and that option does use AppModes._modes, so it makes sense to add them there.

Copy link
Contributor

@mmarchetti mmarchetti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a Python equivalent of quarto-shiny mode? (that is, a quarto document with an interactive python app embedded)?

@toph-allen
Copy link
Contributor Author

Is there a Python equivalent of quarto-shiny mode? (that is, a quarto document with an interactive python app embedded)?

No, my understanding is that there is no Python equivalent. Quarto supports rendering with R (Knitr) and Python (Jupyter), and interactivity with Shiny, Observable JS, Jupyter Widgets, and R htmlwidgets. Only Shiny has a server component there.

@toph-allen toph-allen merged commit 383733e into master Feb 8, 2022
@toph-allen toph-allen deleted the toph-add-quarto-appmodes branch February 8, 2022 19:17
@kgartland-rstudio
Copy link
Contributor

how do we write-manifest for a quarto app? @toph-allen did you create the manifest manually?

I successfully deployed Quarto projects via rsconnect deploy manifest that had previously failed.

-> rsconnect version
1.7.1
> rsconnect write-manifest quarto-static quarto-jupyter.qmd
Usage: rsconnect write-manifest [OPTIONS] COMMAND [ARGS]...
Try 'rsconnect write-manifest --help' for help.

Error: No such command 'quarto-static'

@toph-allen
Copy link
Contributor Author

rsconnect-python can't write a manifest for Quarto+Python content yet (see https://github.com/rstudio/connect/issues/20729#issue-1130908463). rsconnect::writeManifest() is in the same position for Quarto+R content (see https://github.com/rstudio/connect/projects/26#card-66728381). And I don't know if we understand how Quarto content with no runtimes will get a manifest.

So right now, rsconnect-python just supports manifest-only deployment for Quarto appmodes, like it does for R content.

I've been getting manifests for Quarto content by using the IDE's push-button publishing to deploy them, then downloading the bundle and extracting the manifest from there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants