All notable changes to this project will be documented in this file.
[1.6.0] - 2021-08-30¶
- You can now deploy FastAPI applications. This requires RStudio Connect release 2021.08.0
or later. Use
rsconnect deploy fastapito deploy, or
rsconnect write-manifest fastapito create a manifest file.
- In addition to FastAPI, you can also deploy Quart, Sanic, and Falcon ASGI applications.
- rsconnect-python will now issue a warning during deployment if there isn't a requirements.txt file in the deployment directory. Using a requirements file ensures consistency in the environment that will be created by the RStudio Connect server during deployment. This helps avoid unnecessary package installations and issues that can occur if rsconnect-python falls back to inferring packages from the local Python environment.
[1.5.4] - 2021-07-29¶
If an entrypoint is not specified with
--entrypoint, rsconnect-python will attempt to choose an entrypoint file. It looks for common names (
api.py). If there is a single python source file in the directory, that will be used as the entrypoint. rsconnect-python does not inspect the file contents to identify the object name, which must be one of the default names that Connect expects (
Ability to hide code cells when rendering Jupyter notebooks.
After setting up Connect (>=1.9.0) and rsconnect-python, the user can render a Jupyter notebook without its corresponding code cells by passing the ' hide-all-input' flag through the rsconnect cli:
rsconnect deploy notebook \ --server https://connect.example.org:3939 \ --api-key my-api-key \ --hide-all-input \ mynotebook.ipynb
To selectively hide the input of cells, the user can add a tag call 'hide_input' to the cell, then pass the ' hide-tagged-input' flag through the rsconnect cli:
rsconnect deploy notebook \ --server https://connect.example.org:3939 \ --api-key my-api-key \ --hide-tagged-input \ mynotebook.ipynb
[1.5.3] - 2021-05-06¶
- Support for generating md5 file upload checksums, even if Python's
hashlibwas configured for FIPS mode. The fallback uses the
usedforsecurityoption which is available in Python 3.9 and later.
[1.5.2] - 2021-04-02¶
- support for HTTPS_PROXY
- Environments are now introspected with
pip list --format=freezeinstead of
pip freeze, since the latter injects nonexistent paths into the requirements file when run in a conda environment. This issue started occurring when pip 20.1 added support for PEP 610 metadata.
- Conda environments contain Conda-only versions of setuptools, which are now filtered out from requirements.txt for non-Conda environments.
[1.5.1] - 2020-11-02¶
- Python 2 encoding error when using rsconnect-jupyter to publish a notebook containing binary data.
- Preserve more details when raising exceptions.
- support for deploying Streamlit and Bokeh applications
- improved handling of HTTP timeouts
- CI verification on macos with python3.8
- trigger rsconnect-jupyter workflow on successful pushes to main branch
- default exclusion list to include common virtual environment directory names (
- environment internally represented as data class instead of dict
- replace all internal "compatibility mode" references with "conda mode"
- CI moved to GitHub Actions
- generation and publishing of
- explicitly set the
nbconvertwhen publishing a static notebook, as required by the latest version of
- provide clearer feedback when errors happen while building bundles from a manifest
- pin required versions of the
sixlibraries that we use
- help text touch up
- output alignment under Python 2
- converted a traceback to a more appropriate message
CookieJarclass to support marshalling/un-marshalling to/from a dictionary
- an issue with cookie jar continuity across connections
- being more distinguishing between a server that's not running Connect and a credentials problem
- more helpful feedback when a "requested object does not exist" error is returned by Connect
- be more distinguishing between a server that's not running Connect and a credentials problem
- an issue where cookie header size could grow inappropriately (#107)
- corrected the instructions to enable auto-completion
- sticky sessions so we will track deploys correctly when RStudio Connect is in an HA/clustered environment
- functions in
actionsthat provide the same functionality as the CLI
- command line handling of options is more consistent across all commands
testcommand replaced with a more broadly functional
- errors handled much more consistently and are more informative
- CLI output is more clean
- overall code has been refactored and improved for clarity, testability and stability
- all CLI help has been improved for consistency, correctness and completeness
- many documentation improvements in content and appearance
- first release