geovisio 2.10.0__tar.gz → 2.11.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.
Files changed (453) hide show
  1. {geovisio-2.10.0 → geovisio-2.11.0}/.gitignore +0 -1
  2. {geovisio-2.10.0 → geovisio-2.11.0}/.gitlab-ci.yml +7 -0
  3. geovisio-2.11.0/.pre-commit-config.yaml +12 -0
  4. geovisio-2.11.0/.python-version +1 -0
  5. {geovisio-2.10.0 → geovisio-2.11.0}/CHANGELOG.md +27 -1
  6. {geovisio-2.10.0 → geovisio-2.11.0}/Dockerfile +1 -1
  7. {geovisio-2.10.0 → geovisio-2.11.0}/PKG-INFO +3 -2
  8. geovisio-2.11.0/bin/run_production_api.sh +5 -0
  9. {geovisio-2.10.0 → geovisio-2.11.0}/docker/docker-entrypoint.sh +1 -1
  10. {geovisio-2.10.0 → geovisio-2.11.0}/docs/api/open_api.json +355 -25
  11. {geovisio-2.10.0 → geovisio-2.11.0}/docs/dev/STAC_compatibility.md +4 -2
  12. {geovisio-2.10.0 → geovisio-2.11.0}/docs/dev/develop_server.md +14 -0
  13. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/cli.md +28 -0
  14. geovisio-2.11.0/docs/install/deep_dive/semantics.md +166 -0
  15. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/install.md +12 -0
  16. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/running.md +1 -2
  17. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/settings.md +20 -2
  18. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/tutorials/running_docker_keycloak.md +12 -3
  19. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/tutorials/running_docker_osm_auth.md +2 -0
  20. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/__init__.py +3 -1
  21. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/admin_cli/user.py +7 -2
  22. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/config_app.py +21 -7
  23. geovisio-2.11.0/geovisio/translations/be/LC_MESSAGES/messages.mo +0 -0
  24. geovisio-2.11.0/geovisio/translations/be/LC_MESSAGES/messages.po +886 -0
  25. geovisio-2.11.0/geovisio/translations/da/LC_MESSAGES/messages.mo +0 -0
  26. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/da/LC_MESSAGES/messages.po +96 -5
  27. geovisio-2.11.0/geovisio/translations/de/LC_MESSAGES/messages.mo +0 -0
  28. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/de/LC_MESSAGES/messages.po +171 -132
  29. geovisio-2.11.0/geovisio/translations/en/LC_MESSAGES/messages.mo +0 -0
  30. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/en/LC_MESSAGES/messages.po +169 -146
  31. geovisio-2.11.0/geovisio/translations/eo/LC_MESSAGES/messages.mo +0 -0
  32. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/eo/LC_MESSAGES/messages.po +3 -2
  33. geovisio-2.11.0/geovisio/translations/fr/LC_MESSAGES/messages.mo +0 -0
  34. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/fr/LC_MESSAGES/messages.po +3 -2
  35. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/it/LC_MESSAGES/messages.mo +0 -0
  36. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/it/LC_MESSAGES/messages.po +1 -1
  37. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/messages.pot +159 -138
  38. geovisio-2.11.0/geovisio/translations/nl/LC_MESSAGES/messages.mo +0 -0
  39. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/nl/LC_MESSAGES/messages.po +44 -2
  40. geovisio-2.11.0/geovisio/translations/oc/LC_MESSAGES/messages.mo +0 -0
  41. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/oc/LC_MESSAGES/messages.po +9 -6
  42. geovisio-2.11.0/geovisio/translations/pt/LC_MESSAGES/messages.mo +0 -0
  43. geovisio-2.11.0/geovisio/translations/pt/LC_MESSAGES/messages.po +944 -0
  44. geovisio-2.11.0/geovisio/translations/pt_BR/LC_MESSAGES/messages.mo +0 -0
  45. geovisio-2.11.0/geovisio/translations/pt_BR/LC_MESSAGES/messages.po +942 -0
  46. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/sv/LC_MESSAGES/messages.mo +0 -0
  47. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/sv/LC_MESSAGES/messages.po +1 -1
  48. geovisio-2.11.0/geovisio/translations/tr/LC_MESSAGES/messages.mo +0 -0
  49. geovisio-2.11.0/geovisio/translations/tr/LC_MESSAGES/messages.po +927 -0
  50. geovisio-2.11.0/geovisio/translations/uk/LC_MESSAGES/messages.mo +0 -0
  51. geovisio-2.11.0/geovisio/translations/uk/LC_MESSAGES/messages.po +920 -0
  52. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/annotations.py +7 -4
  53. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/auth.py +33 -0
  54. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/cql2.py +20 -3
  55. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/pictures.py +16 -18
  56. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/sequences.py +104 -75
  57. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/upload_set.py +20 -10
  58. geovisio-2.11.0/geovisio/utils/users.py +18 -0
  59. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/annotations.py +96 -3
  60. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/collections.py +169 -76
  61. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/configuration.py +12 -0
  62. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/docs.py +17 -3
  63. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/items.py +129 -72
  64. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/map.py +92 -54
  65. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/pages.py +48 -4
  66. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/params.py +56 -11
  67. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/pictures.py +3 -3
  68. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/prepare.py +4 -2
  69. geovisio-2.11.0/geovisio/web/queryables.py +57 -0
  70. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/stac.py +8 -2
  71. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/upload_set.py +83 -26
  72. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/users.py +85 -4
  73. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/utils.py +24 -6
  74. geovisio-2.11.0/migrations/20250902_01_k5UTq-visibility-status.rollback.sql +11 -0
  75. geovisio-2.11.0/migrations/20250902_01_k5UTq-visibility-status.sql +19 -0
  76. geovisio-2.11.0/migrations/20250904_01_3uVKX-visibility-functions.rollback.sql +20 -0
  77. geovisio-2.11.0/migrations/20250904_01_3uVKX-visibility-functions.sql +43 -0
  78. geovisio-2.11.0/migrations/20251110_01_bWEXo-report-visibility.rollback.sql +30 -0
  79. geovisio-2.11.0/migrations/20251110_01_bWEXo-report-visibility.sql +30 -0
  80. geovisio-2.11.0/migrations/20251124_01_0xdqi-page-updates.rollback.sql +6 -0
  81. geovisio-2.11.0/migrations/20251124_01_0xdqi-page-updates.sql +8 -0
  82. geovisio-2.11.0/migrations/20251127_01_S6Ci8-pictures-grid-visibility.rollback.sql +24 -0
  83. geovisio-2.11.0/migrations/20251127_01_S6Ci8-pictures-grid-visibility.sql +36 -0
  84. geovisio-2.11.0/migrations/20251202_01_Q3g59-pictures-grid-logged-only.rollback.sql +32 -0
  85. geovisio-2.11.0/migrations/20251202_01_Q3g59-pictures-grid-logged-only.sql +34 -0
  86. {geovisio-2.10.0 → geovisio-2.11.0}/mkdocs.yml +2 -1
  87. {geovisio-2.10.0 → geovisio-2.11.0}/pyproject.toml +2 -2
  88. {geovisio-2.10.0 → geovisio-2.11.0}/tests/conftest.py +70 -37
  89. {geovisio-2.10.0 → geovisio-2.11.0}/tests/fixed_data/test_many_semantics.py +9 -8
  90. {geovisio-2.10.0 → geovisio-2.11.0}/tests/fixed_data/test_many_sequences.py +3 -3
  91. geovisio-2.11.0/tests/fixed_data/test_visibility.py +474 -0
  92. {geovisio-2.10.0 → geovisio-2.11.0}/tests/fixed_data/test_web_collections_one_collection.py +15 -11
  93. {geovisio-2.10.0 → geovisio-2.11.0}/tests/integration/test_auth.py +12 -1
  94. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_annotations.py +5 -5
  95. geovisio-2.11.0/tests/test_utils_users.py +99 -0
  96. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_annotation.py +113 -3
  97. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_collections.py +189 -79
  98. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_configuration.py +16 -0
  99. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_items.py +162 -67
  100. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_map.py +348 -39
  101. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_pages.py +20 -0
  102. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_prepare.py +4 -4
  103. geovisio-2.11.0/tests/test_web_queryables.py +44 -0
  104. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_reports.py +52 -6
  105. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_upload_set.py +205 -7
  106. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_users.py +187 -5
  107. geovisio-2.11.0/uv.lock +3023 -0
  108. geovisio-2.10.0/.pre-commit-config.yaml +0 -5
  109. geovisio-2.10.0/bin/post_compile +0 -5
  110. geovisio-2.10.0/bin/run_production_api.sh +0 -11
  111. geovisio-2.10.0/geovisio/translations/da/LC_MESSAGES/messages.mo +0 -0
  112. geovisio-2.10.0/geovisio/translations/de/LC_MESSAGES/messages.mo +0 -0
  113. geovisio-2.10.0/geovisio/translations/en/LC_MESSAGES/messages.mo +0 -0
  114. geovisio-2.10.0/geovisio/translations/eo/LC_MESSAGES/messages.mo +0 -0
  115. geovisio-2.10.0/geovisio/translations/fr/LC_MESSAGES/messages.mo +0 -0
  116. geovisio-2.10.0/geovisio/translations/nl/LC_MESSAGES/messages.mo +0 -0
  117. geovisio-2.10.0/geovisio/translations/oc/LC_MESSAGES/messages.mo +0 -0
  118. geovisio-2.10.0/runtime.txt +0 -1
  119. {geovisio-2.10.0 → geovisio-2.11.0}/.dockerignore +0 -0
  120. {geovisio-2.10.0 → geovisio-2.11.0}/.flaskenv +0 -0
  121. {geovisio-2.10.0 → geovisio-2.11.0}/CODE_OF_CONDUCT.md +0 -0
  122. {geovisio-2.10.0 → geovisio-2.11.0}/LICENSE +0 -0
  123. {geovisio-2.10.0 → geovisio-2.11.0}/Makefile +0 -0
  124. {geovisio-2.10.0 → geovisio-2.11.0}/Procfile +0 -0
  125. {geovisio-2.10.0 → geovisio-2.11.0}/README.md +0 -0
  126. {geovisio-2.10.0 → geovisio-2.11.0}/babel.cfg +0 -0
  127. {geovisio-2.10.0 → geovisio-2.11.0}/docker/docker-compose-blurring.yml +0 -0
  128. {geovisio-2.10.0 → geovisio-2.11.0}/docker/docker-compose-full-linux.yml +0 -0
  129. {geovisio-2.10.0 → geovisio-2.11.0}/docker/docker-compose-full.yml +0 -0
  130. {geovisio-2.10.0 → geovisio-2.11.0}/docker/docker-compose-keycloak.yml +0 -0
  131. {geovisio-2.10.0 → geovisio-2.11.0}/docker/docker-compose-minio.yml +0 -0
  132. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/1-init-keycloak-db.sh +0 -0
  133. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/Dockerfile.keycloak +0 -0
  134. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/docker-compose.yml +0 -0
  135. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/env.example +0 -0
  136. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/keycloak-realm.json +0 -0
  137. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/nginx.conf +0 -0
  138. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/pictures_storage/.gitkeep +0 -0
  139. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-keycloak-auth/robots.txt +0 -0
  140. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-osm-auth/docker-compose.yml +0 -0
  141. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-osm-auth/env.example +0 -0
  142. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-osm-auth/nginx.conf +0 -0
  143. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-osm-auth/pictures_storage/.gitkeep +0 -0
  144. {geovisio-2.10.0 → geovisio-2.11.0}/docker/full-osm-auth/robots.txt +0 -0
  145. {geovisio-2.10.0 → geovisio-2.11.0}/docker/keycloak-realm.json +0 -0
  146. {geovisio-2.10.0 → geovisio-2.11.0}/docker-compose.yml +0 -0
  147. {geovisio-2.10.0 → geovisio-2.11.0}/docs/api/api.md +0 -0
  148. {geovisio-2.10.0 → geovisio-2.11.0}/docs/api/openapi.md +0 -0
  149. {geovisio-2.10.0 → geovisio-2.11.0}/docs/dev/releases.md +0 -0
  150. {geovisio-2.10.0 → geovisio-2.11.0}/docs/images/geovisio-architecture-simple.excalidraw +0 -0
  151. {geovisio-2.10.0 → geovisio-2.11.0}/docs/images/geovisio-architecture-simple.png +0 -0
  152. {geovisio-2.10.0 → geovisio-2.11.0}/docs/images/geovisio_authentication_flow.svg +0 -0
  153. {geovisio-2.10.0 → geovisio-2.11.0}/docs/index.md +0 -0
  154. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/database_setup.md +0 -0
  155. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/deep_dive/blur_api.md +0 -0
  156. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/deep_dive/excluded_areas.md +0 -0
  157. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/deep_dive/external_Identity_Providers.md +0 -0
  158. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/deep_dive/pictures_processing.md +0 -0
  159. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/tutorials/osm_oauth_client.png +0 -0
  160. {geovisio-2.10.0 → geovisio-2.11.0}/docs/install/update.md +0 -0
  161. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/admin_cli/__init__.py +0 -0
  162. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/admin_cli/cleanup.py +0 -0
  163. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/admin_cli/db.py +0 -0
  164. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/admin_cli/default_account_tokens.py +0 -0
  165. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/admin_cli/reorder_sequences.py +0 -0
  166. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/admin_cli/sequence_heading.py +0 -0
  167. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/db_migrations.py +0 -0
  168. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/errors.py +0 -0
  169. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/templates/main.html +0 -0
  170. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/templates/viewer.html +0 -0
  171. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ar/LC_MESSAGES/messages.mo +0 -0
  172. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ar/LC_MESSAGES/messages.po +0 -0
  173. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/br/LC_MESSAGES/messages.mo +0 -0
  174. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/br/LC_MESSAGES/messages.po +0 -0
  175. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/el/LC_MESSAGES/messages.mo +0 -0
  176. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/el/LC_MESSAGES/messages.po +0 -0
  177. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/es/LC_MESSAGES/messages.mo +0 -0
  178. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/es/LC_MESSAGES/messages.po +0 -0
  179. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/fi/LC_MESSAGES/messages.mo +0 -0
  180. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/fi/LC_MESSAGES/messages.po +0 -0
  181. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/hu/LC_MESSAGES/messages.mo +0 -0
  182. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/hu/LC_MESSAGES/messages.po +0 -0
  183. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ja/LC_MESSAGES/messages.mo +0 -0
  184. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ja/LC_MESSAGES/messages.po +0 -0
  185. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ko/LC_MESSAGES/messages.mo +0 -0
  186. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ko/LC_MESSAGES/messages.po +0 -0
  187. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/pl/LC_MESSAGES/messages.mo +0 -0
  188. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/pl/LC_MESSAGES/messages.po +0 -0
  189. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ti/LC_MESSAGES/messages.mo +0 -0
  190. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/ti/LC_MESSAGES/messages.po +0 -0
  191. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/zh_Hant/LC_MESSAGES/messages.mo +0 -0
  192. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/translations/zh_Hant/LC_MESSAGES/messages.po +0 -0
  193. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/__init__.py +0 -0
  194. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/db.py +0 -0
  195. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/excluded_areas.py +0 -0
  196. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/extent.py +0 -0
  197. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/fields.py +0 -0
  198. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/filesystems.py +0 -0
  199. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/items.py +0 -0
  200. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/link.py +0 -0
  201. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/loggers.py +0 -0
  202. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/model_query.py +0 -0
  203. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/params.py +0 -0
  204. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/pic_shape.py +0 -0
  205. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/reports.py +0 -0
  206. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/semantics.py +0 -0
  207. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/sentry.py +0 -0
  208. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/tags.py +0 -0
  209. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/time.py +0 -0
  210. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/tokens.py +0 -0
  211. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/utils/website.py +0 -0
  212. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/__init__.py +0 -0
  213. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/auth.py +0 -0
  214. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/excluded_areas.py +0 -0
  215. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/reports.py +0 -0
  216. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/rss.py +0 -0
  217. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/web/tokens.py +0 -0
  218. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/workers/__init__.py +0 -0
  219. {geovisio-2.10.0 → geovisio-2.11.0}/geovisio/workers/runner_pictures.py +0 -0
  220. {geovisio-2.10.0 → geovisio-2.11.0}/images/big_picture.png +0 -0
  221. {geovisio-2.10.0 → geovisio-2.11.0}/images/big_picture.svg +0 -0
  222. {geovisio-2.10.0 → geovisio-2.11.0}/images/favicon.ico +0 -0
  223. {geovisio-2.10.0 → geovisio-2.11.0}/images/favicon.svg +0 -0
  224. {geovisio-2.10.0 → geovisio-2.11.0}/images/logo.png +0 -0
  225. {geovisio-2.10.0 → geovisio-2.11.0}/images/logo.svg +0 -0
  226. {geovisio-2.10.0 → geovisio-2.11.0}/images/logo_full.png +0 -0
  227. {geovisio-2.10.0 → geovisio-2.11.0}/images/logo_full.svg +0 -0
  228. {geovisio-2.10.0 → geovisio-2.11.0}/images/sponsors.png +0 -0
  229. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20221201_01_wpCGc-initial-schema.rollback.sql +0 -0
  230. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20221201_01_wpCGc-initial-schema.sql +0 -0
  231. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20221201_02_ZG8AR-camera-information.py +0 -0
  232. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20221222_01_fsB6f-add-account.rollback.sql +0 -0
  233. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20221222_01_fsB6f-add-account.sql +0 -0
  234. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230113_01_0co97-rm-metadata-duplicates.rollback.sql +0 -0
  235. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230113_01_0co97-rm-metadata-duplicates.sql +0 -0
  236. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230116_01_9PkjZ-add-oauth-provider.rollback.sql +0 -0
  237. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230116_01_9PkjZ-add-oauth-provider.sql +0 -0
  238. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230117_01_K71Pd-pictures-ts-index.rollback.sql +0 -0
  239. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230117_01_K71Pd-pictures-ts-index.sql +0 -0
  240. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230130_01_VRIv2-sequences-account.rollback.sql +0 -0
  241. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230130_01_VRIv2-sequences-account.sql +0 -0
  242. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230324_01_ba9WA-status.rollback.sql +0 -0
  243. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230324_01_ba9WA-status.sql +0 -0
  244. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230324_02_efgI6-picture-process.rollback.sql +0 -0
  245. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230324_02_efgI6-picture-process.sql +0 -0
  246. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230407_01_wofh1-computed-headings.rollback.sql +0 -0
  247. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230407_01_wofh1-computed-headings.sql +0 -0
  248. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230417_01_ZgLMY-add-exif-metadata-column-for-pictures.rollback.sql +0 -0
  249. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230417_01_ZgLMY-add-exif-metadata-column-for-pictures.sql +0 -0
  250. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230420_01_elaN3-remove-picture-and-sequence-file-paths.rollback.sql +0 -0
  251. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230420_01_elaN3-remove-picture-and-sequence-file-paths.sql +0 -0
  252. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230425_01_gYP77-pictures-edits-triggers.rollback.sql +0 -0
  253. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230425_01_gYP77-pictures-edits-triggers.sql +0 -0
  254. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230427_01_k5e5w-timestamps.rollback.sql +0 -0
  255. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230427_01_k5e5w-timestamps.sql +0 -0
  256. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230511_01_TdpKo-tokens.rollback.sql +0 -0
  257. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230511_01_TdpKo-tokens.sql +0 -0
  258. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230615_01_u7aRf-pic-delete-cascade.rollback.sql +0 -0
  259. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230615_01_u7aRf-pic-delete-cascade.sql +0 -0
  260. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230623_01_y1SiQ-pic-deletion-task.rollback.sql +0 -0
  261. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230623_01_y1SiQ-pic-deletion-task.sql +0 -0
  262. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230629_01_ZdB3i-compute-heading-0.sql +0 -0
  263. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230711_01_JGSPB-inserted-at-index.rollback.sql +0 -0
  264. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230711_01_JGSPB-inserted-at-index.sql +0 -0
  265. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230720_01_EyQ0e-sequences-summary.rollback.sql +0 -0
  266. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230720_01_EyQ0e-sequences-summary.sql +0 -0
  267. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230803_01_aXusm-fix-sequence-computed.rollback.sql +0 -0
  268. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20230803_01_aXusm-fix-sequence-computed.sql +0 -0
  269. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231018_01_4G3YE-pictures-exiv2.rollback.sql +0 -0
  270. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231018_01_4G3YE-pictures-exiv2.sql +0 -0
  271. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231103_01_ZVKEm-update-seq-on-pic-change.rollback.sql +0 -0
  272. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231103_01_ZVKEm-update-seq-on-pic-change.sql +0 -0
  273. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231110_01_3p070-jobs-error.rollback.sql +0 -0
  274. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231110_01_3p070-jobs-error.sql +0 -0
  275. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231121_01_v6oBF-more-specific-triggers.rollback.sql +0 -0
  276. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231121_01_v6oBF-more-specific-triggers.sql +0 -0
  277. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231121_02_1uZXT-deleted-tag.rollback.sql +0 -0
  278. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20231121_02_1uZXT-deleted-tag.sql +0 -0
  279. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240115_01_FatLR-token-delete-cascade.rollback.sql +0 -0
  280. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240115_01_FatLR-token-delete-cascade.sql +0 -0
  281. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240220_01_9wZs0-sequence-current-sort.rollback.sql +0 -0
  282. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240220_01_9wZs0-sequence-current-sort.sql +0 -0
  283. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240223_01_LsMHB-remove-binary-fields.sql +0 -0
  284. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240226_01_8iXl1-track-changes.rollback.sql +0 -0
  285. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240226_01_8iXl1-track-changes.sql +0 -0
  286. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240229_01_SgfQY-sequence-geom-multi-linestring.rollback.sql +0 -0
  287. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240229_01_SgfQY-sequence-geom-multi-linestring.sql +0 -0
  288. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240308_01_aF0Jb-migrate-sequence-geom-multi-linestring.sql +0 -0
  289. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240409_01_jnhra-pictures-grid.rollback.sql +0 -0
  290. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240409_01_jnhra-pictures-grid.sql +0 -0
  291. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240416_01_FpyGs-pictures-stats-on-sequences.rollback.sql +0 -0
  292. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240416_01_FpyGs-pictures-stats-on-sequences.sql +0 -0
  293. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240416_02_A5KzC-fill-pictures-stats-on-sequences.rollback.sql +0 -0
  294. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240416_02_A5KzC-fill-pictures-stats-on-sequences.sql +0 -0
  295. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240507_01_eBfqZ-refresh-table.rollback.sql +0 -0
  296. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240507_01_eBfqZ-refresh-table.sql +0 -0
  297. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240507_02_dzVET-picture-grid-public.rollback.sql +0 -0
  298. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240507_02_dzVET-picture-grid-public.sql +0 -0
  299. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240514_01_IT7DD-picture-delete-cascade.rollback.sql +0 -0
  300. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240514_01_IT7DD-picture-delete-cascade.sql +0 -0
  301. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240611_01_jftHn-content-md5.rollback.sql +0 -0
  302. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240611_01_jftHn-content-md5.sql +0 -0
  303. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240612_01_yNcuE-upload-set.rollback.sql +0 -0
  304. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240612_01_yNcuE-upload-set.sql +0 -0
  305. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240617_01_tKtlx-md5-concurrent-index.rollback.sql +0 -0
  306. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240617_01_tKtlx-md5-concurrent-index.sql +0 -0
  307. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240625_01_XMZ24-fix-sequence-stat-on-pic-insertion.rollback.sql +0 -0
  308. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240625_01_XMZ24-fix-sequence-stat-on-pic-insertion.sql +0 -0
  309. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240708_01_Xn7IH-job-queue.rollback.sql +0 -0
  310. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240708_01_Xn7IH-job-queue.sql +0 -0
  311. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240715_01_Hca9V-upload-set-metadata.rollback.sql +0 -0
  312. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240715_01_Hca9V-upload-set-metadata.sql +0 -0
  313. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240723_01_ePGFe-upload-set-files.rollback.sql +0 -0
  314. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240723_01_ePGFe-upload-set-files.sql +0 -0
  315. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240729_01_HALjj-upload-set-sort.rollback.sql +0 -0
  316. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240729_01_HALjj-upload-set-sort.sql +0 -0
  317. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240730_01_2BaCy-improve-deletion-triggers.rollback.sql +0 -0
  318. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240730_01_2BaCy-improve-deletion-triggers.sql +0 -0
  319. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240730_02_aRymN-rejection-status.rollback.sql +0 -0
  320. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240730_02_aRymN-rejection-status.sql +0 -0
  321. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240801_01_DOqmf-reports.rollback.sql +0 -0
  322. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240801_01_DOqmf-reports.sql +0 -0
  323. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240801_01_uKqPo-remove-files-delete-cascade.rollback.sql +0 -0
  324. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240801_01_uKqPo-remove-files-delete-cascade.sql +0 -0
  325. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240813_01_T1XkO-sequences-geom-splits.rollback.sql +0 -0
  326. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240813_01_T1XkO-sequences-geom-splits.sql +0 -0
  327. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240820_01_aB2ZK-exclusion-zones.rollback.sql +0 -0
  328. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240820_01_aB2ZK-exclusion-zones.sql +0 -0
  329. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240902_01_MDqSj-user-agent.rollback.sql +0 -0
  330. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240902_01_MDqSj-user-agent.sql +0 -0
  331. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240904_01_gFjlV-files-rejection-msg.rollback.sql +0 -0
  332. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240904_01_gFjlV-files-rejection-msg.sql +0 -0
  333. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240905_01_C8F6U-conflicts.rollback.sql +0 -0
  334. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240905_01_C8F6U-conflicts.sql +0 -0
  335. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240905_01_E5Ki0-upload-set-delete.rollback.sql +0 -0
  336. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240905_01_E5Ki0-upload-set-delete.sql +0 -0
  337. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240909_01_Muc22-unique-grid-index.rollback.sql +0 -0
  338. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240909_01_Muc22-unique-grid-index.sql +0 -0
  339. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240912_01_dAALm-account-index.rollback.sql +0 -0
  340. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20240912_01_dAALm-account-index.sql +0 -0
  341. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241004_01_d1zfe-pictures-grid-360.rollback.sql +0 -0
  342. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241004_01_d1zfe-pictures-grid-360.sql +0 -0
  343. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241011_01_e1j5C-pic-quality.rollback.sql +0 -0
  344. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241011_01_e1j5C-pic-quality.sql +0 -0
  345. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241017_01_GuOjF-pic-quality-update.rollback.sql +0 -0
  346. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241017_01_GuOjF-pic-quality-update.sql +0 -0
  347. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241017_01_RiFlm-pictures-to-delete.rollback.sql +0 -0
  348. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241017_01_RiFlm-pictures-to-delete.sql +0 -0
  349. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241104_01_yhRVu-rejection-details.rollback.sql +0 -0
  350. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241104_01_yhRVu-rejection-details.sql +0 -0
  351. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241128_01_ugthx-job-queue-args.rollback.sql +0 -0
  352. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241128_01_ugthx-job-queue-args.sql +0 -0
  353. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241224_01_xuN6n-delete-upload-set-on-last-picture-trg-statement.rollback.sql +0 -0
  354. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20241224_01_xuN6n-delete-upload-set-on-last-picture-trg-statement.sql +0 -0
  355. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250102_01_EElhA-rm-cameras.rollback.sql +0 -0
  356. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250102_01_EElhA-rm-cameras.sql +0 -0
  357. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250107_01_EQN9v-tags-tables.rollback.sql +0 -0
  358. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250107_01_EQN9v-tags-tables.sql +0 -0
  359. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250109_01_4OOP4-pages.rollback.sql +0 -0
  360. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250109_01_4OOP4-pages.sql +0 -0
  361. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250114_01_ABaaL-collaborative-metadata-editing.rollback.sql +0 -0
  362. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250114_01_ABaaL-collaborative-metadata-editing.sql +0 -0
  363. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250123_01_Ececu-tos-acceptance.rollback.sql +0 -0
  364. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250123_01_Ececu-tos-acceptance.sql +0 -0
  365. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250206_01_PjrEL-annotation-semantics.rollback.sql +0 -0
  366. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250206_01_PjrEL-annotation-semantics.sql +0 -0
  367. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250306_01_58oju-semantics-views.rollback.sql +0 -0
  368. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250306_01_58oju-semantics-views.sql +0 -0
  369. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250318_01_pANl1-semantics-functions.rollback.sql +0 -0
  370. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250318_01_pANl1-semantics-functions.sql +0 -0
  371. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250331_01_kRKjo-store-detections-id.rollback.sql +0 -0
  372. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250331_01_kRKjo-store-detections-id.sql +0 -0
  373. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250424_01_RBGXC-semantics-indexes.rollback.sql +0 -0
  374. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250424_01_RBGXC-semantics-indexes.sql +0 -0
  375. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250502_01_ZNmkU-job-task-read-metadata.rollback.sql +0 -0
  376. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250502_01_ZNmkU-job-task-read-metadata.sql +0 -0
  377. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250509_01_kMatW-deactivate-upload-set-split-dedup.rollback.sql +0 -0
  378. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250509_01_kMatW-deactivate-upload-set-split-dedup.sql +0 -0
  379. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250509_01_s3hYk-semantic-delete-cascade.rollback.sql +0 -0
  380. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250509_01_s3hYk-semantic-delete-cascade.sql +0 -0
  381. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250513_01_8WkZC-upload-sets-default-config.rollback.sql +0 -0
  382. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250513_01_8WkZC-upload-sets-default-config.sql +0 -0
  383. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250523_01_b11eW-picture-update-index.rollback.sql +0 -0
  384. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250523_01_b11eW-picture-update-index.sql +0 -0
  385. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250523_02_5ZXXh-update-picture-updated-at.rollback.sql +0 -0
  386. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250523_02_5ZXXh-update-picture-updated-at.sql +0 -0
  387. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250624_01_SETp6-job-warnings.rollback.sql +0 -0
  388. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250624_01_SETp6-job-warnings.sql +0 -0
  389. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250701_01_kr371-upload-set-semantics.rollback.sql +0 -0
  390. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250701_01_kr371-upload-set-semantics.sql +0 -0
  391. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250703_01_p2WVV-sequence-upload-set-link.rollback.sql +0 -0
  392. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250703_01_p2WVV-sequence-upload-set-link.sql +0 -0
  393. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250703_02_q0s3D-sequence-upload-set-fill.rollback.sql +0 -0
  394. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250703_02_q0s3D-sequence-upload-set-fill.sql +0 -0
  395. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250716_01_f8tcJ-check-empty-annotation-late.rollback.sql +0 -0
  396. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250716_01_f8tcJ-check-empty-annotation-late.sql +0 -0
  397. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250728_01_2zgur-upload-set-relative-heading.rollback.sql +0 -0
  398. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250728_01_2zgur-upload-set-relative-heading.sql +0 -0
  399. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250825_01_nCgkN-file-deletion-after-delete-no-dup.rollback.sql +0 -0
  400. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/20250825_01_nCgkN-file-deletion-after-delete-no-dup.sql +0 -0
  401. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/data/readme.md +0 -0
  402. {geovisio-2.10.0 → geovisio-2.11.0}/migrations/data/sensor_data.json +0 -0
  403. {geovisio-2.10.0 → geovisio-2.11.0}/tests/__init__.py +0 -0
  404. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/1.jpg +0 -0
  405. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/1_blurred.jpg +0 -0
  406. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/2.jpg +0 -0
  407. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/3.jpg +0 -0
  408. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/4.jpg +0 -0
  409. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/5.jpg +0 -0
  410. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/b1.jpg +0 -0
  411. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/b2.jpg +0 -0
  412. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/c1.jpg +0 -0
  413. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/crop.jpg +0 -0
  414. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/d1.jpg +0 -0
  415. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/e1.jpg +0 -0
  416. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/e1_artist.jpg +0 -0
  417. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/e1_without_exif.jpg +0 -0
  418. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/e2.jpg +0 -0
  419. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/e3.jpg +0 -0
  420. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/e4.jpg +0 -0
  421. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/e5.jpg +0 -0
  422. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/focal_zero.jpg +0 -0
  423. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/invalid_exif.jpg +0 -0
  424. {geovisio-2.10.0 → geovisio-2.11.0}/tests/data/xpcomment.jpg +0 -0
  425. {geovisio-2.10.0 → geovisio-2.11.0}/tests/fixed_data/__init__.py +0 -0
  426. {geovisio-2.10.0 → geovisio-2.11.0}/tests/fixed_data/conftest.py +0 -0
  427. {geovisio-2.10.0 → geovisio-2.11.0}/tests/fixed_data/test_api_conformance.py +0 -0
  428. {geovisio-2.10.0 → geovisio-2.11.0}/tests/fixed_data/test_many_sequences_different_insertion_date.py +0 -0
  429. {geovisio-2.10.0 → geovisio-2.11.0}/tests/integration/__init__.py +0 -0
  430. {geovisio-2.10.0 → geovisio-2.11.0}/tests/integration/conftest.py +0 -0
  431. {geovisio-2.10.0 → geovisio-2.11.0}/tests/integration/docker-compose-auth-test.yml +0 -0
  432. {geovisio-2.10.0 → geovisio-2.11.0}/tests/integration/test_s3.py +0 -0
  433. {geovisio-2.10.0 → geovisio-2.11.0}/tests/integration/test_tokens.py +0 -0
  434. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_admin_cli_cleanup.py +0 -0
  435. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_db_migrations.py +0 -0
  436. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_factory.py +0 -0
  437. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_model_query.py +0 -0
  438. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_auth.py +0 -0
  439. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_cql2.py +0 -0
  440. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_filesystems.py +0 -0
  441. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_items.py +0 -0
  442. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_pictures.py +0 -0
  443. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_reports.py +0 -0
  444. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_semantics.py +0 -0
  445. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_sequences.py +0 -0
  446. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_tags.py +0 -0
  447. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_utils_upload_set.py +0 -0
  448. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_excluded_areas.py +0 -0
  449. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_params.py +0 -0
  450. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_pictures.py +0 -0
  451. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_web_stac.py +0 -0
  452. {geovisio-2.10.0 → geovisio-2.11.0}/tests/test_workers_runner_pictures.py +0 -0
  453. {geovisio-2.10.0 → geovisio-2.11.0}/yoyo.ini +0 -0
@@ -7,7 +7,6 @@ env
7
7
  instance
8
8
  __pycache__
9
9
  config.py
10
- docker/models/
11
10
  .vscode/
12
11
  site/
13
12
  *.mo
@@ -99,6 +99,13 @@ test:
99
99
  - make i18n-po2code
100
100
  - pytest -vv -m "not skipci"
101
101
 
102
+ dependencies-lock:
103
+ stage: test
104
+ image: ghcr.io/astral-sh/uv:0.9.2-python3.11-bookworm-slim
105
+ script:
106
+ # enforce that the lock file is up to date.
107
+ # Updating this lock file is important to ensure the production servers will use the right versions
108
+ - uv lock --check
102
109
 
103
110
  publish-develop:
104
111
  rules:
@@ -0,0 +1,12 @@
1
+ repos:
2
+ - repo: https://github.com/psf/black
3
+ rev: 24.1.0
4
+ hooks:
5
+ - id: black
6
+
7
+ - repo: https://github.com/astral-sh/uv-pre-commit
8
+ # ensure the uv.lock file is up to date, it's important to update it when a dependency is updated
9
+ # by running `uv lock`
10
+ rev: 0.9.2
11
+ hooks:
12
+ - id: uv-lock
@@ -0,0 +1 @@
1
+ 3.13
@@ -9,6 +9,30 @@ Before _1.6.0_, [Viewer](https://gitlab.com/panoramax/clients/web-viewer) was em
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [2.11.0] - 2025-12-12
13
+
14
+ ### Added
15
+
16
+ - A way to delete an annotation (via `DELETE /api/annotations/<uuid:annotationId>` or `DELETE /api/collections/<uuid:collectionId>/items/<uuid:itemId>/annotations/<uuid:annotationId>`). Anyone authenticated can delete an annotation (and the changes are tracked in the history).
17
+ - Added a new way to restrict who can view a sequence/picture, instead of the old `hidden` mechanism, we can now set a `visibility` field at the sequence/picture/upload_set level. This parameter can have (for the moment) the values:
18
+ - `anyone`: the sequence is visible to anyone
19
+ - `owner-only`: the sequence is visible to the owner and administrator only
20
+ - `logged-only`: the sequence is visible to logged users only
21
+ A default `visibility` can also be set at the `account` or instance level.
22
+ - Change the permissions, now an instance administrator (and account that has the `admin` role), can see, edit and delete all sequences and pictures.
23
+ - Display the collection semantics in the `/api/collections/<uuid:collectionId>/items` endpoint, to make it easier to be crawled by the metacatalog.
24
+ - Add a new search capability with the query `/api/search?filter=semantics IS NOT NULL` to search for all items with some semantics (be it linked to the picture, its sequence or an annotation in the picture).
25
+ - Add a way to know that the terms of service have been updated, and the users have read the latest changes.
26
+ - Add an admin cli command to delete all the pictures of a user (`user <ACCOUNT_ID_OR_NAME> --delete-data`).
27
+
28
+ ### Changed
29
+
30
+ - ⚠️ API breaking change ⚠️: we do not support anymore the `status` filter (and especially the `status='deleted'` filter) when querying the sequences, since it could leak information about some sequences with restricted visibility (since we treated those sequences as `deleted` to tell potential crawlers not to consider them anymore). This parameter is now replaced by a new `show_deleted` boolean parameter that makes the API return collections with only an `id` and a `deleted` status, without additional fields. Note that thus, when using this parameter, the response does no longer follow the STAC format for deleted collections.
31
+
32
+ ### Fixed
33
+
34
+ - Use fully qualified path for the pictures_grid materialized view to avoid the `relation "pictures" does not exist` issue on some server.
35
+
12
36
  ## [2.10.0] - 2025-08-27
13
37
 
14
38
  ### Added
@@ -23,6 +47,7 @@ Before _1.6.0_, [Viewer](https://gitlab.com/panoramax/clients/web-viewer) was em
23
47
  * The route to create an annotation `/api/picture/<uuid:pictureId>/annotations` is now an alias of `/api/collections/<uuid:collectionId>/items/<uuid:itemId>/annotations`
24
48
  - Add a way to attach semantic tags to upload sets. Those tags will be transferred to all the collections associated to the upload set. This makes it possible to add semantic tags directly at the upload, without waiting for all the associated collections to be created.
25
49
  - Add a `relative_heading` parameter to the `/api/upload_sets/:id` route (for `POST` and `PATCH`), to update the relative heading of the upload set. If a `relative_heading` is set on the upload set, it will be applied when computeing the heading of all the associated collections.
50
+ - Add a `/api/queryables` route to list the queryables for search and `/api/collections/queryables` to list the queryables for collection search.
26
51
 
27
52
  ### Changed
28
53
 
@@ -678,7 +703,8 @@ FLASK_APP="src" flask process-sequences
678
703
  - Viewer based on Photo Sphere Viewer automatically calling API to search and retrieve pictures
679
704
  - Dockerfile for easy server setup
680
705
 
681
- [Unreleased]: https://gitlab.com/panoramax/server/api/-/compare/2.10.0...develop
706
+ [Unreleased]: https://gitlab.com/panoramax/server/api/-/compare/2.11.0...develop
707
+ [2.11.0]: https://gitlab.com/panoramax/server/api/-/compare/2.10.0...2.11.0
682
708
  [2.10.0]: https://gitlab.com/panoramax/server/api/-/compare/2.9.0...2.10.0
683
709
  [2.9.0]: https://gitlab.com/panoramax/server/api/-/compare/2.8.1...2.9.0
684
710
  [2.8.1]: https://gitlab.com/panoramax/server/api/-/compare/2.8.0...2.8.1
@@ -14,7 +14,7 @@ LABEL org.opencontainers.image.url="https://panoramax.fr/"
14
14
  # and create a `geovisio` user, to run the app as non root user
15
15
  RUN apt update \
16
16
  && apt install -y git gettext make \
17
- && pip install waitress gunicorn Babel \
17
+ && pip install waitress Babel \
18
18
  && rm -rf /var/lib/apt/lists/* \
19
19
  && mkdir -p /opt/geovisio /data/geovisio \
20
20
  && groupadd --gid 1000 geovisio \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geovisio
3
- Version: 2.10.0
3
+ Version: 2.11.0
4
4
  Summary: GeoVisio API - Main
5
5
  Author-email: Adrien PAVIE <panieravide@riseup.net>, Antoine Desbordes <antoine.desbordes@gmail.com>
6
6
  Requires-Python: >=3.10
@@ -28,12 +28,13 @@ Requires-Dist: pygeofilter[backend-native] ~= 0.3.1
28
28
  Requires-Dist: python-dateutil ~= 2.9.0
29
29
  Requires-Dist: tzdata ~= 2025.2
30
30
  Requires-Dist: croniter ~= 6.0.0
31
- Requires-Dist: pydantic ~= 2.11
31
+ Requires-Dist: pydantic ~= 2.12
32
32
  Requires-Dist: pydantic-extra-types ~= 2.7
33
33
  Requires-Dist: flask-babel ~= 4.0.0
34
34
  Requires-Dist: geojson-pydantic ~= 2.0.0
35
35
  Requires-Dist: email-validator ~= 2.2.0
36
36
  Requires-Dist: multipart>=1.2.1
37
+ Requires-Dist: gunicorn ~= 23.0.0
37
38
  Requires-Dist: flit ~= 3.9.0 ; extra == "build"
38
39
  Requires-Dist: coverage ~= 7.9 ; extra == "dev"
39
40
  Requires-Dist: protobuf ~= 5.26 ; extra == "dev"
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # script called by the Scalingo Procfile
4
+
5
+ DB_CHECK_SCHEMA=false gunicorn --workers "${NB_API_WORKERS:-5}" --threads "${NB_API_THREADS:-4}" -b ":$PORT" 'geovisio:create_app()'
@@ -23,7 +23,7 @@ case $command in
23
23
  python3 -m waitress --port 5000 --threads=${NB_API_THREADS:-4} --call 'geovisio:create_app'
24
24
  ;;
25
25
  "gunicorn-api")
26
- gunicorn --workers ${NB_API_WORKERS:-5} --threads ${NB_API_THREADS:-4} -b :5000 'geovisio:create_app()'
26
+ python3 -m gunicorn --workers ${NB_API_WORKERS:-5} --threads ${NB_API_THREADS:-4} -b :5000 'geovisio:create_app()'
27
27
  ;;
28
28
  "ssl-api")
29
29
  python3 -m waitress --port 5000 --threads=${NB_API_THREADS:-4} --url-scheme=https --trusted-proxy '*' --trusted-proxy-headers 'X-Forwarded-For X-Forwarded-Host X-Forwarded-Port X-Forwarded-Proto' --log-untrusted-proxy-headers --clear-untrusted-proxy-headers --call 'geovisio:create_app'