zou 0.19.63__tar.gz → 0.19.65__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 (429) hide show
  1. {zou-0.19.63/zou.egg-info → zou-0.19.65}/PKG-INFO +6 -6
  2. {zou-0.19.63 → zou-0.19.65}/setup.cfg +5 -5
  3. zou-0.19.65/zou/__init__.py +1 -0
  4. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/base.py +3 -2
  5. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/comments.py +13 -0
  6. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/custom_action.py +1 -1
  7. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/department.py +1 -1
  8. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/entity.py +1 -1
  9. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/entity_type.py +1 -1
  10. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/file_status.py +1 -1
  11. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/metadata_descriptor.py +2 -1
  12. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/organisation.py +1 -1
  13. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/output_file.py +1 -1
  14. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/output_type.py +1 -1
  15. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/person.py +1 -1
  16. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/playlist.py +1 -1
  17. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/preview_background_file.py +1 -1
  18. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/preview_file.py +1 -1
  19. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/project.py +1 -1
  20. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/project_status.py +1 -1
  21. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/software.py +1 -1
  22. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/status_automation.py +1 -1
  23. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/studio.py +1 -1
  24. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/task.py +1 -1
  25. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/task_status.py +1 -1
  26. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/task_type.py +1 -1
  27. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/working_file.py +1 -1
  28. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/news/resources.py +10 -1
  29. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/search/resources.py +18 -6
  30. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/tasks/resources.py +6 -1
  31. {zou-0.19.63 → zou-0.19.65}/zou/app/services/breakdown_service.py +3 -1
  32. {zou-0.19.63 → zou-0.19.65}/zou/app/services/chats_service.py +2 -2
  33. {zou-0.19.63 → zou-0.19.65}/zou/app/services/news_service.py +8 -0
  34. {zou-0.19.63 → zou-0.19.65/zou.egg-info}/PKG-INFO +6 -6
  35. {zou-0.19.63 → zou-0.19.65}/zou.egg-info/requires.txt +5 -5
  36. zou-0.19.63/zou/__init__.py +0 -1
  37. {zou-0.19.63 → zou-0.19.65}/LICENSE +0 -0
  38. {zou-0.19.63 → zou-0.19.65}/README.rst +0 -0
  39. {zou-0.19.63 → zou-0.19.65}/pyproject.toml +0 -0
  40. {zou-0.19.63 → zou-0.19.65}/setup.py +0 -0
  41. {zou-0.19.63 → zou-0.19.65}/zou/app/__init__.py +0 -0
  42. {zou-0.19.63 → zou-0.19.65}/zou/app/api.py +0 -0
  43. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/__init__.py +0 -0
  44. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/assets/__init__.py +0 -0
  45. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/assets/resources.py +0 -0
  46. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/auth/__init__.py +0 -0
  47. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/auth/resources.py +0 -0
  48. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/breakdown/__init__.py +0 -0
  49. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/breakdown/resources.py +0 -0
  50. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/chats/__init__.py +0 -0
  51. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/chats/resources.py +0 -0
  52. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/comments/__init__.py +0 -0
  53. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/comments/resources.py +0 -0
  54. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/concepts/__init__.py +0 -0
  55. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/concepts/resources.py +0 -0
  56. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/__init__.py +0 -0
  57. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/asset_instance.py +0 -0
  58. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/attachment_file.py +0 -0
  59. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/chat.py +0 -0
  60. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/chat_message.py +0 -0
  61. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/day_off.py +0 -0
  62. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/entity_link.py +0 -0
  63. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/event.py +0 -0
  64. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/milestone.py +0 -0
  65. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/news.py +0 -0
  66. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/notification.py +0 -0
  67. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/schedule_item.py +0 -0
  68. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/search_filter.py +0 -0
  69. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/search_filter_group.py +0 -0
  70. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/subscription.py +0 -0
  71. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/crud/time_spent.py +0 -0
  72. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/edits/__init__.py +0 -0
  73. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/edits/resources.py +0 -0
  74. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/entities/__init__.py +0 -0
  75. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/entities/resources.py +0 -0
  76. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/events/__init__.py +0 -0
  77. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/events/resources.py +0 -0
  78. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/__init__.py +0 -0
  79. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/__init__.py +0 -0
  80. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/assets.py +0 -0
  81. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/base.py +0 -0
  82. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/casting.py +0 -0
  83. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/edits.py +0 -0
  84. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/persons.py +0 -0
  85. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/playlists.py +0 -0
  86. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/projects.py +0 -0
  87. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/shots.py +0 -0
  88. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/task_types.py +0 -0
  89. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/tasks.py +0 -0
  90. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/export/csv/time_spents.py +0 -0
  91. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/files/__init__.py +0 -0
  92. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/files/resources.py +0 -0
  93. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/index/__init__.py +0 -0
  94. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/index/resources.py +0 -0
  95. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/news/__init__.py +0 -0
  96. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/persons/__init__.py +0 -0
  97. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/persons/resources.py +0 -0
  98. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/playlists/__init__.py +0 -0
  99. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/playlists/resources.py +0 -0
  100. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/previews/__init__.py +0 -0
  101. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/previews/resources.py +0 -0
  102. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/projects/__init__.py +0 -0
  103. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/projects/resources.py +0 -0
  104. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/search/__init__.py +0 -0
  105. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/shots/__init__.py +0 -0
  106. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/shots/resources.py +0 -0
  107. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/__init__.py +0 -0
  108. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/__init__.py +0 -0
  109. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/assets.py +0 -0
  110. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/base.py +0 -0
  111. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/casting.py +0 -0
  112. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/edits.py +0 -0
  113. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/persons.py +0 -0
  114. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/shots.py +0 -0
  115. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/csv/task_type_estimations.py +0 -0
  116. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/kitsu.py +0 -0
  117. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/otio.py +0 -0
  118. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/__init__.py +0 -0
  119. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/assets.py +0 -0
  120. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/base.py +0 -0
  121. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/episode.py +0 -0
  122. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/exception.py +0 -0
  123. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/import_errors.py +0 -0
  124. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/notes.py +0 -0
  125. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/person.py +0 -0
  126. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/project.py +0 -0
  127. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/scene.py +0 -0
  128. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/sequence.py +0 -0
  129. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/shot.py +0 -0
  130. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/status.py +0 -0
  131. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/steps.py +0 -0
  132. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/tasks.py +0 -0
  133. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/team.py +0 -0
  134. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/source/shotgun/versions.py +0 -0
  135. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/tasks/__init__.py +0 -0
  136. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/user/__init__.py +0 -0
  137. {zou-0.19.63 → zou-0.19.65}/zou/app/blueprints/user/resources.py +0 -0
  138. {zou-0.19.63 → zou-0.19.65}/zou/app/config.py +0 -0
  139. {zou-0.19.63 → zou-0.19.65}/zou/app/file_trees/default.json +0 -0
  140. {zou-0.19.63 → zou-0.19.65}/zou/app/file_trees/simple.json +0 -0
  141. {zou-0.19.63 → zou-0.19.65}/zou/app/indexer/__init__.py +0 -0
  142. {zou-0.19.63 → zou-0.19.65}/zou/app/indexer/indexing.py +0 -0
  143. {zou-0.19.63 → zou-0.19.65}/zou/app/mixin.py +0 -0
  144. {zou-0.19.63 → zou-0.19.65}/zou/app/models/__init__.py +0 -0
  145. {zou-0.19.63 → zou-0.19.65}/zou/app/models/asset_instance.py +0 -0
  146. {zou-0.19.63 → zou-0.19.65}/zou/app/models/attachment_file.py +0 -0
  147. {zou-0.19.63 → zou-0.19.65}/zou/app/models/base.py +0 -0
  148. {zou-0.19.63 → zou-0.19.65}/zou/app/models/build_job.py +0 -0
  149. {zou-0.19.63 → zou-0.19.65}/zou/app/models/chat.py +0 -0
  150. {zou-0.19.63 → zou-0.19.65}/zou/app/models/chat_message.py +0 -0
  151. {zou-0.19.63 → zou-0.19.65}/zou/app/models/comment.py +0 -0
  152. {zou-0.19.63 → zou-0.19.65}/zou/app/models/custom_action.py +0 -0
  153. {zou-0.19.63 → zou-0.19.65}/zou/app/models/data_import_error.py +0 -0
  154. {zou-0.19.63 → zou-0.19.65}/zou/app/models/day_off.py +0 -0
  155. {zou-0.19.63 → zou-0.19.65}/zou/app/models/department.py +0 -0
  156. {zou-0.19.63 → zou-0.19.65}/zou/app/models/desktop_login_log.py +0 -0
  157. {zou-0.19.63 → zou-0.19.65}/zou/app/models/entity.py +0 -0
  158. {zou-0.19.63 → zou-0.19.65}/zou/app/models/entity_type.py +0 -0
  159. {zou-0.19.63 → zou-0.19.65}/zou/app/models/event.py +0 -0
  160. {zou-0.19.63 → zou-0.19.65}/zou/app/models/file_status.py +0 -0
  161. {zou-0.19.63 → zou-0.19.65}/zou/app/models/login_log.py +0 -0
  162. {zou-0.19.63 → zou-0.19.65}/zou/app/models/metadata_descriptor.py +0 -0
  163. {zou-0.19.63 → zou-0.19.65}/zou/app/models/milestone.py +0 -0
  164. {zou-0.19.63 → zou-0.19.65}/zou/app/models/news.py +0 -0
  165. {zou-0.19.63 → zou-0.19.65}/zou/app/models/notification.py +0 -0
  166. {zou-0.19.63 → zou-0.19.65}/zou/app/models/organisation.py +0 -0
  167. {zou-0.19.63 → zou-0.19.65}/zou/app/models/output_file.py +0 -0
  168. {zou-0.19.63 → zou-0.19.65}/zou/app/models/output_type.py +0 -0
  169. {zou-0.19.63 → zou-0.19.65}/zou/app/models/person.py +0 -0
  170. {zou-0.19.63 → zou-0.19.65}/zou/app/models/playlist.py +0 -0
  171. {zou-0.19.63 → zou-0.19.65}/zou/app/models/preview_background_file.py +0 -0
  172. {zou-0.19.63 → zou-0.19.65}/zou/app/models/preview_file.py +0 -0
  173. {zou-0.19.63 → zou-0.19.65}/zou/app/models/project.py +0 -0
  174. {zou-0.19.63 → zou-0.19.65}/zou/app/models/project_status.py +0 -0
  175. {zou-0.19.63 → zou-0.19.65}/zou/app/models/schedule_item.py +0 -0
  176. {zou-0.19.63 → zou-0.19.65}/zou/app/models/search_filter.py +0 -0
  177. {zou-0.19.63 → zou-0.19.65}/zou/app/models/search_filter_group.py +0 -0
  178. {zou-0.19.63 → zou-0.19.65}/zou/app/models/serializer.py +0 -0
  179. {zou-0.19.63 → zou-0.19.65}/zou/app/models/software.py +0 -0
  180. {zou-0.19.63 → zou-0.19.65}/zou/app/models/status_automation.py +0 -0
  181. {zou-0.19.63 → zou-0.19.65}/zou/app/models/studio.py +0 -0
  182. {zou-0.19.63 → zou-0.19.65}/zou/app/models/subscription.py +0 -0
  183. {zou-0.19.63 → zou-0.19.65}/zou/app/models/task.py +0 -0
  184. {zou-0.19.63 → zou-0.19.65}/zou/app/models/task_status.py +0 -0
  185. {zou-0.19.63 → zou-0.19.65}/zou/app/models/task_type.py +0 -0
  186. {zou-0.19.63 → zou-0.19.65}/zou/app/models/time_spent.py +0 -0
  187. {zou-0.19.63 → zou-0.19.65}/zou/app/models/working_file.py +0 -0
  188. {zou-0.19.63 → zou-0.19.65}/zou/app/services/__init__.py +0 -0
  189. {zou-0.19.63 → zou-0.19.65}/zou/app/services/assets_service.py +0 -0
  190. {zou-0.19.63 → zou-0.19.65}/zou/app/services/auth_service.py +0 -0
  191. {zou-0.19.63 → zou-0.19.65}/zou/app/services/backup_service.py +0 -0
  192. {zou-0.19.63 → zou-0.19.65}/zou/app/services/base_service.py +0 -0
  193. {zou-0.19.63 → zou-0.19.65}/zou/app/services/comments_service.py +0 -0
  194. {zou-0.19.63 → zou-0.19.65}/zou/app/services/concepts_service.py +0 -0
  195. {zou-0.19.63 → zou-0.19.65}/zou/app/services/custom_actions_service.py +0 -0
  196. {zou-0.19.63 → zou-0.19.65}/zou/app/services/deletion_service.py +0 -0
  197. {zou-0.19.63 → zou-0.19.65}/zou/app/services/edits_service.py +0 -0
  198. {zou-0.19.63 → zou-0.19.65}/zou/app/services/emails_service.py +0 -0
  199. {zou-0.19.63 → zou-0.19.65}/zou/app/services/entities_service.py +0 -0
  200. {zou-0.19.63 → zou-0.19.65}/zou/app/services/events_service.py +0 -0
  201. {zou-0.19.63 → zou-0.19.65}/zou/app/services/exception.py +0 -0
  202. {zou-0.19.63 → zou-0.19.65}/zou/app/services/file_tree_service.py +0 -0
  203. {zou-0.19.63 → zou-0.19.65}/zou/app/services/files_service.py +0 -0
  204. {zou-0.19.63 → zou-0.19.65}/zou/app/services/index_service.py +0 -0
  205. {zou-0.19.63 → zou-0.19.65}/zou/app/services/names_service.py +0 -0
  206. {zou-0.19.63 → zou-0.19.65}/zou/app/services/notifications_service.py +0 -0
  207. {zou-0.19.63 → zou-0.19.65}/zou/app/services/persons_service.py +0 -0
  208. {zou-0.19.63 → zou-0.19.65}/zou/app/services/playlists_service.py +0 -0
  209. {zou-0.19.63 → zou-0.19.65}/zou/app/services/preview_files_service.py +0 -0
  210. {zou-0.19.63 → zou-0.19.65}/zou/app/services/projects_service.py +0 -0
  211. {zou-0.19.63 → zou-0.19.65}/zou/app/services/scenes_service.py +0 -0
  212. {zou-0.19.63 → zou-0.19.65}/zou/app/services/schedule_service.py +0 -0
  213. {zou-0.19.63 → zou-0.19.65}/zou/app/services/shots_service.py +0 -0
  214. {zou-0.19.63 → zou-0.19.65}/zou/app/services/stats_service.py +0 -0
  215. {zou-0.19.63 → zou-0.19.65}/zou/app/services/status_automations_service.py +0 -0
  216. {zou-0.19.63 → zou-0.19.65}/zou/app/services/sync_service.py +0 -0
  217. {zou-0.19.63 → zou-0.19.65}/zou/app/services/tasks_service.py +0 -0
  218. {zou-0.19.63 → zou-0.19.65}/zou/app/services/telemetry_services.py +0 -0
  219. {zou-0.19.63 → zou-0.19.65}/zou/app/services/time_spents_service.py +0 -0
  220. {zou-0.19.63 → zou-0.19.65}/zou/app/services/user_service.py +0 -0
  221. {zou-0.19.63 → zou-0.19.65}/zou/app/stores/__init__.py +0 -0
  222. {zou-0.19.63 → zou-0.19.65}/zou/app/stores/auth_tokens_store.py +0 -0
  223. {zou-0.19.63 → zou-0.19.65}/zou/app/stores/file_store.py +0 -0
  224. {zou-0.19.63 → zou-0.19.65}/zou/app/stores/publisher_store.py +0 -0
  225. {zou-0.19.63 → zou-0.19.65}/zou/app/stores/queue_store.py +0 -0
  226. {zou-0.19.63 → zou-0.19.65}/zou/app/swagger.py +0 -0
  227. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/__init__.py +0 -0
  228. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/api.py +0 -0
  229. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/auth.py +0 -0
  230. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/cache.py +0 -0
  231. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/chats.py +0 -0
  232. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/colors.py +0 -0
  233. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/commands.py +0 -0
  234. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/csv_utils.py +0 -0
  235. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/date_helpers.py +0 -0
  236. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/dbhelpers.py +0 -0
  237. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/emails.py +0 -0
  238. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/env.py +0 -0
  239. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/events.py +0 -0
  240. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/fido.py +0 -0
  241. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/fields.py +0 -0
  242. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/flask.py +0 -0
  243. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/fs.py +0 -0
  244. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/git.py +0 -0
  245. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/logs.py +0 -0
  246. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/monitoring.py +0 -0
  247. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/permissions.py +0 -0
  248. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/query.py +0 -0
  249. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/remote_job.py +0 -0
  250. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/saml.py +0 -0
  251. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/shell.py +0 -0
  252. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/string.py +0 -0
  253. {zou-0.19.63 → zou-0.19.65}/zou/app/utils/thumbnail.py +0 -0
  254. {zou-0.19.63 → zou-0.19.65}/zou/cli.py +0 -0
  255. {zou-0.19.63 → zou-0.19.65}/zou/debug.py +0 -0
  256. {zou-0.19.63 → zou-0.19.65}/zou/event_stream.py +0 -0
  257. {zou-0.19.63 → zou-0.19.65}/zou/job_settings.py +0 -0
  258. {zou-0.19.63 → zou-0.19.65}/zou/migrations/README +0 -0
  259. {zou-0.19.63 → zou-0.19.65}/zou/migrations/__init__.py +0 -0
  260. {zou-0.19.63 → zou-0.19.65}/zou/migrations/alembic.ini +0 -0
  261. {zou-0.19.63 → zou-0.19.65}/zou/migrations/env.py +0 -0
  262. {zou-0.19.63 → zou-0.19.65}/zou/migrations/script.py.mako +0 -0
  263. {zou-0.19.63 → zou-0.19.65}/zou/migrations/utils/__init__.py +0 -0
  264. {zou-0.19.63 → zou-0.19.65}/zou/migrations/utils/base.py +0 -0
  265. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/003be8a91001_add_start_and_end_dates_to_projects.py +0 -0
  266. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/0596674df51d_add_department_mentions_to_comments.py +0 -0
  267. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/05ac7e8caa21_remove_unique_constraint_for_taskstatus_.py +0 -0
  268. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/05b7dc79a416_add_archived_fields_to_main_tables.py +0 -0
  269. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/0cf5e0e035fa_drop_column_tasktype_for_shots.py +0 -0
  270. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/0ec3762a745d_add_attachment_table.py +0 -0
  271. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/0ef6416a507b_.py +0 -0
  272. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/10cf267d95c9_fix_schedule_item.py +0 -0
  273. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/16328eae4b5f_add_new_constraint_for_timespent.py +0 -0
  274. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/16df47d76c64_add_some_indexes.py +0 -0
  275. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/17ef8f7be758_disallow_null_choicetype.py +0 -0
  276. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/1bb55759146f_add_table_studio.py +0 -0
  277. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/1cb44194db49_add_file_size_field_to_preview_file.py +0 -0
  278. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/1e150c2cea4d_add_nb_entities_out.py +0 -0
  279. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/1e2d77a2f0c4_add_hd_by_default_column.py +0 -0
  280. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/1fab8c420678_add_attachments_to_message_chats.py +0 -0
  281. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/20dfeb36142b_add_projecttaskstatuslink_roles_for_.py +0 -0
  282. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/23122f290ca2_add_entity_chat_models.py +0 -0
  283. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/269d41bfb73f_add_entity_entity_links.py +0 -0
  284. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/29df910f04a4_create_unique_constraint_project_id_.py +0 -0
  285. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/29fe01a6c9eb_add_status_automation_field.py +0 -0
  286. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/2adc020885fa_.py +0 -0
  287. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/2baede80b111_add_entity_status_field.py +0 -0
  288. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/306266361f4f_.py +0 -0
  289. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/328fd44c6347_add_entity_created_by.py +0 -0
  290. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/32f134ff1201_add_is_shared_flag_to_filters.py +0 -0
  291. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/346250b5304c_add_position_to_preview_files.py +0 -0
  292. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/3476e147e632_add_acks_to_comments.py +0 -0
  293. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/389cfb9de776_.py +0 -0
  294. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/38baa9a23b3d_.py +0 -0
  295. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/398150912a3f_validation_status_preview.py +0 -0
  296. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/3b0d1321079e_.py +0 -0
  297. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/3d5c93bafb9d_.py +0 -0
  298. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/3e0538ddf80f_.py +0 -0
  299. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/3fee3bd10f9d_.py +0 -0
  300. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/4095103c7d01_add_is_clients_isolated_flag_to_projects.py +0 -0
  301. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/40dea9555940_.py +0 -0
  302. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/42ec83db6a01_change_person_preferred_two_factor_.py +0 -0
  303. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/43d0cf0ed5e7_.py +0 -0
  304. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/443d1e78a932_.py +0 -0
  305. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/45c2de366e66_.py +0 -0
  306. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/45dafbb3f4e1_for_person_contract_type_disallow_null.py +0 -0
  307. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/4715c2586036_add_last_preview_file_fields.py +0 -0
  308. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/4e3738cdc34c_.py +0 -0
  309. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/4f2398ebcd49_.py +0 -0
  310. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/523ee9647bee_.py +0 -0
  311. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/54ee0d1d60ba_add_build_job_model.py +0 -0
  312. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/556526e47daa_.py +0 -0
  313. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/57222395f2be_add_statusautomation_import_last_revision.py +0 -0
  314. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5798d2c9020b_change_person_role_to_choicetype.py +0 -0
  315. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/590aa1ffe731_add_notifications_enabled_flag.py +0 -0
  316. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/59a7445a966c_add_entity_is_shared.py +0 -0
  317. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5a291251823c_add_max_retake_parameter.py +0 -0
  318. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5ab9d7a75887_.py +0 -0
  319. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5b0fcbb94f24_.py +0 -0
  320. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5b7fa3e51701_add_is_client_allowed_flag_to_task_.py +0 -0
  321. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5b980f0dc365_add_comment_links.py +0 -0
  322. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5b9fd9ddfe43_add_homepage_and_contract_fields.py +0 -0
  323. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5c0498e264bc_add_slack_fields.py +0 -0
  324. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/5e2ce62632a6_add_workflow_to_project.py +0 -0
  325. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/680c64565f9d_for_searchfiltergroup_is_shared.py +0 -0
  326. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/693cc511d28d_add_taskstatus_priority.py +0 -0
  327. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/6aa446ee4072_add_is_for_all_flage_to_playlists.py +0 -0
  328. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/6bd3b102d61b_.py +0 -0
  329. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/6c597e842afa_add_task_type_field_to_playlists.py +0 -0
  330. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/6d1b2c60f58b_add_milestone_model.py +0 -0
  331. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/6d7fa5a8e9a5_add_timesheets_locked_field_to_org.py +0 -0
  332. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/6eeaff945706_add_data_field_on_entity_links.py +0 -0
  333. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/6f6049877105_.py +0 -0
  334. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/7417c8eb70d8_add_for_entity_field_to_playlists.py +0 -0
  335. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/772a5e43f05b_.py +0 -0
  336. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/7748d3d22925_add_columns_to_searchfilter_table_to_.py +0 -0
  337. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/77d6820f494f_add_reply_to_notif.py +0 -0
  338. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/7b1f765677d8_.py +0 -0
  339. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/7bc746997e8d_add_slack_token_field_to_organisation.py +0 -0
  340. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/7dc79d4ed7cd_.py +0 -0
  341. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/818f7bda2528_.py +0 -0
  342. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/82e7f7a95e84_add_project_id_to_events.py +0 -0
  343. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/82ee682204ab_add_is_generated_from_ldap_column_to_.py +0 -0
  344. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/8588f254d6b8_add_archived_fields.py +0 -0
  345. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/8739ae9fa28b_add_for_client_field.py +0 -0
  346. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/87efceb6745b_add_ready_for_to_entity.py +0 -0
  347. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/892b264937ec_.py +0 -0
  348. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/8a1b4a1b7f4a_add_totp_columns_for_person.py +0 -0
  349. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/8e4f39e321f4_add_day_off_table.py +0 -0
  350. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/8e67c183bed7_add_preference_fields.py +0 -0
  351. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/8fbd40afbe5f_allow_to_set_float_values_for_.py +0 -0
  352. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9010a64e5a2d_add_indices.py +0 -0
  353. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9060dd4f6116_notification_uc.py +0 -0
  354. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/925771029620_.py +0 -0
  355. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/92b40d79ad3f_allow_message_attachments.py +0 -0
  356. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/92bdfe07e5f5_discord_integration.py +0 -0
  357. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/956659992419_add_columns_for_person_to_store_fido_.py +0 -0
  358. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/96c79d31e648_add_mail_otp_columns_for_person.py +0 -0
  359. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/96f58a4a2a58_person_partial_index_for_email_only_.py +0 -0
  360. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/971dbf5a0faf_add_short_name_for_asset_type_entity_.py +0 -0
  361. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/98c90621cf58_add_for_client_flag_to_playlist.py +0 -0
  362. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/99825b9cc778_.py +0 -0
  363. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9a09467f9b2c_.py +0 -0
  364. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9b85c14fa8a7_add_day_off_new_columns.py +0 -0
  365. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9bd17364fc18_.py +0 -0
  366. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9d3bb33c6fc6_add_department_keys_to_filter_models.py +0 -0
  367. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9e5b3a9b0cee_add_new_column_metadatadescriptor_data_type_.py +0 -0
  368. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/9f8445f9b42c_add_man_days_fields.py +0 -0
  369. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/a23682ccc1f1_.py +0 -0
  370. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/a252a094e977_add_descriptions_for_entities_tasks_and_.py +0 -0
  371. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/a519c710877c_.py +0 -0
  372. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/a65bdadbae2f_.py +0 -0
  373. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/a66508788c53_add_nb_assets_ready.py +0 -0
  374. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/a6c25eed3ea1_add_login_failed_attemps_and_last_login_.py +0 -0
  375. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/a7c43f3fbc76_add_duration_column_to_the_preview_file.py +0 -0
  376. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/aa0a60033106_feedback_request.py +0 -0
  377. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/addbbefa7028_add_departments_link_to_metadata_.py +0 -0
  378. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/ae0127f2fc56_add_previewfile_width_and_previewfile_.py +0 -0
  379. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/af1790868e2c_.py +0 -0
  380. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/b45cb782bb9c_.py +0 -0
  381. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/b4dd0add5f79_.py +0 -0
  382. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/b8c0a0f9d054_drop_task_status_is_reviewable.py +0 -0
  383. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/b8ed0fb263f8_add_person_jti_and_jti_expiration_date.py +0 -0
  384. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/b97a71306fc8_add_is_casting_standby_column_to_entity.py +0 -0
  385. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/be56dc0fb760_for_is_shared_disallow_nullable.py +0 -0
  386. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/bf1347acdee2_.py +0 -0
  387. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/c49e41f1298b_add_previewbackground.py +0 -0
  388. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/c68c2a62cfac_add_mimetype_column_to_attachment.py +0 -0
  389. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/c726b98be194_.py +0 -0
  390. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/c81f3e83bdb5_.py +0 -0
  391. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/ca28796a2a62_add_is_done_field_to_the_task_model.py +0 -0
  392. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/cf3d365de164_add_entity_version_model.py +0 -0
  393. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/cf6cec6d6bf5_add_status_field_to_preview_file.py +0 -0
  394. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/d80267806131_task_status_new_column_is_default.py +0 -0
  395. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/d8dcd5196d57_add_casting_label.py +0 -0
  396. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/de8a3de227ef_.py +0 -0
  397. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/deeacd38d373_for_projecttaskstatuslink_set_default_.py +0 -0
  398. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/df1834485f57_.py +0 -0
  399. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/df9f8a147e80_change_file_size_to_big_integer.py +0 -0
  400. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/e1ef93f40d3d_.py +0 -0
  401. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/e29638428dfd_add_schedule_item_table.py +0 -0
  402. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/e3f6db74cc1e_.py +0 -0
  403. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/e839d6603c09_add_person_id_to_shot_history.py +0 -0
  404. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/ee2373fbe3a4_.py +0 -0
  405. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f0567e8d0c62_.py +0 -0
  406. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f0c6cbb61869_add_production_style_field.py +0 -0
  407. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f344b867a911_for_description_of_entity_task_working_.py +0 -0
  408. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f4ff5a73d283_add_person_ldap_uid.py +0 -0
  409. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f5b113876a49_add_preferred_two_factor_authentication_.py +0 -0
  410. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f5bdca075cdc_add_preview_download_flag_to_projects.py +0 -0
  411. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f874ad5e898a_add_link_entity_type_task_type.py +0 -0
  412. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/f995b28fb749_.py +0 -0
  413. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/fb6b6f188497_.py +0 -0
  414. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/fb87feaaa094_add_missing_unique_constraints.py +0 -0
  415. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/fc322f908695_.py +0 -0
  416. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/fee7c696166e_.py +0 -0
  417. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/feffd3c5b806_introduce_concepts.py +0 -0
  418. {zou-0.19.63 → zou-0.19.65}/zou/migrations/versions/ffeed4956ab1_add_more_details_to_projects.py +0 -0
  419. {zou-0.19.63 → zou-0.19.65}/zou/remote/__init__.py +0 -0
  420. {zou-0.19.63 → zou-0.19.65}/zou/remote/config_payload.py +0 -0
  421. {zou-0.19.63 → zou-0.19.65}/zou/remote/normalize_movie.py +0 -0
  422. {zou-0.19.63 → zou-0.19.65}/zou/remote/playlist.py +0 -0
  423. {zou-0.19.63 → zou-0.19.65}/zou/utils/__init__.py +0 -0
  424. {zou-0.19.63 → zou-0.19.65}/zou/utils/movie.py +0 -0
  425. {zou-0.19.63 → zou-0.19.65}/zou.egg-info/SOURCES.txt +0 -0
  426. {zou-0.19.63 → zou-0.19.65}/zou.egg-info/dependency_links.txt +0 -0
  427. {zou-0.19.63 → zou-0.19.65}/zou.egg-info/entry_points.txt +0 -0
  428. {zou-0.19.63 → zou-0.19.65}/zou.egg-info/not-zip-safe +0 -0
  429. {zou-0.19.63 → zou-0.19.65}/zou.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zou
3
- Version: 0.19.63
3
+ Version: 0.19.65
4
4
  Summary: API to store and manage the data of your animation production
5
5
  Home-page: https://zou.cg-wire.com
6
6
  Author: CG Wire
@@ -41,7 +41,7 @@ Requires-Dist: flask-socketio==5.4.1
41
41
  Requires-Dist: flask==3.0.3
42
42
  Requires-Dist: gazu==0.10.16
43
43
  Requires-Dist: gevent-websocket==0.10.1
44
- Requires-Dist: gevent==24.10.3
44
+ Requires-Dist: gevent==24.11.1
45
45
  Requires-Dist: gunicorn==23.0.0
46
46
  Requires-Dist: isoweek==1.3.3
47
47
  Requires-Dist: itsdangerous==2.2.0
@@ -50,11 +50,11 @@ Requires-Dist: ldap3==2.9.1
50
50
  Requires-Dist: matterhook==0.2
51
51
  Requires-Dist: meilisearch==0.31.6
52
52
  Requires-Dist: numpy==2.0.1; python_version == "3.9"
53
- Requires-Dist: numpy==2.1.2; python_version >= "3.10"
53
+ Requires-Dist: numpy==2.1.3; python_version >= "3.10"
54
54
  Requires-Dist: opencv-python==4.10.0.84
55
55
  Requires-Dist: OpenTimelineIO==0.17.0
56
56
  Requires-Dist: OpenTimelineIO-Plugins==0.17.0
57
- Requires-Dist: orjson==3.10.10
57
+ Requires-Dist: orjson==3.10.11
58
58
  Requires-Dist: pillow==11.0.0
59
59
  Requires-Dist: psutil==6.1.0
60
60
  Requires-Dist: psycopg[binary]==3.2.3
@@ -80,12 +80,12 @@ Requires-Dist: wheel; extra == "dev"
80
80
  Provides-Extra: test
81
81
  Requires-Dist: fakeredis==2.26.1; extra == "test"
82
82
  Requires-Dist: mixer==7.2.2; extra == "test"
83
- Requires-Dist: pytest-cov==5.0.0; extra == "test"
83
+ Requires-Dist: pytest-cov==6.0.0; extra == "test"
84
84
  Requires-Dist: pytest==8.3.3; extra == "test"
85
85
  Provides-Extra: monitoring
86
86
  Requires-Dist: prometheus-flask-exporter==0.23.1; extra == "monitoring"
87
87
  Requires-Dist: pygelf==0.4.2; extra == "monitoring"
88
- Requires-Dist: sentry-sdk==2.17.0; extra == "monitoring"
88
+ Requires-Dist: sentry-sdk==2.18.0; extra == "monitoring"
89
89
  Provides-Extra: lint
90
90
  Requires-Dist: autoflake==2.3.1; extra == "lint"
91
91
  Requires-Dist: black==24.10.0; extra == "lint"
@@ -47,7 +47,7 @@ install_requires =
47
47
  flask==3.0.3
48
48
  gazu==0.10.16
49
49
  gevent-websocket==0.10.1
50
- gevent==24.10.3
50
+ gevent==24.11.1
51
51
  gunicorn==23.0.0
52
52
  isoweek==1.3.3
53
53
  itsdangerous==2.2.0
@@ -56,11 +56,11 @@ install_requires =
56
56
  matterhook==0.2
57
57
  meilisearch==0.31.6
58
58
  numpy==2.0.1; python_version == '3.9'
59
- numpy==2.1.2; python_version >= '3.10'
59
+ numpy==2.1.3; python_version >= '3.10'
60
60
  opencv-python==4.10.0.84
61
61
  OpenTimelineIO==0.17.0
62
62
  OpenTimelineIO-Plugins==0.17.0
63
- orjson==3.10.10
63
+ orjson==3.10.11
64
64
  pillow==11.0.0
65
65
  psutil==6.1.0
66
66
  psycopg[binary]==3.2.3
@@ -94,12 +94,12 @@ dev =
94
94
  test =
95
95
  fakeredis==2.26.1
96
96
  mixer==7.2.2
97
- pytest-cov==5.0.0
97
+ pytest-cov==6.0.0
98
98
  pytest==8.3.3
99
99
  monitoring =
100
100
  prometheus-flask-exporter==0.23.1
101
101
  pygelf==0.4.2
102
- sentry-sdk==2.17.0
102
+ sentry-sdk==2.18.0
103
103
  lint =
104
104
  autoflake==2.3.1
105
105
  black==24.10.0
@@ -0,0 +1 @@
1
+ __version__ = "0.19.65"
@@ -127,7 +127,7 @@ class BaseModelsResource(Resource, ArgsMixin):
127
127
 
128
128
  return query
129
129
 
130
- def check_read_permissions(self):
130
+ def check_read_permissions(self, options=None):
131
131
  return permissions.check_admin_permissions()
132
132
 
133
133
  def add_project_permission_filter(self, query):
@@ -165,13 +165,14 @@ class BaseModelsResource(Resource, ArgsMixin):
165
165
  description: Permission denied
166
166
  """
167
167
  try:
168
- self.check_read_permissions()
169
168
  query = self.model.query
170
169
  if not request.args:
170
+ self.check_read_permissions()
171
171
  query = self.add_project_permission_filter(query)
172
172
  return self.all_entries(query)
173
173
  else:
174
174
  options = request.args
175
+ self.check_read_permissions(options)
175
176
  query = self.apply_filters(query, options)
176
177
  query = self.add_project_permission_filter(query)
177
178
  page = int(options.get("page", "-1"))
@@ -28,6 +28,19 @@ class CommentsResource(BaseModelsResource):
28
28
  def __init__(self):
29
29
  BaseModelsResource.__init__(self, Comment)
30
30
 
31
+ def check_read_permissions(self, options=None):
32
+ if options is not None:
33
+ if "project_id" in options:
34
+ user_service.check_project_access(options["project_id"])
35
+ if (
36
+ permissions.has_vendor_permissions()
37
+ or permissions.has_client_permissions()
38
+ ):
39
+ raise permissions.PermissionDenied
40
+ else:
41
+ return True
42
+ return permissions.check_admin_permissions()
43
+
31
44
 
32
45
  class CommentResource(BaseModelResource):
33
46
  def __init__(self):
@@ -9,7 +9,7 @@ class CustomActionsResource(BaseModelsResource):
9
9
  def __init__(self):
10
10
  BaseModelsResource.__init__(self, CustomAction)
11
11
 
12
- def check_read_permissions(self):
12
+ def check_read_permissions(self, options=None):
13
13
  user_service.block_access_to_vendor()
14
14
  return True
15
15
 
@@ -9,7 +9,7 @@ class DepartmentsResource(BaseModelsResource):
9
9
  def __init__(self):
10
10
  BaseModelsResource.__init__(self, Department)
11
11
 
12
- def check_read_permissions(self):
12
+ def check_read_permissions(self, options=None):
13
13
  return True
14
14
 
15
15
  def post_creation(self, instance):
@@ -61,7 +61,7 @@ class EntitiesResource(BaseModelsResource, EntityEventMixin):
61
61
  def emit_create_event(self, entity_dict):
62
62
  self.emit_event("new", entity_dict)
63
63
 
64
- def check_read_permissions(self):
64
+ def check_read_permissions(self, options=None):
65
65
  return True
66
66
 
67
67
  def add_project_permission_filter(self, query):
@@ -20,7 +20,7 @@ class EntityTypesResource(BaseModelsResource):
20
20
  for asset_type in query.all()
21
21
  ]
22
22
 
23
- def check_read_permissions(self):
23
+ def check_read_permissions(self, options=None):
24
24
  return True
25
25
 
26
26
  def emit_create_event(self, instance_dict):
@@ -6,7 +6,7 @@ class FileStatusesResource(BaseModelsResource):
6
6
  def __init__(self):
7
7
  BaseModelsResource.__init__(self, FileStatus)
8
8
 
9
- def check_read_permissions(self):
9
+ def check_read_permissions(self, options=None):
10
10
  return True
11
11
 
12
12
 
@@ -6,6 +6,7 @@ from zou.app.models.metadata_descriptor import (
6
6
  from zou.app.blueprints.crud.base import BaseModelResource, BaseModelsResource
7
7
  from zou.app.utils import permissions
8
8
  from zou.app.models.project import Project
9
+ from zou.app.services import user_service
9
10
 
10
11
  from zou.app.services.exception import (
11
12
  WrongParameterException,
@@ -16,7 +17,7 @@ class MetadataDescriptorsResource(BaseModelsResource):
16
17
  def __init__(self):
17
18
  BaseModelsResource.__init__(self, MetadataDescriptor)
18
19
 
19
- def check_read_permissions(self):
20
+ def check_read_permissions(self, options=None):
20
21
  return not permissions.has_vendor_permissions()
21
22
 
22
23
  def add_project_permission_filter(self, query):
@@ -8,7 +8,7 @@ class OrganisationsResource(BaseModelsResource):
8
8
  def __init__(self):
9
9
  BaseModelsResource.__init__(self, Organisation)
10
10
 
11
- def check_read_permissions(self):
11
+ def check_read_permissions(self, options=None):
12
12
  return True
13
13
 
14
14
 
@@ -17,7 +17,7 @@ class OutputFilesResource(BaseModelsResource):
17
17
  def __init__(self):
18
18
  BaseModelsResource.__init__(self, OutputFile)
19
19
 
20
- def check_read_permissions(self):
20
+ def check_read_permissions(self, options=None):
21
21
  user_service.block_access_to_vendor()
22
22
  return True
23
23
 
@@ -12,7 +12,7 @@ class OutputTypesResource(BaseModelsResource):
12
12
  def __init__(self):
13
13
  BaseModelsResource.__init__(self, OutputType)
14
14
 
15
- def check_read_permissions(self):
15
+ def check_read_permissions(self, options=None):
16
16
  return True
17
17
 
18
18
 
@@ -52,7 +52,7 @@ class PersonsResource(BaseModelsResource):
52
52
  for person in query.all()
53
53
  ]
54
54
 
55
- def check_read_permissions(self):
55
+ def check_read_permissions(self, options=None):
56
56
  return True
57
57
 
58
58
  def check_create_permissions(self, data):
@@ -9,7 +9,7 @@ class PlaylistsResource(BaseModelsResource):
9
9
  def __init__(self):
10
10
  BaseModelsResource.__init__(self, Playlist)
11
11
 
12
- def check_read_permissions(self):
12
+ def check_read_permissions(self, options=None):
13
13
  return True
14
14
 
15
15
  def check_create_permissions(self, playlist):
@@ -9,7 +9,7 @@ class PreviewBackgroundFilesResource(BaseModelsResource):
9
9
  def __init__(self):
10
10
  BaseModelsResource.__init__(self, PreviewBackgroundFile)
11
11
 
12
- def check_read_permissions(self):
12
+ def check_read_permissions(self, options=None):
13
13
  return True
14
14
 
15
15
  def update_data(self, data):
@@ -37,7 +37,7 @@ class PreviewFilesResource(BaseModelsResource):
37
37
 
38
38
  return query
39
39
 
40
- def check_read_permissions(self):
40
+ def check_read_permissions(self, options=None):
41
41
  return True
42
42
 
43
43
 
@@ -31,7 +31,7 @@ class ProjectsResource(BaseModelsResource):
31
31
  else:
32
32
  return query.filter(user_service.build_related_projects_filter())
33
33
 
34
- def check_read_permissions(self):
34
+ def check_read_permissions(self, options=None):
35
35
  return True
36
36
 
37
37
  def check_creation_integrity(self, data):
@@ -6,7 +6,7 @@ class ProjectStatussResource(BaseModelsResource):
6
6
  def __init__(self):
7
7
  BaseModelsResource.__init__(self, ProjectStatus)
8
8
 
9
- def check_read_permissions(self):
9
+ def check_read_permissions(self, options=None):
10
10
  return True
11
11
 
12
12
 
@@ -12,7 +12,7 @@ class SoftwaresResource(BaseModelsResource):
12
12
  def __init__(self):
13
13
  BaseModelsResource.__init__(self, Software)
14
14
 
15
- def check_read_permissions(self):
15
+ def check_read_permissions(self, options=None):
16
16
  return True
17
17
 
18
18
 
@@ -13,7 +13,7 @@ class StatusAutomationsResource(BaseModelsResource):
13
13
  def __init__(self):
14
14
  BaseModelsResource.__init__(self, StatusAutomation)
15
15
 
16
- def check_read_permissions(self):
16
+ def check_read_permissions(self, options=None):
17
17
  user_service.block_access_to_vendor()
18
18
  return True
19
19
 
@@ -9,7 +9,7 @@ class StudiosResource(BaseModelsResource):
9
9
  def __init__(self):
10
10
  BaseModelsResource.__init__(self, Studio)
11
11
 
12
- def check_read_permissions(self):
12
+ def check_read_permissions(self, options=None):
13
13
  return True
14
14
 
15
15
  def post_creation(self, instance):
@@ -28,7 +28,7 @@ class TasksResource(BaseModelsResource, ArgsMixin):
28
28
  def __init__(self):
29
29
  BaseModelsResource.__init__(self, Task)
30
30
 
31
- def check_read_permissions(self):
31
+ def check_read_permissions(self, options=None):
32
32
  return True
33
33
 
34
34
  def add_project_permission_filter(self, query):
@@ -7,7 +7,7 @@ class TaskStatusesResource(BaseModelsResource):
7
7
  def __init__(self):
8
8
  BaseModelsResource.__init__(self, TaskStatus)
9
9
 
10
- def check_read_permissions(self):
10
+ def check_read_permissions(self, options=None):
11
11
  return True
12
12
 
13
13
  def post_creation(self, instance):
@@ -9,7 +9,7 @@ class TaskTypesResource(BaseModelsResource):
9
9
  def __init__(self):
10
10
  BaseModelsResource.__init__(self, TaskType)
11
11
 
12
- def check_read_permissions(self):
12
+ def check_read_permissions(self, options=None):
13
13
  return True
14
14
 
15
15
  def update_data(self, data):
@@ -16,7 +16,7 @@ class WorkingFilesResource(BaseModelsResource):
16
16
  def __init__(self):
17
17
  BaseModelsResource.__init__(self, WorkingFile)
18
18
 
19
- def check_read_permissions(self):
19
+ def check_read_permissions(self, options=None):
20
20
  """
21
21
  Overriding so that people without admin credentials can still access
22
22
  this resource.
@@ -2,7 +2,12 @@ from flask_restful import Resource, inputs
2
2
  from flask_jwt_extended import jwt_required
3
3
 
4
4
  from zou.app.mixin import ArgsMixin
5
- from zou.app.services import news_service, projects_service, user_service
5
+ from zou.app.services import (
6
+ news_service,
7
+ projects_service,
8
+ user_service,
9
+ persons_service,
10
+ )
6
11
  from zou.app.services.exception import NewsNotFoundException
7
12
  from zou.app.utils import permissions
8
13
 
@@ -21,6 +26,8 @@ class NewsMixin(ArgsMixin):
21
26
  before,
22
27
  ) = self.get_arguments()
23
28
 
29
+ current_user = persons_service.get_current_user_raw()
30
+
24
31
  after = self.parse_date_parameter(after)
25
32
  before = self.parse_date_parameter(before)
26
33
  result = news_service.get_last_news_for_project(
@@ -34,6 +41,7 @@ class NewsMixin(ArgsMixin):
34
41
  page_size=page_size,
35
42
  after=after,
36
43
  before=before,
44
+ current_user=current_user,
37
45
  )
38
46
  stats = news_service.get_news_stats_for_project(
39
47
  project_ids=project_ids,
@@ -44,6 +52,7 @@ class NewsMixin(ArgsMixin):
44
52
  author_id=person_id,
45
53
  after=after,
46
54
  before=before,
55
+ current_user=current_user,
47
56
  )
48
57
  result["stats"] = stats
49
58
  return result
@@ -78,12 +78,24 @@ class SearchResource(Resource, ArgsMixin):
78
78
  query, limit=limit, offset=offset
79
79
  )
80
80
  if "assets" in index_names:
81
- results["assets"] = index_service.search_assets(
82
- query, project_ids, limit=limit, offset=offset
83
- )
81
+ if (
82
+ len(project_ids) == 0
83
+ and not permissions.has_admin_permissions()
84
+ ):
85
+ results["assets"] = []
86
+ else:
87
+ results["assets"] = index_service.search_assets(
88
+ query, project_ids, limit=limit, offset=offset
89
+ )
84
90
  if "shots" in index_names:
85
- results["shots"] = index_service.search_shots(
86
- query, project_ids, limit=limit, offset=offset
87
- )
91
+ if (
92
+ len(project_ids) == 0
93
+ and not permissions.has_admin_permissions()
94
+ ):
95
+ results["shots"] = []
96
+ else:
97
+ results["shots"] = index_service.search_shots(
98
+ query, project_ids, limit=limit, offset=offset
99
+ )
88
100
 
89
101
  return results
@@ -1518,7 +1518,6 @@ class ProjectCommentsResource(Resource, ArgsMixin):
1518
1518
  """
1519
1519
 
1520
1520
  @jwt_required()
1521
- @permissions.require_admin
1522
1521
  def get(self, project_id):
1523
1522
  """
1524
1523
  Retrieve all comments to tasks related to given project.
@@ -1538,6 +1537,12 @@ class ProjectCommentsResource(Resource, ArgsMixin):
1538
1537
  description: All comments to tasks related to given project
1539
1538
  """
1540
1539
  projects_service.get_project(project_id)
1540
+ user_service.check_project_access(project_id)
1541
+ if (
1542
+ permissions.has_vendor_permissions()
1543
+ or permissions.has_client_permissions()
1544
+ ):
1545
+ raise permissions.PermissionDenied
1541
1546
  page = self.get_page()
1542
1547
  return tasks_service.get_comments_for_project(project_id, page)
1543
1548
 
@@ -829,7 +829,9 @@ def _get_task_type_priority_map(project_id):
829
829
 
830
830
  def _is_asset_ready(asset, task, priority_map):
831
831
  is_ready = False
832
- if "ready_for" in asset and asset["ready_for"] is not None:
832
+ if asset["is_shared"] and asset["project_id"] != str(task.project_id):
833
+ is_ready = True
834
+ elif "ready_for" in asset and asset["ready_for"] is not None:
833
835
  priority_ready = priority_map.get(asset["ready_for"], -1) or -1
834
836
  priority_task = priority_map.get(str(task.task_type_id), 0) or 0
835
837
  is_ready = priority_task <= priority_ready
@@ -155,8 +155,8 @@ def create_chat_message(chat_id, person_id, message, files=None):
155
155
  "chat:new-message",
156
156
  data={
157
157
  "chat_id": chat_id,
158
- "chat_message_id": str(message.id),
159
- "last_message": chat.last_message,
158
+ "chat_message_id": serialized_message["id"],
159
+ "last_message": serialized_message["created_at"],
160
160
  },
161
161
  persist=False,
162
162
  )
@@ -96,6 +96,7 @@ def get_last_news_for_project(
96
96
  before=None,
97
97
  after=None,
98
98
  episode_id=None,
99
+ current_user=None,
99
100
  ):
100
101
  """
101
102
  Return last 50 news for given project. Add related information to make it
@@ -120,6 +121,9 @@ def get_last_news_for_project(
120
121
 
121
122
  if len(project_ids) > 0:
122
123
  query = query.filter(Project.id.in_(project_ids))
124
+ elif current_user is not None:
125
+ if current_user.role.code != "admin":
126
+ query = query.filter(Project.team.contains(current_user))
123
127
 
124
128
  if entity_id is not None:
125
129
  query = query.filter(Entity.id == entity_id)
@@ -239,6 +243,7 @@ def get_news_stats_for_project(
239
243
  author_id=None,
240
244
  before=None,
241
245
  after=None,
246
+ current_user=None,
242
247
  ):
243
248
  """
244
249
  Return the number of news by task status for given project and filters.
@@ -262,6 +267,9 @@ def get_news_stats_for_project(
262
267
 
263
268
  if len(project_ids) > 0:
264
269
  query = query.filter(Project.id.in_(project_ids))
270
+ elif current_user is not None:
271
+ if current_user.role.code != "admin":
272
+ query = query.filter(Project.team.contains(current_user))
265
273
 
266
274
  if task_status_id is not None:
267
275
  query = query.filter(Comment.task_status_id == task_status_id)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zou
3
- Version: 0.19.63
3
+ Version: 0.19.65
4
4
  Summary: API to store and manage the data of your animation production
5
5
  Home-page: https://zou.cg-wire.com
6
6
  Author: CG Wire
@@ -41,7 +41,7 @@ Requires-Dist: flask-socketio==5.4.1
41
41
  Requires-Dist: flask==3.0.3
42
42
  Requires-Dist: gazu==0.10.16
43
43
  Requires-Dist: gevent-websocket==0.10.1
44
- Requires-Dist: gevent==24.10.3
44
+ Requires-Dist: gevent==24.11.1
45
45
  Requires-Dist: gunicorn==23.0.0
46
46
  Requires-Dist: isoweek==1.3.3
47
47
  Requires-Dist: itsdangerous==2.2.0
@@ -50,11 +50,11 @@ Requires-Dist: ldap3==2.9.1
50
50
  Requires-Dist: matterhook==0.2
51
51
  Requires-Dist: meilisearch==0.31.6
52
52
  Requires-Dist: numpy==2.0.1; python_version == "3.9"
53
- Requires-Dist: numpy==2.1.2; python_version >= "3.10"
53
+ Requires-Dist: numpy==2.1.3; python_version >= "3.10"
54
54
  Requires-Dist: opencv-python==4.10.0.84
55
55
  Requires-Dist: OpenTimelineIO==0.17.0
56
56
  Requires-Dist: OpenTimelineIO-Plugins==0.17.0
57
- Requires-Dist: orjson==3.10.10
57
+ Requires-Dist: orjson==3.10.11
58
58
  Requires-Dist: pillow==11.0.0
59
59
  Requires-Dist: psutil==6.1.0
60
60
  Requires-Dist: psycopg[binary]==3.2.3
@@ -80,12 +80,12 @@ Requires-Dist: wheel; extra == "dev"
80
80
  Provides-Extra: test
81
81
  Requires-Dist: fakeredis==2.26.1; extra == "test"
82
82
  Requires-Dist: mixer==7.2.2; extra == "test"
83
- Requires-Dist: pytest-cov==5.0.0; extra == "test"
83
+ Requires-Dist: pytest-cov==6.0.0; extra == "test"
84
84
  Requires-Dist: pytest==8.3.3; extra == "test"
85
85
  Provides-Extra: monitoring
86
86
  Requires-Dist: prometheus-flask-exporter==0.23.1; extra == "monitoring"
87
87
  Requires-Dist: pygelf==0.4.2; extra == "monitoring"
88
- Requires-Dist: sentry-sdk==2.17.0; extra == "monitoring"
88
+ Requires-Dist: sentry-sdk==2.18.0; extra == "monitoring"
89
89
  Provides-Extra: lint
90
90
  Requires-Dist: autoflake==2.3.1; extra == "lint"
91
91
  Requires-Dist: black==24.10.0; extra == "lint"
@@ -19,7 +19,7 @@ flask-socketio==5.4.1
19
19
  flask==3.0.3
20
20
  gazu==0.10.16
21
21
  gevent-websocket==0.10.1
22
- gevent==24.10.3
22
+ gevent==24.11.1
23
23
  gunicorn==23.0.0
24
24
  isoweek==1.3.3
25
25
  itsdangerous==2.2.0
@@ -30,7 +30,7 @@ meilisearch==0.31.6
30
30
  opencv-python==4.10.0.84
31
31
  OpenTimelineIO==0.17.0
32
32
  OpenTimelineIO-Plugins==0.17.0
33
- orjson==3.10.10
33
+ orjson==3.10.11
34
34
  pillow==11.0.0
35
35
  psutil==6.1.0
36
36
  psycopg[binary]==3.2.3
@@ -53,7 +53,7 @@ werkzeug==3.0.6
53
53
  numpy==2.0.1
54
54
 
55
55
  [:python_version >= "3.10"]
56
- numpy==2.1.2
56
+ numpy==2.1.3
57
57
 
58
58
  [dev]
59
59
  wheel
@@ -66,7 +66,7 @@ pre-commit==4.0.1
66
66
  [monitoring]
67
67
  prometheus-flask-exporter==0.23.1
68
68
  pygelf==0.4.2
69
- sentry-sdk==2.17.0
69
+ sentry-sdk==2.18.0
70
70
 
71
71
  [prod]
72
72
  gunicorn
@@ -75,5 +75,5 @@ gevent
75
75
  [test]
76
76
  fakeredis==2.26.1
77
77
  mixer==7.2.2
78
- pytest-cov==5.0.0
78
+ pytest-cov==6.0.0
79
79
  pytest==8.3.3
@@ -1 +0,0 @@
1
- __version__ = "0.19.63"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes