canvas 0.1.10__tar.gz → 0.1.12__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.

Potentially problematic release.


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

Files changed (65) hide show
  1. {canvas-0.1.10 → canvas-0.1.12}/PKG-INFO +1 -1
  2. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/main.py +38 -1
  3. {canvas-0.1.10 → canvas-0.1.12}/pyproject.toml +1 -1
  4. {canvas-0.1.10 → canvas-0.1.12}/README.md +0 -0
  5. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/__init__.py +0 -0
  6. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/__init__.py +0 -0
  7. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/auth/__init__.py +0 -0
  8. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/auth/tests.py +0 -0
  9. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/auth/utils.py +0 -0
  10. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/logs/__init__.py +0 -0
  11. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/logs/logs.py +0 -0
  12. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/plugin/__init__.py +0 -0
  13. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/plugin/plugin.py +0 -0
  14. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/apps/plugin/tests.py +0 -0
  15. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/conftest.py +0 -0
  16. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/templates/plugins/default/cookiecutter.json +0 -0
  17. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  18. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md +0 -0
  19. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/__init__.py +0 -0
  20. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py +0 -0
  21. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/tests.py +0 -0
  22. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/__init__.py +0 -0
  23. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/context/__init__.py +0 -0
  24. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/context/context.py +0 -0
  25. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/context/tests.py +0 -0
  26. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/print/__init__.py +0 -0
  27. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/print/print.py +0 -0
  28. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/print/tests.py +0 -0
  29. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/urls/__init__.py +0 -0
  30. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/urls/tests.py +0 -0
  31. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/urls/urls.py +0 -0
  32. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/validators/__init__.py +0 -0
  33. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/validators/manifest_schema.py +0 -0
  34. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/validators/tests.py +0 -0
  35. {canvas-0.1.10 → canvas-0.1.12}/canvas_cli/utils/validators/validators.py +0 -0
  36. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/__init__.py +0 -0
  37. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/__init__.py +0 -0
  38. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/base.py +0 -0
  39. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/assess.py +0 -0
  40. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/diagnose.py +0 -0
  41. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/goal.py +0 -0
  42. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/history_present_illness.py +0 -0
  43. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/medication_statement.py +0 -0
  44. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/plan.py +0 -0
  45. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/prescribe.py +0 -0
  46. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/questionnaire.py +0 -0
  47. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/reason_for_visit.py +0 -0
  48. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/stop_medication.py +0 -0
  49. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/commands/update_goal.py +0 -0
  50. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/constants.py +0 -0
  51. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/tests/test_utils.py +0 -0
  52. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/commands/tests/tests.py +0 -0
  53. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/data/__init__.py +0 -0
  54. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/effects/__init__.py +0 -0
  55. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/effects/banner_alert/banner_alert.py +0 -0
  56. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/effects/banner_alert/constants.py +0 -0
  57. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/effects/base.py +0 -0
  58. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/events/__init__.py +0 -0
  59. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/protocols/__init__.py +0 -0
  60. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/protocols/base.py +0 -0
  61. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/tests/__init__.py +0 -0
  62. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/utils/__init__.py +0 -0
  63. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/utils/http.py +0 -0
  64. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/utils/tests.py +0 -0
  65. {canvas-0.1.10 → canvas-0.1.12}/canvas_sdk/views/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: canvas
3
- Version: 0.1.10
3
+ Version: 0.1.12
4
4
  Summary: SDK to customize event-driven actions in your Canvas instance
5
5
  License: MIT
6
6
  Author: Canvas Team
@@ -1,12 +1,18 @@
1
1
  import importlib.metadata
2
+ import json
3
+ import random
2
4
  from pathlib import Path
3
- from typing import Optional
5
+ from typing import Annotated, Optional
4
6
 
7
+ import grpc
5
8
  import typer
6
9
 
7
10
  from canvas_cli.apps import plugin
8
11
  from canvas_cli.apps.logs import logs as logs_command
9
12
  from canvas_cli.utils.context import context
13
+ from generated.messages.events_pb2 import Event as PluginRunnerEvent
14
+ from generated.messages.events_pb2 import EventType as PluginRunnerEventType
15
+ from generated.services.plugin_runner_pb2_grpc import PluginRunnerStub
10
16
 
11
17
  APP_NAME = "canvas_cli"
12
18
 
@@ -51,6 +57,37 @@ def get_or_create_config_file() -> Path:
51
57
  return config_path
52
58
 
53
59
 
60
+ @app.command()
61
+ def emit(
62
+ event_fixture: str,
63
+ plugin_runner_port: Annotated[
64
+ str, typer.Option(help="Port of your locally running plugin runner")
65
+ ] = "50051",
66
+ ) -> None:
67
+ """
68
+ Grab an event from a fixture file and send it your locally running plugin-runner process.
69
+ Any resultant effects will be printed.
70
+
71
+ Valid fixture files are newline-delimited JSON, with each containing the keys `EventType`, `target`, and `context`. Some fixture files are included in the canvas-plugins repo.
72
+ """
73
+ # Grab a random event from the fixture file ndjson
74
+ lines = Path(event_fixture).read_text().splitlines()
75
+ myline = random.choice(lines)
76
+ event_data = json.loads(myline)
77
+ event = PluginRunnerEvent(
78
+ type=PluginRunnerEventType.Value(event_data["EventType"]),
79
+ target=event_data["target"],
80
+ context=event_data["context"],
81
+ )
82
+ with grpc.insecure_channel(f"localhost:{plugin_runner_port}") as channel:
83
+ stub = PluginRunnerStub(channel)
84
+ responses = stub.HandleEvent(event)
85
+
86
+ for response in responses:
87
+ for effect in response.effects:
88
+ print(effect)
89
+
90
+
54
91
  @app.callback()
55
92
  def main(
56
93
  version: Optional[bool] = typer.Option(
@@ -37,7 +37,7 @@ license = "MIT"
37
37
  name = "canvas"
38
38
  packages = [{include = "canvas_cli"}, {include = "canvas_sdk"}]
39
39
  readme = "README.md"
40
- version = "0.1.10"
40
+ version = "0.1.12"
41
41
 
42
42
  [tool.poetry.dependencies]
43
43
  cookiecutter = "*"
File without changes
File without changes
File without changes
File without changes
File without changes