canvas 0.19.0__tar.gz → 0.19.1__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 (336) hide show
  1. {canvas-0.19.0 → canvas-0.19.1}/PKG-INFO +1 -1
  2. canvas-0.19.1/canvas_sdk/__init__.py +9 -0
  3. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/plugin_installer.py +23 -32
  4. {canvas-0.19.0 → canvas-0.19.1}/pyproject.toml +6 -2
  5. {canvas-0.19.0 → canvas-0.19.1}/settings.py +22 -12
  6. canvas-0.19.0/canvas_sdk/__init__.py +0 -7
  7. canvas-0.19.0/canvas_sdk/utils/db.py +0 -17
  8. {canvas-0.19.0 → canvas-0.19.1}/.gitignore +0 -0
  9. {canvas-0.19.0 → canvas-0.19.1}/README.md +0 -0
  10. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/__init__.py +0 -0
  11. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/__init__.py +0 -0
  12. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/auth/__init__.py +0 -0
  13. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/auth/tests.py +0 -0
  14. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/auth/utils.py +0 -0
  15. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/__init__.py +0 -0
  16. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/emit.py +0 -0
  17. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_CREATED.ndjson +0 -0
  18. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_UPDATED.ndjson +0 -0
  19. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson +0 -0
  20. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson +0 -0
  21. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson +0 -0
  22. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson +0 -0
  23. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson +0 -0
  24. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson +0 -0
  25. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson +0 -0
  26. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__CONDITION_SELECTED.ndjson +0 -0
  27. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_COMMIT.ndjson +0 -0
  28. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_ORIGINATE.ndjson +0 -0
  29. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_UPDATE.ndjson +0 -0
  30. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_COMMIT.ndjson +0 -0
  31. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  32. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_UPDATE.ndjson +0 -0
  33. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson +0 -0
  34. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson +0 -0
  35. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson +0 -0
  36. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson +0 -0
  37. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson +0 -0
  38. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/CRON.ndjson +0 -0
  39. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson +0 -0
  40. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson +0 -0
  41. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson +0 -0
  42. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_CREATED.ndjson +0 -0
  43. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_UPDATED.ndjson +0 -0
  44. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson +0 -0
  45. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson +0 -0
  46. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson +0 -0
  47. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson +0 -0
  48. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson +0 -0
  49. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_CREATED.ndjson +0 -0
  50. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_UPDATED.ndjson +0 -0
  51. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_COMMIT.ndjson +0 -0
  52. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE.ndjson +0 -0
  53. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_UPDATE.ndjson +0 -0
  54. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_COMMIT.ndjson +0 -0
  55. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  56. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_UPDATE.ndjson +0 -0
  57. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT__MEDICATION__POST_SEARCH.ndjson +0 -0
  58. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/PATIENT_CREATED.ndjson +0 -0
  59. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/PATIENT_UPDATED.ndjson +0 -0
  60. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__POST_ORIGINATE.ndjson +0 -0
  61. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  62. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_COMMIT.ndjson +0 -0
  63. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_ORIGINATE.ndjson +0 -0
  64. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_UPDATE.ndjson +0 -0
  65. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_COMMIT.ndjson +0 -0
  66. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  67. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_UPDATE.ndjson +0 -0
  68. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH.ndjson +0 -0
  69. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson +0 -0
  70. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/TASK_CREATED.ndjson +0 -0
  71. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/TASK_UPDATED.ndjson +0 -0
  72. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson +0 -0
  73. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson +0 -0
  74. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/logs/__init__.py +0 -0
  75. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/logs/logs.py +0 -0
  76. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/plugin/__init__.py +0 -0
  77. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/plugin/plugin.py +0 -0
  78. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/plugin/tests.py +0 -0
  79. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/run_plugins/__init__.py +0 -0
  80. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/apps/run_plugins/run_plugins.py +0 -0
  81. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/conftest.py +0 -0
  82. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/main.py +0 -0
  83. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/application/cookiecutter.json +0 -0
  84. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  85. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md +0 -0
  86. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py +0 -0
  87. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py +0 -0
  88. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png +0 -0
  89. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/default/cookiecutter.json +0 -0
  90. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  91. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md +0 -0
  92. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/__init__.py +0 -0
  93. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py +0 -0
  94. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/tests.py +0 -0
  95. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/__init__.py +0 -0
  96. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/context/__init__.py +0 -0
  97. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/context/context.py +0 -0
  98. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/context/tests.py +0 -0
  99. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/print/__init__.py +0 -0
  100. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/print/print.py +0 -0
  101. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/print/tests.py +0 -0
  102. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/urls/__init__.py +0 -0
  103. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/urls/tests.py +0 -0
  104. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/urls/urls.py +0 -0
  105. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/validators/__init__.py +0 -0
  106. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/validators/manifest_schema.py +0 -0
  107. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/validators/tests.py +0 -0
  108. {canvas-0.19.0 → canvas-0.19.1}/canvas_cli/utils/validators/validators.py +0 -0
  109. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/effects_pb2.py +0 -0
  110. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/effects_pb2.pyi +0 -0
  111. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/effects_pb2_grpc.py +0 -0
  112. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/events_pb2.py +0 -0
  113. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/events_pb2.pyi +0 -0
  114. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/events_pb2_grpc.py +0 -0
  115. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/plugins_pb2.py +0 -0
  116. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/plugins_pb2.pyi +0 -0
  117. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/messages/plugins_pb2_grpc.py +0 -0
  118. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/services/plugin_runner_pb2.py +0 -0
  119. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/services/plugin_runner_pb2.pyi +0 -0
  120. {canvas-0.19.0 → canvas-0.19.1}/canvas_generated/services/plugin_runner_pb2_grpc.py +0 -0
  121. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/base.py +0 -0
  122. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/__init__.py +0 -0
  123. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/base.py +0 -0
  124. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/allergy.py +0 -0
  125. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/assess.py +0 -0
  126. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/close_goal.py +0 -0
  127. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/diagnose.py +0 -0
  128. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/exam.py +0 -0
  129. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/family_history.py +0 -0
  130. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/goal.py +0 -0
  131. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/history_present_illness.py +0 -0
  132. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/instruct.py +0 -0
  133. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/lab_order.py +0 -0
  134. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/medical_history.py +0 -0
  135. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/medication_statement.py +0 -0
  136. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/past_surgical_history.py +0 -0
  137. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/perform.py +0 -0
  138. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/plan.py +0 -0
  139. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/prescribe.py +0 -0
  140. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/questionnaire.py +0 -0
  141. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/reason_for_visit.py +0 -0
  142. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/refill.py +0 -0
  143. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/remove_allergy.py +0 -0
  144. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/review_of_systems.py +0 -0
  145. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/stop_medication.py +0 -0
  146. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/structured_assessment.py +0 -0
  147. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/task.py +0 -0
  148. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/update_diagnosis.py +0 -0
  149. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/update_goal.py +0 -0
  150. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/commands/vitals.py +0 -0
  151. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/constants.py +0 -0
  152. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/tests/protocol/__init__.py +0 -0
  153. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/tests/protocol/tests.py +0 -0
  154. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/tests/schema/__init__.py +0 -0
  155. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/tests/schema/tests.py +0 -0
  156. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/tests/test_utils.py +0 -0
  157. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/tests/unit/__init__.py +0 -0
  158. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/commands/tests/unit/tests.py +0 -0
  159. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/__init__.py +0 -0
  160. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/banner_alert/__init__.py +0 -0
  161. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/banner_alert/add_banner_alert.py +0 -0
  162. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/banner_alert/remove_banner_alert.py +0 -0
  163. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/banner_alert/tests.py +0 -0
  164. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/base.py +0 -0
  165. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/launch_modal.py +0 -0
  166. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/patient_chart_summary_configuration.py +0 -0
  167. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/patient_portal/__init__.py +0 -0
  168. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/patient_portal/intake_form_results.py +0 -0
  169. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/patient_profile_configuration.py +0 -0
  170. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/protocol_card/__init__.py +0 -0
  171. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/protocol_card/protocol_card.py +0 -0
  172. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/protocol_card/tests.py +0 -0
  173. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/questionnaire_result.py +0 -0
  174. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/show_button.py +0 -0
  175. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/surescripts/__init__.py +0 -0
  176. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/surescripts/surescripts_messages.py +0 -0
  177. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/task/__init__.py +0 -0
  178. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/effects/task/task.py +0 -0
  179. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/events/__init__.py +0 -0
  180. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/events/base.py +0 -0
  181. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/handlers/__init__.py +0 -0
  182. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/handlers/action_button.py +0 -0
  183. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/handlers/application.py +0 -0
  184. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/handlers/base.py +0 -0
  185. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/handlers/cron_task.py +0 -0
  186. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/protocols/__init__.py +0 -0
  187. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/protocols/base.py +0 -0
  188. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/protocols/clinical_quality_measure.py +0 -0
  189. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/protocols/timeframe.py +0 -0
  190. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/questionnaires/__init__.py +0 -0
  191. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/questionnaires/tests/__init__.py +0 -0
  192. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/questionnaires/tests/test_utils.py +0 -0
  193. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/questionnaires/utils.py +0 -0
  194. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/templates/__init__.py +0 -0
  195. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/templates/tests/__init__.py +0 -0
  196. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/templates/tests/test_utils.py +0 -0
  197. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/templates/utils.py +0 -0
  198. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/tests/__init__.py +0 -0
  199. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/utils/__init__.py +0 -0
  200. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/utils/http.py +0 -0
  201. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/utils/plugins.py +0 -0
  202. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/utils/stats.py +0 -0
  203. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/utils/tests.py +0 -0
  204. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/__init__.py +0 -0
  205. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/apps.py +0 -0
  206. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/__init__.py +0 -0
  207. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/allergy_intolerance.py +0 -0
  208. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/appointment.py +0 -0
  209. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/assessment.py +0 -0
  210. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/base.py +0 -0
  211. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/billing.py +0 -0
  212. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/care_team.py +0 -0
  213. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/command.py +0 -0
  214. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/common.py +0 -0
  215. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/condition.py +0 -0
  216. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/coverage.py +0 -0
  217. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/detected_issue.py +0 -0
  218. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/device.py +0 -0
  219. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/imaging.py +0 -0
  220. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/lab.py +0 -0
  221. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/medication.py +0 -0
  222. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/note.py +0 -0
  223. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/observation.py +0 -0
  224. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/organization.py +0 -0
  225. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/patient.py +0 -0
  226. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/practicelocation.py +0 -0
  227. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/protocol_override.py +0 -0
  228. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/questionnaire.py +0 -0
  229. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/reason_for_visit.py +0 -0
  230. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/staff.py +0 -0
  231. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/task.py +0 -0
  232. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/team.py +0 -0
  233. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/data/user.py +0 -0
  234. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/v1/models.py +0 -0
  235. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/__init__.py +0 -0
  236. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/custom.py +0 -0
  237. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/hcc2018.py +0 -0
  238. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/tests/test_value_sets.py +0 -0
  239. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/__init__.py +0 -0
  240. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/adverse_event.py +0 -0
  241. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/allergy.py +0 -0
  242. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/assessment.py +0 -0
  243. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/communication.py +0 -0
  244. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/condition.py +0 -0
  245. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/device.py +0 -0
  246. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/diagnostic_study.py +0 -0
  247. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/encounter.py +0 -0
  248. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/immunization.py +0 -0
  249. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/individual_characteristic.py +0 -0
  250. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/intervention.py +0 -0
  251. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/laboratory_test.py +0 -0
  252. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/medication.py +0 -0
  253. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/physical_exam.py +0 -0
  254. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/procedure.py +0 -0
  255. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/v2022/symptom.py +0 -0
  256. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/value_set/value_set.py +0 -0
  257. {canvas-0.19.0 → canvas-0.19.1}/canvas_sdk/views/__init__.py +0 -0
  258. {canvas-0.19.0 → canvas-0.19.1}/logger/__init__.py +0 -0
  259. {canvas-0.19.0 → canvas-0.19.1}/logger/logger.py +0 -0
  260. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/__init__.py +0 -0
  261. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/authentication.py +0 -0
  262. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/aws_headers.py +0 -0
  263. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/exceptions.py +0 -0
  264. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/plugin_runner.py +0 -0
  265. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/sandbox.py +0 -0
  266. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/__init__.py +0 -0
  267. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/data/plugins/.gitkeep +0 -0
  268. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/example_plugin/CANVAS_MANIFEST.json +0 -0
  269. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/example_plugin/README.md +0 -0
  270. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/example_plugin/__init__.py +0 -0
  271. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/example_plugin/protocols/__init__.py +0 -0
  272. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/example_plugin/protocols/my_protocol.py +0 -0
  273. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/CANVAS_MANIFEST.json +0 -0
  274. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/README.md +0 -0
  275. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/protocols/__init__.py +0 -0
  276. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/protocols/my_protocol.py +0 -0
  277. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/templates/__init__.py +0 -0
  278. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/templates/base.py +0 -0
  279. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/utils/__init__.py +0 -0
  280. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_implicit_imports_plugin/utils/base.py +0 -0
  281. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/CANVAS_MANIFEST.json +0 -0
  282. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/README.md +0 -0
  283. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/protocols/__init__.py +0 -0
  284. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/protocols/my_protocol.py +0 -0
  285. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_load_questionnaire/questionnaires/example_questionnaire.yml +0 -0
  286. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/CANVAS_MANIFEST.json +0 -0
  287. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/README.md +0 -0
  288. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/other_module/__init__.py +0 -0
  289. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/other_module/base.py +0 -0
  290. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/protocols/__init__.py +0 -0
  291. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_plugin/protocols/my_protocol.py +0 -0
  292. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/CANVAS_MANIFEST.json +0 -0
  293. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/README.md +0 -0
  294. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/other_module/__init__.py +0 -0
  295. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/other_module/base.py +0 -0
  296. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/protocols/__init__.py +0 -0
  297. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_forbidden_imports_runtime_plugin/protocols/my_protocol.py +0 -0
  298. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/CANVAS_MANIFEST.json +0 -0
  299. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/README.md +0 -0
  300. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/other_module/__init__.py +0 -0
  301. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/other_module/base.py +0 -0
  302. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/protocols/__init__.py +0 -0
  303. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v1/protocols/my_protocol.py +0 -0
  304. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/CANVAS_MANIFEST.json +0 -0
  305. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/README.md +0 -0
  306. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/other_module/__init__.py +0 -0
  307. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/other_module/base.py +0 -0
  308. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/protocols/__init__.py +0 -0
  309. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v2/protocols/my_protocol.py +0 -0
  310. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/CANVAS_MANIFEST.json +0 -0
  311. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/README.md +0 -0
  312. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/other_module/__init__.py +0 -0
  313. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/other_module/base.py +0 -0
  314. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/protocols/__init__.py +0 -0
  315. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_outside_plugin_v3/protocols/my_protocol.py +0 -0
  316. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/CANVAS_MANIFEST.json +0 -0
  317. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/README.md +0 -0
  318. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/other_module/__init__.py +0 -0
  319. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/other_module/base.py +0 -0
  320. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/protocols/__init__.py +0 -0
  321. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_module_imports_plugin/protocols/my_protocol.py +0 -0
  322. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_render_template/CANVAS_MANIFEST.json +0 -0
  323. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_render_template/README.md +0 -0
  324. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_render_template/protocols/__init__.py +0 -0
  325. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_render_template/protocols/my_protocol.py +0 -0
  326. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/fixtures/plugins/test_render_template/templates/template.html +0 -0
  327. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/test_application.py +0 -0
  328. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/test_plugin_installer.py +0 -0
  329. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/test_plugin_runner.py +0 -0
  330. {canvas-0.19.0 → canvas-0.19.1}/plugin_runner/tests/test_sandbox.py +0 -0
  331. {canvas-0.19.0 → canvas-0.19.1}/protobufs/canvas_generated/messages/effects.proto +0 -0
  332. {canvas-0.19.0 → canvas-0.19.1}/protobufs/canvas_generated/messages/events.proto +0 -0
  333. {canvas-0.19.0 → canvas-0.19.1}/protobufs/canvas_generated/messages/plugins.proto +0 -0
  334. {canvas-0.19.0 → canvas-0.19.1}/protobufs/canvas_generated/services/plugin_runner.proto +0 -0
  335. {canvas-0.19.0 → canvas-0.19.1}/pubsub/__init__.py +0 -0
  336. {canvas-0.19.0 → canvas-0.19.1}/pubsub/pubsub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: canvas
3
- Version: 0.19.0
3
+ Version: 0.19.1
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
@@ -0,0 +1,9 @@
1
+ import os
2
+ import sys
3
+
4
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
5
+
6
+ if "mypy" not in sys.argv[0]:
7
+ import django
8
+
9
+ django.setup()
@@ -6,7 +6,7 @@ import tempfile
6
6
  from collections.abc import Generator
7
7
  from contextlib import contextmanager
8
8
  from pathlib import Path
9
- from typing import Any, TypedDict
9
+ from typing import TypedDict, cast
10
10
  from urllib import parse
11
11
 
12
12
  import psycopg
@@ -30,41 +30,32 @@ from settings import (
30
30
  UPLOAD_TO_PREFIX = "plugins"
31
31
 
32
32
 
33
- def get_database_dict_from_url() -> dict[str, Any]:
34
- """Creates a psycopg ready dictionary from the home-app database URL."""
35
- parsed_url = parse.urlparse(os.getenv("DATABASE_URL"))
36
- db_name = parsed_url.path[1:]
37
- return {
38
- "dbname": db_name,
39
- "user": parsed_url.username,
40
- "password": parsed_url.password,
41
- "host": parsed_url.hostname,
42
- "port": parsed_url.port,
43
- }
33
+ def open_database_connection() -> Connection:
34
+ """Opens a psycopg connection to the home-app database.
44
35
 
36
+ When running within Aptible, use the database URL, otherwise pull from
37
+ the environment variables.
38
+ """
39
+ if os.getenv("DATABASE_URL"):
40
+ parsed_url = parse.urlparse(os.getenv("DATABASE_URL"))
41
+
42
+ return psycopg.connect(
43
+ dbname=cast(str, parsed_url.path[1:]),
44
+ user=cast(str, parsed_url.username),
45
+ password=cast(str, parsed_url.password),
46
+ host=cast(str, parsed_url.hostname),
47
+ port=parsed_url.port,
48
+ )
45
49
 
46
- def get_database_dict_from_env() -> dict[str, Any]:
47
- """Creates a psycopg ready dictionary from the environment variables."""
48
50
  APP_NAME = os.getenv("APP_NAME")
49
51
 
50
- return {
51
- "dbname": APP_NAME,
52
- "user": os.getenv("DB_USERNAME", "app"),
53
- "password": os.getenv("DB_PASSWORD", "app"),
54
- "host": os.getenv("DB_HOST", f"{APP_NAME}-db"),
55
- "port": os.getenv("DB_PORT", "5432"),
56
- }
57
-
58
-
59
- def open_database_connection() -> Connection:
60
- """Opens a psycopg connection to the home-app database."""
61
- # When running within Aptible, use the database URL, otherwise pull from the environment variables.
62
- if os.getenv("DATABASE_URL"):
63
- database_dict = get_database_dict_from_url()
64
- else:
65
- database_dict = get_database_dict_from_env()
66
- conn = psycopg.connect(**database_dict)
67
- return conn
52
+ return psycopg.connect(
53
+ dbname=APP_NAME,
54
+ user=os.getenv("DB_USERNAME", "app"),
55
+ password=os.getenv("DB_PASSWORD", "app"),
56
+ host=os.getenv("DB_HOST", f"{APP_NAME}-db"),
57
+ port=os.getenv("DB_PORT", "5432"),
58
+ )
68
59
 
69
60
 
70
61
  class PluginAttributes(TypedDict):
@@ -50,7 +50,7 @@ license = "MIT"
50
50
  name = "canvas"
51
51
  readme = "README.md"
52
52
  requires-python = ">=3.11,<3.13"
53
- version = "0.19.0"
53
+ version = "0.19.1"
54
54
 
55
55
  [project.scripts]
56
56
  canvas = "canvas_cli.main:app"
@@ -158,7 +158,11 @@ extend-immutable-calls = ["typer.Argument", "typer.Option"]
158
158
  convention = "google"
159
159
 
160
160
  [tool.semantic_release]
161
- build_command = "uv build"
161
+ build_command = """
162
+ uv lock
163
+ git add uv.lock
164
+ uv build
165
+ """
162
166
  commit_message = "chore: v{version}\n\nSee the changelog for changes."
163
167
  commit_version_number = true
164
168
  match = "main"
@@ -1,11 +1,10 @@
1
1
  import os
2
2
  import sys
3
+ from urllib import parse
3
4
 
4
5
  from dotenv import load_dotenv
5
6
  from env_tools import env_to_bool
6
7
 
7
- from canvas_sdk.utils.db import get_database_dict_from_url
8
-
9
8
  load_dotenv()
10
9
 
11
10
  ENV = os.getenv("ENV", "development")
@@ -40,19 +39,30 @@ CANVAS_SDK_DB_HOST = os.getenv("CANVAS_SDK_DB_HOST", "home-app-db")
40
39
  CANVAS_SDK_DB_PORT = os.getenv("CANVAS_SDK_DB_PORT", "5432")
41
40
 
42
41
  if os.getenv("DATABASE_URL"):
43
- database_dict = get_database_dict_from_url()
42
+ parsed_url = parse.urlparse(os.getenv("DATABASE_URL"))
43
+
44
+ DATABASES = {
45
+ "default": {
46
+ "ENGINE": "django.db.backends.postgresql",
47
+ "NAME": parsed_url.path[1:],
48
+ "USER": os.getenv("CANVAS_SDK_DATABASE_ROLE"),
49
+ "PASSWORD": os.getenv("CANVAS_SDK_DATABASE_ROLE_PASSWORD"),
50
+ "HOST": parsed_url.hostname,
51
+ "PORT": parsed_url.port,
52
+ }
53
+ }
44
54
  else:
45
- database_dict = {
46
- "ENGINE": "django.db.backends.postgresql",
47
- "NAME": CANVAS_SDK_DB_NAME,
48
- "USER": CANVAS_SDK_DB_USERNAME,
49
- "PASSWORD": CANVAS_SDK_DB_PASSWORD,
50
- "HOST": CANVAS_SDK_DB_HOST,
51
- "PORT": CANVAS_SDK_DB_PORT,
55
+ DATABASES = {
56
+ "default": {
57
+ "ENGINE": "django.db.backends.postgresql",
58
+ "NAME": CANVAS_SDK_DB_NAME,
59
+ "USER": CANVAS_SDK_DB_USERNAME,
60
+ "PASSWORD": CANVAS_SDK_DB_PASSWORD,
61
+ "HOST": CANVAS_SDK_DB_HOST,
62
+ "PORT": CANVAS_SDK_DB_PORT,
63
+ }
52
64
  }
53
65
 
54
- DATABASES = {"default": database_dict}
55
-
56
66
  AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID", "")
57
67
  AWS_SECRET_ACCESS_KEY = os.getenv("AWS_SECRET_ACCESS_KEY", "")
58
68
  AWS_REGION = os.getenv("AWS_REGION", "us-west-2")
@@ -1,7 +0,0 @@
1
- import os
2
-
3
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
4
-
5
- import django
6
-
7
- django.setup()
@@ -1,17 +0,0 @@
1
- import os
2
- from typing import Any
3
- from urllib import parse
4
-
5
-
6
- def get_database_dict_from_url() -> dict[str, Any]:
7
- """Retrieves the database URL for the data module connection formatted for Django settings."""
8
- parsed_url = parse.urlparse(os.getenv("DATABASE_URL"))
9
- db_name = parsed_url.path[1:]
10
- return {
11
- "ENGINE": "django.db.backends.postgresql",
12
- "NAME": db_name,
13
- "USER": os.getenv("CANVAS_SDK_DATABASE_ROLE"),
14
- "PASSWORD": os.getenv("CANVAS_SDK_DATABASE_ROLE_PASSWORD"),
15
- "HOST": parsed_url.hostname,
16
- "PORT": parsed_url.port,
17
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes