canvas 0.47.0__py3-none-any.whl → 0.49.0__py3-none-any.whl

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.

Potentially problematic release.


This version of canvas might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: canvas
3
- Version: 0.47.0
3
+ Version: 0.49.0
4
4
  Summary: SDK to customize event-driven actions in your Canvas instance
5
5
  Author-email: Canvas Team <engineering@canvasmedical.com>
6
6
  License-Expression: MIT
@@ -34,6 +34,8 @@ Requires-Dist: typing-extensions<4.13,>=4.8
34
34
  Requires-Dist: websocket-client<2,>=1.7.0
35
35
  Description-Content-Type: text/markdown
36
36
 
37
+ [![codecov](https://codecov.io/gh/canvas-medical/canvas-plugins/graph/badge.svg?token=P8JJUOJ8FH)](https://codecov.io/gh/canvas-medical/canvas-plugins)
38
+
37
39
  ### Getting Started
38
40
 
39
41
  Create a file `~/.canvas/credentials.ini` and add the client_id and client_secret credentials for each of your Canvas instances. You can define your default host with `is_default=true`. If no default is explicitly defined, the Canvas CLI will use the first instance in the file as the default for each of the CLI commands.
@@ -68,7 +68,7 @@ canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson,sha256=Er0aUWIYkqb
68
68
  canvas_cli/apps/logs/__init__.py,sha256=ehY9SRb6nBw81xZF50yyBlUZJtNR2VeVSNI5sFuWJ7o,64
69
69
  canvas_cli/apps/logs/logs.py,sha256=BFpZ-2OF2Rs1EMLePo5UjqC9fKQeqm8qZobNTFNCL_M,1972
70
70
  canvas_cli/apps/plugin/__init__.py,sha256=G_nLsu6cdko5OjatnbqUyEboGcNlGGLwpZmCBxMKdfo,236
71
- canvas_cli/apps/plugin/plugin.py,sha256=HWsl1wRu-FcNSiIzShTv16tFNORhQ4DqX9nSOh6Bheg,16462
71
+ canvas_cli/apps/plugin/plugin.py,sha256=1FJd0Ta5dEd4JCCE7gqMm9_Gb-OKE6PD8Ib0xCI6HEI,16506
72
72
  canvas_cli/apps/run_plugins/__init__.py,sha256=iAMgX_6D3CdjQodGx_azwhSjouaxquOm8Z8QVXnlTFE,117
73
73
  canvas_cli/apps/run_plugins/run_plugins.py,sha256=w4JTsXFiHckZahvbSOJAqZo3jWwedxlHLiXct1j_6cY,392
74
74
  canvas_cli/templates/plugins/application/cookiecutter.json,sha256=cI4Wpj68TkKeBP3P16PrjKacTHzsTIpl_rDdzyUpwz4,129
@@ -298,14 +298,14 @@ plugin_runner/generate_allowed_imports.py,sha256=LQuVxL_j5n0Sj-KgR4Q8D9mj0xfuDqz
298
298
  plugin_runner/installation.py,sha256=LLjtnzPk-w4go3UbXnBItJTKz1ajR_5kGQbFXTaWTFU,7693
299
299
  plugin_runner/load_all_plugins.py,sha256=4T2gW2YljhIx4xfwf1c0F_8oIbE1ubsLj0ShkHRtlVY,5847
300
300
  plugin_runner/plugin_runner.py,sha256=PqtvyUHOSvIHRW97zX_NKEjszJ1GVmETXxkZhzkZoe0,21975
301
- plugin_runner/sandbox.py,sha256=G4rsCbMJj3BIxgsSZDAAmkU_JDdedlYfXtujLMIyQ9o,29036
301
+ plugin_runner/sandbox.py,sha256=1DeNfphz96-upDoC3B2WP0HQRv3hyxwb2E1zquOG4eM,29212
302
302
  protobufs/canvas_generated/messages/effects.proto,sha256=SKQlLWUHuCDWEg1ZDtUv2SSgdue_MPMgm47XNPqaewo,9057
303
303
  protobufs/canvas_generated/messages/events.proto,sha256=iYXkOORZeUhjxdf4ixKuZIVk1Dq3GBiE1r0_yMm1P3A,49036
304
304
  protobufs/canvas_generated/messages/plugins.proto,sha256=oNainUPWFYQjgCX7bJEPI9_VnHC5VZduzOqgR4Q7dNM,109
305
305
  protobufs/canvas_generated/services/plugin_runner.proto,sha256=doadBKn5k4xAtOgR-q_pEvW4yzxpUaHNOowMG6CL5GY,304
306
306
  pubsub/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
307
307
  pubsub/pubsub.py,sha256=PHIvJ5SD3M-jQSYeGGSj1FuG6CvP6BQffAoGax9Uudk,1423
308
- canvas-0.47.0.dist-info/METADATA,sha256=Eh6PoD6OucaJqO5blXAQOa9GiRwxfjhDYHnEUvfeFno,4492
309
- canvas-0.47.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
310
- canvas-0.47.0.dist-info/entry_points.txt,sha256=0Vs_9GmTVUNniH6eDBlRPgofmADMV4BES6Ao26M4AbM,47
311
- canvas-0.47.0.dist-info/RECORD,,
308
+ canvas-0.49.0.dist-info/METADATA,sha256=69oJDsR9FmmI62LbOjIyFWYhBORI13nSape0qq-ysA4,4645
309
+ canvas-0.49.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
310
+ canvas-0.49.0.dist-info/entry_points.txt,sha256=0Vs_9GmTVUNniH6eDBlRPgofmADMV4BES6Ao26M4AbM,47
311
+ canvas-0.49.0.dist-info/RECORD,,
@@ -230,7 +230,7 @@ def install(
230
230
  raise typer.Exit(1) from None
231
231
 
232
232
  if r.status_code == requests.codes.created:
233
- print(f"Plugin {plugin_name} successfully installed!")
233
+ print(f"Plugin {plugin_name} uploaded! Check logs for more details.")
234
234
 
235
235
  # If we got a conflict, means there's a duplicate plugin and install can't handle that.
236
236
  # So we need to get the plugin-name from the package and call `update` directly
@@ -483,7 +483,7 @@ def update(
483
483
  raise typer.Exit(1) from None
484
484
 
485
485
  if r.status_code == requests.codes.ok:
486
- print("Plugin successfully updated!")
486
+ print("New plugin version uploaded! Check logs for more details.")
487
487
 
488
488
  else:
489
489
  print(f"Status code {r.status_code}: {r.text}")
plugin_runner/sandbox.py CHANGED
@@ -167,6 +167,7 @@ STANDARD_LIBRARY_MODULES = {
167
167
  "Tuple",
168
168
  "Type",
169
169
  "TypedDict",
170
+ "Union",
170
171
  },
171
172
  "urllib": {
172
173
  "parse",
@@ -215,8 +216,15 @@ THIRD_PARTY_MODULES = {
215
216
  "jwt": {
216
217
  "decode",
217
218
  "encode",
219
+ "PyJWKClient",
220
+ "ExpiredSignatureError",
221
+ "InvalidTokenError",
218
222
  },
219
223
  "pydantic": {
224
+ "BaseModel",
225
+ "conint",
226
+ "constr",
227
+ "Field",
220
228
  "ValidationError",
221
229
  },
222
230
  "rapidfuzz": {