rsconnect-python 1.4.4.1__tar.gz → 1.31.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. rsconnect_python-1.31.0/LICENSE.md +21 -0
  2. rsconnect_python-1.31.0/PKG-INFO +107 -0
  3. rsconnect_python-1.31.0/README.md +63 -0
  4. rsconnect_python-1.31.0/pyproject.toml +103 -0
  5. rsconnect_python-1.31.0/pyproject.toml.orig +63 -0
  6. rsconnect_python-1.31.0/rsconnect/__init__.py +13 -0
  7. rsconnect_python-1.31.0/rsconnect/actions.py +607 -0
  8. rsconnect_python-1.31.0/rsconnect/actions_content.py +508 -0
  9. rsconnect_python-1.31.0/rsconnect/actions_environment.py +160 -0
  10. rsconnect_python-1.31.0/rsconnect/actions_integration.py +118 -0
  11. rsconnect_python-1.31.0/rsconnect/api.py +4301 -0
  12. rsconnect_python-1.31.0/rsconnect/bundle.py +2477 -0
  13. rsconnect_python-1.31.0/rsconnect/certificates.py +49 -0
  14. rsconnect_python-1.31.0/rsconnect/connect_cloud.py +315 -0
  15. rsconnect_python-1.31.0/rsconnect/environment.py +381 -0
  16. rsconnect_python-1.31.0/rsconnect/environment_node.py +115 -0
  17. rsconnect_python-1.31.0/rsconnect/environment_r.py +300 -0
  18. rsconnect_python-1.31.0/rsconnect/exception.py +15 -0
  19. rsconnect_python-1.31.0/rsconnect/git_metadata.py +180 -0
  20. rsconnect_python-1.31.0/rsconnect/http_support.py +757 -0
  21. rsconnect_python-1.31.0/rsconnect/json_web_token.py +176 -0
  22. rsconnect_python-1.31.0/rsconnect/log.py +270 -0
  23. rsconnect_python-1.31.0/rsconnect/main.py +6361 -0
  24. rsconnect_python-1.31.0/rsconnect/metadata.py +1096 -0
  25. rsconnect_python-1.31.0/rsconnect/models.py +869 -0
  26. rsconnect_python-1.31.0/rsconnect/oauth.py +813 -0
  27. rsconnect_python-1.31.0/rsconnect/py.typed +0 -0
  28. rsconnect_python-1.31.0/rsconnect/pyproject.py +283 -0
  29. rsconnect_python-1.31.0/rsconnect/quickstart/__init__.py +16 -0
  30. rsconnect_python-1.31.0/rsconnect/quickstart/quickstart.py +486 -0
  31. rsconnect_python-1.31.0/rsconnect/quickstart/templates/__init__.py +16 -0
  32. rsconnect_python-1.31.0/rsconnect/quickstart/templates/api/README.md.tmpl +15 -0
  33. rsconnect_python-1.31.0/rsconnect/quickstart/templates/api/__connect__.py.tmpl +3 -0
  34. rsconnect_python-1.31.0/rsconnect/quickstart/templates/api/__init__.py.tmpl +1 -0
  35. rsconnect_python-1.31.0/rsconnect/quickstart/templates/api/__main__.py.tmpl +14 -0
  36. rsconnect_python-1.31.0/rsconnect/quickstart/templates/api/app.py.tmpl +11 -0
  37. rsconnect_python-1.31.0/rsconnect/quickstart/templates/api/pyproject.toml.tmpl +13 -0
  38. rsconnect_python-1.31.0/rsconnect/quickstart/templates/fastapi/README.md.tmpl +15 -0
  39. rsconnect_python-1.31.0/rsconnect/quickstart/templates/fastapi/__connect__.py.tmpl +3 -0
  40. rsconnect_python-1.31.0/rsconnect/quickstart/templates/fastapi/__init__.py.tmpl +1 -0
  41. rsconnect_python-1.31.0/rsconnect/quickstart/templates/fastapi/__main__.py.tmpl +16 -0
  42. rsconnect_python-1.31.0/rsconnect/quickstart/templates/fastapi/app.py.tmpl +11 -0
  43. rsconnect_python-1.31.0/rsconnect/quickstart/templates/fastapi/pyproject.toml.tmpl +14 -0
  44. rsconnect_python-1.31.0/rsconnect/quickstart/templates/notebook/README.md.tmpl +15 -0
  45. rsconnect_python-1.31.0/rsconnect/quickstart/templates/notebook/notebook.ipynb.tmpl +34 -0
  46. rsconnect_python-1.31.0/rsconnect/quickstart/templates/notebook/pyproject.toml.tmpl +13 -0
  47. rsconnect_python-1.31.0/rsconnect/quickstart/templates/quarto/README.md.tmpl +19 -0
  48. rsconnect_python-1.31.0/rsconnect/quickstart/templates/quarto/pyproject.toml.tmpl +11 -0
  49. rsconnect_python-1.31.0/rsconnect/quickstart/templates/quarto/report.qmd.tmpl +8 -0
  50. rsconnect_python-1.31.0/rsconnect/quickstart/templates/shiny/README.md.tmpl +15 -0
  51. rsconnect_python-1.31.0/rsconnect/quickstart/templates/shiny/app.py.tmpl +3 -0
  52. rsconnect_python-1.31.0/rsconnect/quickstart/templates/shiny/pyproject.toml.tmpl +13 -0
  53. rsconnect_python-1.31.0/rsconnect/quickstart/templates/streamlit/README.md.tmpl +15 -0
  54. rsconnect_python-1.31.0/rsconnect/quickstart/templates/streamlit/app.py.tmpl +3 -0
  55. rsconnect_python-1.31.0/rsconnect/quickstart/templates/streamlit/pyproject.toml.tmpl +13 -0
  56. rsconnect_python-1.31.0/rsconnect/quickstart/templates/voila/README.md.tmpl +15 -0
  57. rsconnect_python-1.31.0/rsconnect/quickstart/templates/voila/pyproject.toml.tmpl +14 -0
  58. rsconnect_python-1.31.0/rsconnect/shiny_express.py +145 -0
  59. rsconnect_python-1.31.0/rsconnect/snowflake.py +93 -0
  60. rsconnect_python-1.31.0/rsconnect/subprocesses/__init__.py +0 -0
  61. rsconnect_python-1.31.0/rsconnect/subprocesses/inspect_environment.py +362 -0
  62. rsconnect_python-1.31.0/rsconnect/timeouts.py +89 -0
  63. rsconnect_python-1.31.0/rsconnect/utils_package.py +261 -0
  64. rsconnect_python-1.31.0/rsconnect/validation.py +438 -0
  65. rsconnect_python-1.31.0/rsconnect/version_check.py +154 -0
  66. rsconnect_python-1.4.4.1/LICENSE.md +0 -361
  67. rsconnect_python-1.4.4.1/PKG-INFO +0 -513
  68. rsconnect_python-1.4.4.1/README.md +0 -500
  69. rsconnect_python-1.4.4.1/rsconnect/__init__.py +0 -3
  70. rsconnect_python-1.4.4.1/rsconnect/actions.py +0 -1070
  71. rsconnect_python-1.4.4.1/rsconnect/api.py +0 -467
  72. rsconnect_python-1.4.4.1/rsconnect/bundle.py +0 -423
  73. rsconnect_python-1.4.4.1/rsconnect/environment.py +0 -218
  74. rsconnect_python-1.4.4.1/rsconnect/http_support.py +0 -297
  75. rsconnect_python-1.4.4.1/rsconnect/log.py +0 -38
  76. rsconnect_python-1.4.4.1/rsconnect/main.py +0 -789
  77. rsconnect_python-1.4.4.1/rsconnect/metadata.py +0 -404
  78. rsconnect_python-1.4.4.1/rsconnect/models.py +0 -167
  79. rsconnect_python-1.4.4.1/rsconnect_python.egg-info/PKG-INFO +0 -513
  80. rsconnect_python-1.4.4.1/rsconnect_python.egg-info/SOURCES.txt +0 -21
  81. rsconnect_python-1.4.4.1/rsconnect_python.egg-info/dependency_links.txt +0 -1
  82. rsconnect_python-1.4.4.1/rsconnect_python.egg-info/entry_points.txt +0 -4
  83. rsconnect_python-1.4.4.1/rsconnect_python.egg-info/not-zip-safe +0 -1
  84. rsconnect_python-1.4.4.1/rsconnect_python.egg-info/requires.txt +0 -2
  85. rsconnect_python-1.4.4.1/rsconnect_python.egg-info/top_level.txt +0 -1
  86. rsconnect_python-1.4.4.1/setup.cfg +0 -10
  87. rsconnect_python-1.4.4.1/setup.py +0 -42
@@ -0,0 +1,21 @@
1
+ # MIT License
2
+
3
+ Copyright (c) 2025 Posit Software, PBC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,107 @@
1
+ Metadata-Version: 2.3
2
+ Name: rsconnect_python
3
+ Version: 1.31.0
4
+ Summary: The Posit Connect command-line interface.
5
+ Author: Posit, PBC
6
+ Author-email: Posit, PBC <rsconnect@posit.co>
7
+ License: # MIT License
8
+
9
+ Copyright (c) 2025 Posit Software, PBC
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+ Requires-Dist: typing-extensions>=4.8.0
29
+ Requires-Dist: pip>=10.0.0
30
+ Requires-Dist: uv>=0.9.0
31
+ Requires-Dist: semver>=2.0.0,<4.0.0
32
+ Requires-Dist: pyjwt>=2.4.0
33
+ Requires-Dist: click>=8.0.0
34
+ Requires-Dist: packaging>=20.0
35
+ Requires-Dist: toml>=0.10 ; python_full_version < '3.11'
36
+ Requires-Dist: keyring>=23.0.0 ; extra == 'keyring'
37
+ Requires-Dist: snowflake-cli ; extra == 'snowflake'
38
+ Requires-Python: >=3.8
39
+ Project-URL: Repository, http://github.com/posit-dev/rsconnect-python
40
+ Project-URL: Documentation, https://docs.posit.co/rsconnect-python
41
+ Provides-Extra: keyring
42
+ Provides-Extra: snowflake
43
+ Description-Content-Type: text/markdown
44
+
45
+ # [rsconnect-python](https://docs.posit.co/rsconnect-python)
46
+
47
+ The command-line interface for [Posit Connect](https://docs.posit.co/connect/) and [Posit Connect Cloud](https://connect.posit.cloud).
48
+
49
+ ## Installation
50
+
51
+ ### uv
52
+
53
+ ```bash
54
+ uv tool install rsconnect-python
55
+ ```
56
+
57
+ ### pipx
58
+
59
+ ```bash
60
+ pipx install rsconnect-python
61
+ ```
62
+
63
+ ### into your project
64
+
65
+ ```bash
66
+ python -m pip install rsconnect-python
67
+ ```
68
+
69
+ ## Usage with Posit Connect
70
+
71
+ [Get an API key from your Posit Connect server](https://docs.posit.co/connect/user/api-keys/) with at least publisher privileges:
72
+
73
+ Store your credentials:
74
+
75
+ ```bash
76
+ rsconnect add --server https://connect.example.com --api-key <YOUR-CONNECT-API-KEY> --name production
77
+ ```
78
+
79
+ Deploy your application:
80
+
81
+ ```bash
82
+ rsconnect deploy shiny app.py --title "my shiny app"
83
+ ```
84
+
85
+ [Read more about publisher and admin capabilities on the docs site.](https://docs.posit.co/rsconnect-python)
86
+
87
+ ## Usage with Posit Connect Cloud
88
+
89
+ Store your credentials, logging in to [Posit Connect Cloud](https://connect.posit.cloud) through your browser:
90
+
91
+ ```bash
92
+ rsconnect add --connect-cloud --account <YOUR-ACCOUNT-NAME> --name cloud
93
+ ```
94
+
95
+ Deploy your application:
96
+
97
+ ```bash
98
+ rsconnect deploy shiny app.py --name cloud --title "my shiny app"
99
+ ```
100
+
101
+ For non-interactive use such as CI, pass a service account credential with
102
+ `--client-id` and `--client-secret`, or the `CONNECT_CLOUD_CLIENT_ID` and
103
+ `CONNECT_CLOUD_CLIENT_SECRET` environment variables.
104
+
105
+ ## Contributing
106
+
107
+ [Contributing docs](./CONTRIBUTING.md)
@@ -0,0 +1,63 @@
1
+ # [rsconnect-python](https://docs.posit.co/rsconnect-python)
2
+
3
+ The command-line interface for [Posit Connect](https://docs.posit.co/connect/) and [Posit Connect Cloud](https://connect.posit.cloud).
4
+
5
+ ## Installation
6
+
7
+ ### uv
8
+
9
+ ```bash
10
+ uv tool install rsconnect-python
11
+ ```
12
+
13
+ ### pipx
14
+
15
+ ```bash
16
+ pipx install rsconnect-python
17
+ ```
18
+
19
+ ### into your project
20
+
21
+ ```bash
22
+ python -m pip install rsconnect-python
23
+ ```
24
+
25
+ ## Usage with Posit Connect
26
+
27
+ [Get an API key from your Posit Connect server](https://docs.posit.co/connect/user/api-keys/) with at least publisher privileges:
28
+
29
+ Store your credentials:
30
+
31
+ ```bash
32
+ rsconnect add --server https://connect.example.com --api-key <YOUR-CONNECT-API-KEY> --name production
33
+ ```
34
+
35
+ Deploy your application:
36
+
37
+ ```bash
38
+ rsconnect deploy shiny app.py --title "my shiny app"
39
+ ```
40
+
41
+ [Read more about publisher and admin capabilities on the docs site.](https://docs.posit.co/rsconnect-python)
42
+
43
+ ## Usage with Posit Connect Cloud
44
+
45
+ Store your credentials, logging in to [Posit Connect Cloud](https://connect.posit.cloud) through your browser:
46
+
47
+ ```bash
48
+ rsconnect add --connect-cloud --account <YOUR-ACCOUNT-NAME> --name cloud
49
+ ```
50
+
51
+ Deploy your application:
52
+
53
+ ```bash
54
+ rsconnect deploy shiny app.py --name cloud --title "my shiny app"
55
+ ```
56
+
57
+ For non-interactive use such as CI, pass a service account credential with
58
+ `--client-id` and `--client-secret`, or the `CONNECT_CLOUD_CLIENT_ID` and
59
+ `CONNECT_CLOUD_CLIENT_SECRET` environment variables.
60
+
61
+ ## Contributing
62
+
63
+ [Contributing docs](./CONTRIBUTING.md)
@@ -0,0 +1,103 @@
1
+ [project]
2
+ name = "rsconnect_python"
3
+ description = "The Posit Connect command-line interface."
4
+ requires-python = ">=3.8"
5
+ version = "1.31.0"
6
+ dependencies = [
7
+ "typing-extensions>=4.8.0",
8
+ "pip>=10.0.0",
9
+ "uv>=0.9.0",
10
+ "semver>=2.0.0,<4.0.0",
11
+ "pyjwt>=2.4.0",
12
+ "click>=8.0.0",
13
+ "packaging>=20.0",
14
+ "toml>=0.10; python_version < '3.11'",
15
+ ]
16
+
17
+ [[project.authors]]
18
+ name = "Posit, PBC"
19
+ email = "rsconnect@posit.co"
20
+
21
+ [project.license]
22
+ file = "LICENSE.md"
23
+
24
+ [project.readme]
25
+ file = "README.md"
26
+ content-type = "text/markdown"
27
+
28
+ [project.scripts]
29
+ rsconnect = "rsconnect.main:cli"
30
+
31
+ [project.optional-dependencies]
32
+ keyring = ["keyring>=23.0.0"]
33
+ snowflake = ["snowflake-cli"]
34
+
35
+ [project.urls]
36
+ Repository = "http://github.com/posit-dev/rsconnect-python"
37
+ Documentation = "https://docs.posit.co/rsconnect-python"
38
+
39
+ [dependency-groups]
40
+ test = [
41
+ "coverage",
42
+ "httpretty",
43
+ "ipykernel",
44
+ "nbconvert",
45
+ "pytest",
46
+ "pytest-cov",
47
+ "twine",
48
+ "types-Flask",
49
+ "ruff",
50
+ "pyright",
51
+ ]
52
+ docs = [
53
+ "mkdocs-material",
54
+ "mkdocs-click",
55
+ "pymdown-extensions",
56
+ "mkdocs-macros-plugin",
57
+ ]
58
+
59
+ [build-system]
60
+ requires = ["uv_build>=0.9.0,<0.13.0"]
61
+ build-backend = "uv_build"
62
+
63
+ [tool.ruff]
64
+ line-length = 120
65
+ extend-exclude = [
66
+ "rsconnect-build",
67
+ "rsconnect-build-test",
68
+ "tests/testdata",
69
+ ]
70
+
71
+ [tool.ruff.lint]
72
+ select = [
73
+ "E",
74
+ "F",
75
+ "W",
76
+ ]
77
+ ignore = [
78
+ "E203",
79
+ "E231",
80
+ "E302",
81
+ ]
82
+
83
+ [tool.ruff.lint.per-file-ignores]
84
+ "tests/test_metadata.py" = ["E501"]
85
+
86
+ [tool.pyright]
87
+ typeCheckingMode = "strict"
88
+ reportPrivateUsage = "none"
89
+ reportUnnecessaryIsInstance = "none"
90
+ reportUnnecessaryComparison = "none"
91
+
92
+ [tool.uv.build-backend]
93
+ module-name = "rsconnect"
94
+ module-root = ""
95
+
96
+ [tool.coverage.run]
97
+ omit = ["tests/*"]
98
+
99
+ [tool.pytest.ini_options]
100
+ markers = []
101
+ addopts = """
102
+ --ignore=tests/testdata
103
+ """
@@ -0,0 +1,63 @@
1
+ [project]
2
+ name = "rsconnect_python"
3
+ description = "The Posit Connect command-line interface."
4
+ requires-python = ">=3.8"
5
+ version = "1.31.0"
6
+ dependencies = [ "typing-extensions>=4.8.0", "pip>=10.0.0", "uv>=0.9.0", "semver>=2.0.0,<4.0.0", "pyjwt>=2.4.0", "click>=8.0.0", "packaging>=20.0", "toml>=0.10; python_version < '3.11'",]
7
+ [[project.authors]]
8
+ name = "Posit, PBC"
9
+ email = "rsconnect@posit.co"
10
+
11
+ [dependency-groups]
12
+ test = [ "coverage", "httpretty", "ipykernel", "nbconvert", "pytest", "pytest-cov", "twine", "types-Flask", "ruff", "pyright",]
13
+ docs = [ "mkdocs-material", "mkdocs-click", "pymdown-extensions", "mkdocs-macros-plugin",]
14
+
15
+ [build-system]
16
+ requires = [ "uv_build>=0.9.0,<0.13.0",]
17
+ build-backend = "uv_build"
18
+
19
+ [project.license]
20
+ file = "LICENSE.md"
21
+
22
+ [project.readme]
23
+ file = "README.md"
24
+ content-type = "text/markdown"
25
+
26
+ [project.scripts]
27
+ rsconnect = "rsconnect.main:cli"
28
+
29
+ [project.optional-dependencies]
30
+ keyring = [ "keyring>=23.0.0",]
31
+ snowflake = [ "snowflake-cli",]
32
+
33
+ [project.urls]
34
+ Repository = "http://github.com/posit-dev/rsconnect-python"
35
+ Documentation = "https://docs.posit.co/rsconnect-python"
36
+
37
+ [tool.ruff]
38
+ line-length = 120
39
+ extend-exclude = [ "rsconnect-build", "rsconnect-build-test", "tests/testdata",]
40
+
41
+ [tool.pyright]
42
+ typeCheckingMode = "strict"
43
+ reportPrivateUsage = "none"
44
+ reportUnnecessaryIsInstance = "none"
45
+ reportUnnecessaryComparison = "none"
46
+
47
+ [tool.uv.build-backend]
48
+ module-name = "rsconnect"
49
+ module-root = ""
50
+
51
+ [tool.ruff.lint]
52
+ select = [ "E", "F", "W",]
53
+ ignore = [ "E203", "E231", "E302",]
54
+
55
+ [tool.coverage.run]
56
+ omit = [ "tests/*",]
57
+
58
+ [tool.pytest.ini_options]
59
+ markers = []
60
+ addopts = " --ignore=tests/testdata\n"
61
+
62
+ [tool.ruff.lint.per-file-ignores]
63
+ "tests/test_metadata.py" = [ "E501",]
@@ -0,0 +1,13 @@
1
+ from importlib.metadata import PackageNotFoundError, version
2
+
3
+
4
+ def _resolve_version() -> str:
5
+ for distribution in ("rsconnect_python", "rsconnect"):
6
+ try:
7
+ return version(distribution)
8
+ except PackageNotFoundError:
9
+ continue
10
+ return "NOTSET"
11
+
12
+
13
+ VERSION = _resolve_version()