canvas 0.44.3__tar.gz → 0.45.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.

Potentially problematic release.


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

Files changed (306) hide show
  1. {canvas-0.44.3 → canvas-0.45.0}/PKG-INFO +2 -1
  2. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/plugin/plugin.py +21 -2
  3. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/utils/http.py +4 -1
  4. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/note.py +72 -0
  5. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/sandbox.py +5 -0
  6. {canvas-0.44.3 → canvas-0.45.0}/pyproject.toml +2 -1
  7. {canvas-0.44.3 → canvas-0.45.0}/.gitignore +0 -0
  8. {canvas-0.44.3 → canvas-0.45.0}/README.md +0 -0
  9. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/__init__.py +0 -0
  10. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/__init__.py +0 -0
  11. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/auth/__init__.py +0 -0
  12. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/auth/storage.py +0 -0
  13. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/auth/utils.py +0 -0
  14. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/__init__.py +0 -0
  15. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/emit.py +0 -0
  16. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_CREATED.ndjson +0 -0
  17. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ALLERGY_INTOLERANCE_UPDATED.ndjson +0 -0
  18. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CANCELED.ndjson +0 -0
  19. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CHECKED_IN.ndjson +0 -0
  20. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_CREATED.ndjson +0 -0
  21. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_NO_SHOWED.ndjson +0 -0
  22. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESCHEDULED.ndjson +0 -0
  23. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_RESTORED.ndjson +0 -0
  24. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/APPOINTMENT_UPDATED.ndjson +0 -0
  25. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__CONDITION_SELECTED.ndjson +0 -0
  26. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_COMMIT.ndjson +0 -0
  27. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_ORIGINATE.ndjson +0 -0
  28. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__POST_UPDATE.ndjson +0 -0
  29. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_COMMIT.ndjson +0 -0
  30. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  31. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ASSESS_COMMAND__PRE_UPDATE.ndjson +0 -0
  32. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_CREATED.ndjson +0 -0
  33. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/BILLING_LINE_ITEM_UPDATED.ndjson +0 -0
  34. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_ASSESSED.ndjson +0 -0
  35. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_CREATED.ndjson +0 -0
  36. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/CONDITION_UPDATED.ndjson +0 -0
  37. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/CRON.ndjson +0 -0
  38. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_CREATED.ndjson +0 -0
  39. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/ENCOUNTER_UPDATED.ndjson +0 -0
  40. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_CREATED.ndjson +0 -0
  41. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_CREATED.ndjson +0 -0
  42. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_STATEMENT_UPDATED.ndjson +0 -0
  43. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/IMMUNIZATION_UPDATED.ndjson +0 -0
  44. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_CREATED.ndjson +0 -0
  45. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/INTERVIEW_UPDATED.ndjson +0 -0
  46. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_CREATED.ndjson +0 -0
  47. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/LAB_ORDER_UPDATED.ndjson +0 -0
  48. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_CREATED.ndjson +0 -0
  49. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_LIST_ITEM_UPDATED.ndjson +0 -0
  50. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_COMMIT.ndjson +0 -0
  51. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_ORIGINATE.ndjson +0 -0
  52. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__POST_UPDATE.ndjson +0 -0
  53. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_COMMIT.ndjson +0 -0
  54. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  55. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT_COMMAND__PRE_UPDATE.ndjson +0 -0
  56. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/MEDICATION_STATEMENT__MEDICATION__POST_SEARCH.ndjson +0 -0
  57. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_CREATED.ndjson +0 -0
  58. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/PATIENT_UPDATED.ndjson +0 -0
  59. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__POST_ORIGINATE.ndjson +0 -0
  60. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/PLAN_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  61. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_COMMIT.ndjson +0 -0
  62. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_ORIGINATE.ndjson +0 -0
  63. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__POST_UPDATE.ndjson +0 -0
  64. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_COMMIT.ndjson +0 -0
  65. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_ORIGINATE.ndjson +0 -0
  66. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE_COMMAND__PRE_UPDATE.ndjson +0 -0
  67. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/QUESTIONNAIRE__QUESTIONNAIRE__POST_SEARCH.ndjson +0 -0
  68. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/SIMPLE_API_REQUEST.ndjson +0 -0
  69. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/TASK_COMMENT_CREATED.ndjson +0 -0
  70. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/TASK_CREATED.ndjson +0 -0
  71. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/TASK_UPDATED.ndjson +0 -0
  72. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_CREATED.ndjson +0 -0
  73. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/emit/event_fixtures/VITAL_SIGN_UPDATED.ndjson +0 -0
  74. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/logs/__init__.py +0 -0
  75. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/logs/logs.py +0 -0
  76. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/plugin/__init__.py +0 -0
  77. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/run_plugins/__init__.py +0 -0
  78. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/apps/run_plugins/run_plugins.py +0 -0
  79. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/main.py +0 -0
  80. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/application/cookiecutter.json +0 -0
  81. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  82. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/README.md +0 -0
  83. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/__init__.py +0 -0
  84. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/applications/my_application.py +0 -0
  85. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/application/{{ cookiecutter.__project_slug }}/assets/python-logo.png +0 -0
  86. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/default/cookiecutter.json +0 -0
  87. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/CANVAS_MANIFEST.json +0 -0
  88. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/README.md +0 -0
  89. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/__init__.py +0 -0
  90. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/templates/plugins/default/{{ cookiecutter.__project_slug }}/protocols/my_protocol.py +0 -0
  91. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/__init__.py +0 -0
  92. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/context/__init__.py +0 -0
  93. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/context/context.py +0 -0
  94. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/print/__init__.py +0 -0
  95. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/print/print.py +0 -0
  96. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/urls/__init__.py +0 -0
  97. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/urls/urls.py +0 -0
  98. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/validators/__init__.py +0 -0
  99. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/validators/manifest_schema.py +0 -0
  100. {canvas-0.44.3 → canvas-0.45.0}/canvas_cli/utils/validators/validators.py +0 -0
  101. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/effects_pb2.py +0 -0
  102. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/effects_pb2.pyi +0 -0
  103. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/effects_pb2_grpc.py +0 -0
  104. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/events_pb2.py +0 -0
  105. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/events_pb2.pyi +0 -0
  106. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/events_pb2_grpc.py +0 -0
  107. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/plugins_pb2.py +0 -0
  108. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/plugins_pb2.pyi +0 -0
  109. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/messages/plugins_pb2_grpc.py +0 -0
  110. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/services/plugin_runner_pb2.py +0 -0
  111. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/services/plugin_runner_pb2.pyi +0 -0
  112. {canvas-0.44.3 → canvas-0.45.0}/canvas_generated/services/plugin_runner_pb2_grpc.py +0 -0
  113. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/__init__.py +0 -0
  114. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/base.py +0 -0
  115. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/caching/__init__.py +0 -0
  116. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/caching/base.py +0 -0
  117. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/caching/client.py +0 -0
  118. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/caching/exceptions.py +0 -0
  119. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/caching/plugins.py +0 -0
  120. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/caching/utils.py +0 -0
  121. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/__init__.py +0 -0
  122. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/base.py +0 -0
  123. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/__init__.py +0 -0
  124. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/adjust_prescription.py +0 -0
  125. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/allergy.py +0 -0
  126. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/assess.py +0 -0
  127. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/change_medication.py +0 -0
  128. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/chart_section_review.py +0 -0
  129. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/close_goal.py +0 -0
  130. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/diagnose.py +0 -0
  131. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/exam.py +0 -0
  132. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/family_history.py +0 -0
  133. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/follow_up.py +0 -0
  134. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/goal.py +0 -0
  135. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/history_present_illness.py +0 -0
  136. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/imaging_order.py +0 -0
  137. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/instruct.py +0 -0
  138. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/lab_order.py +0 -0
  139. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/medical_history.py +0 -0
  140. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/medication_statement.py +0 -0
  141. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/past_surgical_history.py +0 -0
  142. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/perform.py +0 -0
  143. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/plan.py +0 -0
  144. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/prescribe.py +0 -0
  145. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/questionnaire/__init__.py +0 -0
  146. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/questionnaire/question.py +0 -0
  147. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/reason_for_visit.py +0 -0
  148. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/refer.py +0 -0
  149. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/refill.py +0 -0
  150. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/remove_allergy.py +0 -0
  151. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/resolve_condition.py +0 -0
  152. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/review_of_systems.py +0 -0
  153. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/stop_medication.py +0 -0
  154. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/structured_assessment.py +0 -0
  155. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/task.py +0 -0
  156. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/update_diagnosis.py +0 -0
  157. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/update_goal.py +0 -0
  158. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/commands/vitals.py +0 -0
  159. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/commands/constants.py +0 -0
  160. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/__init__.py +0 -0
  161. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/banner_alert/__init__.py +0 -0
  162. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/banner_alert/add_banner_alert.py +0 -0
  163. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/banner_alert/remove_banner_alert.py +0 -0
  164. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/base.py +0 -0
  165. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/billing_line_item/__init__.py +0 -0
  166. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/billing_line_item/add_billing_line_item.py +0 -0
  167. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/billing_line_item/remove_billing_line_item.py +0 -0
  168. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/billing_line_item/update_billing_line_item.py +0 -0
  169. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/launch_modal.py +0 -0
  170. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/note/__init__.py +0 -0
  171. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/note/appointment.py +0 -0
  172. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/note/base.py +0 -0
  173. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/note/message.py +0 -0
  174. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/note/note.py +0 -0
  175. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient/__init__.py +0 -0
  176. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient/base.py +0 -0
  177. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient/create_patient_external_identifier.py +0 -0
  178. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_chart_summary_configuration.py +0 -0
  179. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_metadata/__init__.py +0 -0
  180. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_metadata/base.py +0 -0
  181. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_metadata/patient_metadata_create_form.py +0 -0
  182. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_portal/__init__.py +0 -0
  183. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_portal/application_configuration.py +0 -0
  184. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_portal/form_result.py +0 -0
  185. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_portal_menu_configuration.py +0 -0
  186. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/patient_profile_configuration.py +0 -0
  187. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/protocol_card/__init__.py +0 -0
  188. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/protocol_card/protocol_card.py +0 -0
  189. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/questionnaire_result.py +0 -0
  190. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/send_invite.py +0 -0
  191. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/show_button.py +0 -0
  192. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/simple_api.py +0 -0
  193. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/surescripts/__init__.py +0 -0
  194. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/surescripts/surescripts_messages.py +0 -0
  195. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/task/__init__.py +0 -0
  196. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/task/task.py +0 -0
  197. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/update_user.py +0 -0
  198. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/widgets/__init__.py +0 -0
  199. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/effects/widgets/portal_widget.py +0 -0
  200. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/events/__init__.py +0 -0
  201. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/events/base.py +0 -0
  202. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/__init__.py +0 -0
  203. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/action_button.py +0 -0
  204. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/application.py +0 -0
  205. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/base.py +0 -0
  206. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/cron_task.py +0 -0
  207. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/simple_api/__init__.py +0 -0
  208. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/simple_api/api.py +0 -0
  209. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/simple_api/exceptions.py +0 -0
  210. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/simple_api/security.py +0 -0
  211. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/simple_api/tools.py +0 -0
  212. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/handlers/simple_api/websocket.py +0 -0
  213. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/protocols/__init__.py +0 -0
  214. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/protocols/base.py +0 -0
  215. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/protocols/clinical_quality_measure.py +0 -0
  216. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/protocols/timeframe.py +0 -0
  217. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/questionnaires/__init__.py +0 -0
  218. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/questionnaires/utils.py +0 -0
  219. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/templates/__init__.py +0 -0
  220. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/templates/utils.py +0 -0
  221. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/utils/__init__.py +0 -0
  222. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/utils/db.py +0 -0
  223. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/utils/metrics.py +0 -0
  224. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/utils/plugins.py +0 -0
  225. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/__init__.py +0 -0
  226. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/apps.py +0 -0
  227. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/__init__.py +0 -0
  228. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/allergy_intolerance.py +0 -0
  229. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/appointment.py +0 -0
  230. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/assessment.py +0 -0
  231. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/banner_alert.py +0 -0
  232. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/base.py +0 -0
  233. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/billing.py +0 -0
  234. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/business_line.py +0 -0
  235. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/care_team.py +0 -0
  236. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/claim.py +0 -0
  237. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/claim_line_item.py +0 -0
  238. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/command.py +0 -0
  239. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/common.py +0 -0
  240. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/condition.py +0 -0
  241. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/coverage.py +0 -0
  242. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/detected_issue.py +0 -0
  243. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/device.py +0 -0
  244. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/discount.py +0 -0
  245. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/fields.py +0 -0
  246. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/imaging.py +0 -0
  247. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/invoice.py +0 -0
  248. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/lab.py +0 -0
  249. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/line_item_transaction.py +0 -0
  250. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/medication.py +0 -0
  251. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/message.py +0 -0
  252. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/observation.py +0 -0
  253. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/organization.py +0 -0
  254. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/patient.py +0 -0
  255. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/patient_consent.py +0 -0
  256. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/payment_collection.py +0 -0
  257. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/payor_specific_charge.py +0 -0
  258. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/posting.py +0 -0
  259. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/practicelocation.py +0 -0
  260. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/protocol_override.py +0 -0
  261. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/questionnaire.py +0 -0
  262. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/reason_for_visit.py +0 -0
  263. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/staff.py +0 -0
  264. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/task.py +0 -0
  265. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/team.py +0 -0
  266. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/user.py +0 -0
  267. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/data/utils.py +0 -0
  268. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/v1/models.py +0 -0
  269. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/__init__.py +0 -0
  270. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/custom.py +0 -0
  271. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/hcc2018.py +0 -0
  272. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/__init__.py +0 -0
  273. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/adverse_event.py +0 -0
  274. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/allergy.py +0 -0
  275. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/assessment.py +0 -0
  276. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/communication.py +0 -0
  277. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/condition.py +0 -0
  278. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/device.py +0 -0
  279. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/diagnostic_study.py +0 -0
  280. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/encounter.py +0 -0
  281. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/immunization.py +0 -0
  282. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/individual_characteristic.py +0 -0
  283. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/intervention.py +0 -0
  284. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/laboratory_test.py +0 -0
  285. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/medication.py +0 -0
  286. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/physical_exam.py +0 -0
  287. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/procedure.py +0 -0
  288. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/v2022/symptom.py +0 -0
  289. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/value_set/value_set.py +0 -0
  290. {canvas-0.44.3 → canvas-0.45.0}/canvas_sdk/views/__init__.py +0 -0
  291. {canvas-0.44.3 → canvas-0.45.0}/logger/__init__.py +0 -0
  292. {canvas-0.44.3 → canvas-0.45.0}/logger/logger.py +0 -0
  293. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/__init__.py +0 -0
  294. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/authentication.py +0 -0
  295. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/aws_headers.py +0 -0
  296. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/exceptions.py +0 -0
  297. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/installation.py +0 -0
  298. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/load_all_plugins.py +0 -0
  299. {canvas-0.44.3 → canvas-0.45.0}/plugin_runner/plugin_runner.py +0 -0
  300. {canvas-0.44.3 → canvas-0.45.0}/protobufs/canvas_generated/messages/effects.proto +0 -0
  301. {canvas-0.44.3 → canvas-0.45.0}/protobufs/canvas_generated/messages/events.proto +0 -0
  302. {canvas-0.44.3 → canvas-0.45.0}/protobufs/canvas_generated/messages/plugins.proto +0 -0
  303. {canvas-0.44.3 → canvas-0.45.0}/protobufs/canvas_generated/services/plugin_runner.proto +0 -0
  304. {canvas-0.44.3 → canvas-0.45.0}/pubsub/__init__.py +0 -0
  305. {canvas-0.44.3 → canvas-0.45.0}/pubsub/pubsub.py +0 -0
  306. {canvas-0.44.3 → canvas-0.45.0}/settings.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: canvas
3
- Version: 0.44.3
3
+ Version: 0.45.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
@@ -16,6 +16,7 @@ Requires-Dist: frozendict>=2.4.6
16
16
  Requires-Dist: grpcio<2,>=1.60.1
17
17
  Requires-Dist: ipython<9,>=8.21.0
18
18
  Requires-Dist: jsonschema<5,>=4.21.1
19
+ Requires-Dist: pathspec>=0.12.1
19
20
  Requires-Dist: protobuf<5,>=4.25.3
20
21
  Requires-Dist: psycopg[binary,pool]<4,>=3.2.2
21
22
  Requires-Dist: pydantic<3,>=2.6.1
@@ -7,6 +7,7 @@ from pathlib import Path
7
7
  from typing import Any, cast
8
8
  from urllib.parse import urljoin
9
9
 
10
+ import pathspec
10
11
  import requests
11
12
  import typer
12
13
  from cookiecutter.exceptions import OutputDirExistsException
@@ -16,6 +17,8 @@ from canvas_cli.apps.auth.utils import get_default_host, get_or_request_api_toke
16
17
  from canvas_cli.utils.context import context
17
18
  from canvas_cli.utils.validators import validate_manifest_file
18
19
 
20
+ CANVAS_IGNORE_FILENAME = ".canvasignore"
21
+
19
22
 
20
23
  def plugin_url(host: str, *paths: str) -> str:
21
24
  """Generates the plugin url for managing plugins in a Canvas instance."""
@@ -46,11 +49,27 @@ def _build_package(package: Path) -> Path:
46
49
  if not package.exists() or not package.is_dir():
47
50
  raise typer.BadParameter(f"Couldn't build {package}, not a dir")
48
51
 
52
+ ignore_file = Path.cwd() / CANVAS_IGNORE_FILENAME
53
+ if ignore_file.exists():
54
+ ignore_patterns = pathspec.PathSpec.from_lines(
55
+ pathspec.patterns.GitWildMatchPattern, ignore_file.read_text().splitlines()
56
+ )
57
+ else:
58
+ ignore_patterns = pathspec.PathSpec.from_lines(pathspec.patterns.GitWildMatchPattern, [])
59
+
49
60
  with tempfile.NamedTemporaryFile(suffix=".tar.gz", delete=False) as file:
50
61
  with tarfile.open(file.name, "w:gz") as tar:
51
62
  for root in package.rglob("*"):
52
- # Skip hidden files and directories (starting with '.') and symlinks
53
- if any(part.startswith(".") for part in root.parts) or root.is_symlink():
63
+ # Skip hidden files and directories (starting with '.')
64
+ if any(part.startswith(".") for part in root.parts):
65
+ continue
66
+
67
+ # Skip symlinks
68
+ if root.is_symlink():
69
+ continue
70
+
71
+ # Skip files and directories matching the ignore patterns
72
+ if ignore_patterns.match_file(root):
54
73
  continue
55
74
 
56
75
  tar.add(root, arcname=root.relative_to(package))
@@ -308,7 +308,10 @@ class PharmacyHttp:
308
308
  self._http_client._session.verify = False
309
309
 
310
310
  def search_pharmacies(
311
- self, search_term: str, latitude: str | None = None, longitude: str | None = None
311
+ self,
312
+ search_term: str | None = " ",
313
+ latitude: str | None = None,
314
+ longitude: str | None = None,
312
315
  ) -> list[dict]:
313
316
  """Search for pharmacies by term and optional location."""
314
317
  params = {"search": search_term}
@@ -87,6 +87,30 @@ class NoteTypes(models.TextChoices):
87
87
  CCDA = "ccda", "C-CDA Import"
88
88
 
89
89
 
90
+ class NoteStates(models.TextChoices):
91
+ """Note states."""
92
+
93
+ NEW = "NEW", "Created"
94
+ PUSHED = "PSH", "Pushed the charges for"
95
+ LOCKED = "LKD", "Locked"
96
+ UNLOCKED = "ULK", "Unlocked"
97
+ DELETED = "DLT", "Deleted"
98
+ RELOCKED = "RLK", "Relocked"
99
+ RESTORED = "RST", "Restored"
100
+ RECALLED = "RCL", "Recalled"
101
+ UNDELETED = "UND", "Undeleted"
102
+ DISCHARGED = "DSC", "Discharged"
103
+ # Appointment note
104
+ SCHEDULING = "SCH", "Scheduling"
105
+ BOOKED = "BKD", "Booked"
106
+ CONVERTED = "CVD", "Checked in"
107
+ CANCELLED = "CLD", "Canceled"
108
+ NOSHOW = "NSW", "No show"
109
+ REVERTED = "RVT", "Reverted"
110
+ # C-CDA Import note
111
+ CONFIRM_IMPORT = "CNF", "Confirmed"
112
+
113
+
90
114
  class NoteType(models.Model):
91
115
  """NoteType."""
92
116
 
@@ -162,10 +186,58 @@ class Note(models.Model):
162
186
  place_of_service = models.CharField()
163
187
 
164
188
 
189
+ class NoteStateChangeEvent(models.Model):
190
+ """NoteStateChangeEvent."""
191
+
192
+ class Meta:
193
+ managed = False
194
+ db_table = "canvas_sdk_data_api_notestatechangeevent_001"
195
+
196
+ id = models.UUIDField()
197
+ dbid = models.BigIntegerField(primary_key=True)
198
+ created = models.DateTimeField()
199
+ modified = models.DateTimeField()
200
+ note = models.ForeignKey("v1.Note", on_delete=models.DO_NOTHING, related_name="state_history")
201
+ originator = models.ForeignKey("v1.CanvasUser", on_delete=models.DO_NOTHING, null=True)
202
+ state = models.CharField(choices=NoteStates.choices)
203
+ note_state_document = models.CharField()
204
+ note_state_html = models.TextField()
205
+
206
+
207
+ class CurrentNoteStateEvent(models.Model):
208
+ """
209
+ CurrentNoteStateEvent is a special model backed by a view which only includes the latest
210
+ NoteStateChangeEvent for any given note_id.
211
+ """
212
+
213
+ class Meta:
214
+ managed = False
215
+ app_label = "canvas_sdk"
216
+ db_table = "canvas_sdk_data_current_note_state_001"
217
+
218
+ id = models.UUIDField()
219
+ dbid: models.BigIntegerField = models.BigIntegerField(primary_key=True)
220
+ state: models.CharField = models.CharField(choices=NoteStates.choices)
221
+ note = models.ForeignKey("v1.Note", on_delete=models.DO_NOTHING, related_name="+")
222
+
223
+ def editable(self) -> bool:
224
+ """Returns a boolean to indicate if the related note can be edited."""
225
+ return self.state in [
226
+ NoteStates.NEW,
227
+ NoteStates.PUSHED,
228
+ NoteStates.UNLOCKED,
229
+ NoteStates.RESTORED,
230
+ NoteStates.UNDELETED,
231
+ ]
232
+
233
+
165
234
  __exports__ = (
166
235
  "NoteTypeCategories",
167
236
  "PracticeLocationPOS",
168
237
  "NoteTypes",
169
238
  "NoteType",
170
239
  "Note",
240
+ "NoteStates",
241
+ "NoteStateChangeEvent",
242
+ "CurrentNoteStateEvent",
171
243
  )
@@ -127,6 +127,10 @@ STANDARD_LIBRARY_MODULES = {
127
127
  "annotations",
128
128
  },
129
129
  "_strptime": set(), # gets imported at runtime via datetime.datetime.strptime()
130
+ "abc": {
131
+ "ABC",
132
+ "abstractmethod",
133
+ },
130
134
  "base64": {
131
135
  "b64decode",
132
136
  "b64encode",
@@ -204,6 +208,7 @@ STANDARD_LIBRARY_MODULES = {
204
208
  "Final",
205
209
  "Iterable",
206
210
  "List",
211
+ "Literal",
207
212
  "NamedTuple",
208
213
  "NotRequired",
209
214
  "Protocol",
@@ -32,6 +32,7 @@ dependencies = [
32
32
  "grpcio>=1.60.1,<2",
33
33
  "ipython>=8.21.0,<9",
34
34
  "jsonschema>=4.21.1,<5",
35
+ "pathspec>=0.12.1",
35
36
  "protobuf>=4.25.3,<5",
36
37
  "psycopg[binary,pool]>=3.2.2,<4",
37
38
  "pydantic>=2.6.1,<3",
@@ -52,7 +53,7 @@ license = "MIT"
52
53
  name = "canvas"
53
54
  readme = "README.md"
54
55
  requires-python = ">=3.11,<3.13"
55
- version = "0.44.3"
56
+ version = "0.45.0"
56
57
 
57
58
  [project.scripts]
58
59
  canvas = "canvas_cli.main:app"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes