geovisio 2.8.1__tar.gz → 2.9.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.
- {geovisio-2.8.1 → geovisio-2.9.0}/CHANGELOG.md +29 -2
- {geovisio-2.8.1 → geovisio-2.9.0}/PKG-INFO +21 -20
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/docker-compose.yml +24 -4
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/env.example +3 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-osm-auth/docker-compose.yml +23 -4
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-osm-auth/env.example +3 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/api/open_api.json +521 -24
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/dev/STAC_compatibility.md +1 -0
- geovisio-2.9.0/docs/install/deep_dive/blur_api.md +34 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/settings.md +30 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/tutorials/running_docker_keycloak.md +1 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/tutorials/running_docker_osm_auth.md +5 -3
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/__init__.py +1 -1
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/config_app.py +11 -0
- geovisio-2.9.0/geovisio/translations/fr/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/fr/LC_MESSAGES/messages.po +12 -5
- geovisio-2.9.0/geovisio/translations/nl/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/nl/LC_MESSAGES/messages.po +131 -25
- geovisio-2.9.0/geovisio/translations/sv/LC_MESSAGES/messages.mo +0 -0
- geovisio-2.9.0/geovisio/translations/sv/LC_MESSAGES/messages.po +822 -0
- geovisio-2.9.0/geovisio/utils/annotations.py +186 -0
- geovisio-2.9.0/geovisio/utils/cql2.py +134 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/db.py +7 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/fields.py +24 -7
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/model_query.py +2 -2
- geovisio-2.9.0/geovisio/utils/pic_shape.py +63 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/pictures.py +54 -12
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/reports.py +10 -17
- geovisio-2.9.0/geovisio/utils/semantics.py +230 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/sentry.py +0 -1
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/sequences.py +141 -60
- geovisio-2.9.0/geovisio/utils/tags.py +31 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/upload_set.py +2 -11
- geovisio-2.9.0/geovisio/web/annotations.py +213 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/collections.py +49 -34
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/configuration.py +2 -1
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/docs.py +52 -2
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/items.py +55 -54
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/map.py +25 -13
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/params.py +11 -21
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/stac.py +19 -12
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/upload_set.py +2 -9
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/workers/runner_pictures.py +71 -10
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240409_01_jnhra-pictures-grid.sql +2 -1
- geovisio-2.9.0/migrations/20250206_01_PjrEL-annotation-semantics.rollback.sql +14 -0
- geovisio-2.9.0/migrations/20250206_01_PjrEL-annotation-semantics.sql +15 -0
- geovisio-2.9.0/migrations/20250306_01_58oju-semantics-views.rollback.sql +5 -0
- geovisio-2.9.0/migrations/20250306_01_58oju-semantics-views.sql +52 -0
- geovisio-2.9.0/migrations/20250318_01_pANl1-semantics-functions.rollback.sql +5 -0
- geovisio-2.9.0/migrations/20250318_01_pANl1-semantics-functions.sql +41 -0
- geovisio-2.9.0/migrations/20250331_01_kRKjo-store-detections-id.rollback.sql +7 -0
- geovisio-2.9.0/migrations/20250331_01_kRKjo-store-detections-id.sql +25 -0
- geovisio-2.9.0/migrations/20250424_01_RBGXC-semantics-indexes.rollback.sql +6 -0
- geovisio-2.9.0/migrations/20250424_01_RBGXC-semantics-indexes.sql +6 -0
- geovisio-2.9.0/migrations/20250509_01_s3hYk-semantic-delete-cascade.rollback.sql +11 -0
- geovisio-2.9.0/migrations/20250509_01_s3hYk-semantic-delete-cascade.sql +11 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/pyproject.toml +20 -19
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/conftest.py +102 -43
- geovisio-2.9.0/tests/fixed_data/test_many_semantics.py +155 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/fixed_data/test_many_sequences.py +28 -186
- geovisio-2.9.0/tests/fixed_data/test_many_sequences_different_insertion_date.py +256 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/fixed_data/test_web_collections_one_collection.py +2 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/integration/test_auth.py +1 -0
- geovisio-2.9.0/tests/test_utils_annotations.py +102 -0
- geovisio-2.9.0/tests/test_utils_cql2.py +40 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_utils_pictures.py +1 -1
- geovisio-2.9.0/tests/test_utils_semantics.py +378 -0
- geovisio-2.9.0/tests/test_utils_sequences.py +189 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_utils_tags.py +2 -1
- geovisio-2.9.0/tests/test_web_annotation.py +799 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_collections.py +70 -41
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_configuration.py +2 -1
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_items.py +23 -15
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_pictures.py +0 -1
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_workers_runner_pictures.py +292 -4
- geovisio-2.8.1/docs/install/deep_dive/blur_api.md +0 -20
- geovisio-2.8.1/geovisio/translations/fr/LC_MESSAGES/messages.mo +0 -0
- geovisio-2.8.1/geovisio/translations/nl/LC_MESSAGES/messages.mo +0 -0
- geovisio-2.8.1/geovisio/utils/semantics.py +0 -120
- geovisio-2.8.1/geovisio/web/annotations.py +0 -17
- {geovisio-2.8.1 → geovisio-2.9.0}/.dockerignore +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/.flaskenv +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/.gitignore +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/.gitlab-ci.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/.pre-commit-config.yaml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/CODE_OF_CONDUCT.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/Dockerfile +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/LICENSE +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/Makefile +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/Procfile +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/README.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/babel.cfg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/bin/post_compile +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/bin/run_production_api.sh +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/docker-compose-blurring.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/docker-compose-full.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/docker-compose-keycloak.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/docker-compose-minio.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/docker-entrypoint.sh +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/1-init-keycloak-db.sh +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/Dockerfile.keycloak +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/keycloak-realm.json +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/nginx.conf +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/pictures_storage/.gitkeep +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-keycloak-auth/robots.txt +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-osm-auth/nginx.conf +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-osm-auth/pictures_storage/.gitkeep +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/full-osm-auth/robots.txt +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker/keycloak-realm.json +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docker-compose.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/api/api.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/api/openapi.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/dev/develop_server.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/dev/releases.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/images/geovisio-architecture-simple.excalidraw +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/images/geovisio-architecture-simple.png +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/images/geovisio_authentication_flow.svg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/index.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/cli.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/database_setup.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/deep_dive/excluded_areas.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/deep_dive/external_Identity_Providers.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/deep_dive/pictures_processing.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/install.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/running.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/tutorials/osm_oauth_client.png +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/docs/install/update.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/admin_cli/__init__.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/admin_cli/cleanup.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/admin_cli/db.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/admin_cli/default_account_tokens.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/admin_cli/reorder_sequences.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/admin_cli/sequence_heading.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/admin_cli/user.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/db_migrations.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/errors.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/templates/main.html +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/templates/viewer.html +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/br/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/br/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/da/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/da/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/de/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/de/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/el/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/el/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/en/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/en/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/eo/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/eo/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/es/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/es/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/fi/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/fi/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/hu/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/hu/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/it/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/it/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/ja/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/ja/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/ko/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/ko/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/messages.pot +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/pl/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/pl/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/zh_Hant/LC_MESSAGES/messages.mo +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/translations/zh_Hant/LC_MESSAGES/messages.po +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/__init__.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/auth.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/excluded_areas.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/extent.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/filesystems.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/link.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/loggers.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/params.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/time.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/tokens.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/utils/website.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/__init__.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/auth.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/excluded_areas.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/pages.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/pictures.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/prepare.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/reports.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/rss.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/tokens.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/users.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/web/utils.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/geovisio/workers/__init__.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/big_picture.png +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/big_picture.svg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/favicon.ico +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/favicon.svg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/logo.png +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/logo.svg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/logo_full.png +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/logo_full.svg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/images/sponsors.png +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20221201_01_wpCGc-initial-schema.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20221201_01_wpCGc-initial-schema.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20221201_02_ZG8AR-camera-information.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20221222_01_fsB6f-add-account.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20221222_01_fsB6f-add-account.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230113_01_0co97-rm-metadata-duplicates.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230113_01_0co97-rm-metadata-duplicates.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230116_01_9PkjZ-add-oauth-provider.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230116_01_9PkjZ-add-oauth-provider.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230117_01_K71Pd-pictures-ts-index.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230117_01_K71Pd-pictures-ts-index.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230130_01_VRIv2-sequences-account.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230130_01_VRIv2-sequences-account.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230324_01_ba9WA-status.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230324_01_ba9WA-status.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230324_02_efgI6-picture-process.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230324_02_efgI6-picture-process.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230407_01_wofh1-computed-headings.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230407_01_wofh1-computed-headings.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230417_01_ZgLMY-add-exif-metadata-column-for-pictures.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230417_01_ZgLMY-add-exif-metadata-column-for-pictures.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230420_01_elaN3-remove-picture-and-sequence-file-paths.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230420_01_elaN3-remove-picture-and-sequence-file-paths.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230425_01_gYP77-pictures-edits-triggers.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230425_01_gYP77-pictures-edits-triggers.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230427_01_k5e5w-timestamps.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230427_01_k5e5w-timestamps.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230511_01_TdpKo-tokens.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230511_01_TdpKo-tokens.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230615_01_u7aRf-pic-delete-cascade.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230615_01_u7aRf-pic-delete-cascade.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230623_01_y1SiQ-pic-deletion-task.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230623_01_y1SiQ-pic-deletion-task.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230629_01_ZdB3i-compute-heading-0.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230711_01_JGSPB-inserted-at-index.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230711_01_JGSPB-inserted-at-index.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230720_01_EyQ0e-sequences-summary.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230720_01_EyQ0e-sequences-summary.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230803_01_aXusm-fix-sequence-computed.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20230803_01_aXusm-fix-sequence-computed.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231018_01_4G3YE-pictures-exiv2.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231018_01_4G3YE-pictures-exiv2.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231103_01_ZVKEm-update-seq-on-pic-change.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231103_01_ZVKEm-update-seq-on-pic-change.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231110_01_3p070-jobs-error.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231110_01_3p070-jobs-error.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231121_01_v6oBF-more-specific-triggers.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231121_01_v6oBF-more-specific-triggers.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231121_02_1uZXT-deleted-tag.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20231121_02_1uZXT-deleted-tag.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240115_01_FatLR-token-delete-cascade.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240115_01_FatLR-token-delete-cascade.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240220_01_9wZs0-sequence-current-sort.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240220_01_9wZs0-sequence-current-sort.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240223_01_LsMHB-remove-binary-fields.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240226_01_8iXl1-track-changes.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240226_01_8iXl1-track-changes.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240229_01_SgfQY-sequence-geom-multi-linestring.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240229_01_SgfQY-sequence-geom-multi-linestring.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240308_01_aF0Jb-migrate-sequence-geom-multi-linestring.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240409_01_jnhra-pictures-grid.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240416_01_FpyGs-pictures-stats-on-sequences.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240416_01_FpyGs-pictures-stats-on-sequences.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240416_02_A5KzC-fill-pictures-stats-on-sequences.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240416_02_A5KzC-fill-pictures-stats-on-sequences.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240507_01_eBfqZ-refresh-table.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240507_01_eBfqZ-refresh-table.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240507_02_dzVET-picture-grid-public.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240507_02_dzVET-picture-grid-public.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240514_01_IT7DD-picture-delete-cascade.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240514_01_IT7DD-picture-delete-cascade.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240611_01_jftHn-content-md5.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240611_01_jftHn-content-md5.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240612_01_yNcuE-upload-set.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240612_01_yNcuE-upload-set.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240617_01_tKtlx-md5-concurrent-index.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240617_01_tKtlx-md5-concurrent-index.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240625_01_XMZ24-fix-sequence-stat-on-pic-insertion.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240625_01_XMZ24-fix-sequence-stat-on-pic-insertion.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240708_01_Xn7IH-job-queue.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240708_01_Xn7IH-job-queue.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240715_01_Hca9V-upload-set-metadata.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240715_01_Hca9V-upload-set-metadata.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240723_01_ePGFe-upload-set-files.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240723_01_ePGFe-upload-set-files.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240729_01_HALjj-upload-set-sort.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240729_01_HALjj-upload-set-sort.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240730_01_2BaCy-improve-deletion-triggers.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240730_01_2BaCy-improve-deletion-triggers.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240730_02_aRymN-rejection-status.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240730_02_aRymN-rejection-status.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240801_01_DOqmf-reports.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240801_01_DOqmf-reports.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240801_01_uKqPo-remove-files-delete-cascade.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240801_01_uKqPo-remove-files-delete-cascade.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240813_01_T1XkO-sequences-geom-splits.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240813_01_T1XkO-sequences-geom-splits.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240820_01_aB2ZK-exclusion-zones.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240820_01_aB2ZK-exclusion-zones.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240902_01_MDqSj-user-agent.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240902_01_MDqSj-user-agent.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240904_01_gFjlV-files-rejection-msg.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240904_01_gFjlV-files-rejection-msg.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240905_01_C8F6U-conflicts.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240905_01_C8F6U-conflicts.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240905_01_E5Ki0-upload-set-delete.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240905_01_E5Ki0-upload-set-delete.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240909_01_Muc22-unique-grid-index.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240909_01_Muc22-unique-grid-index.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240912_01_dAALm-account-index.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20240912_01_dAALm-account-index.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241004_01_d1zfe-pictures-grid-360.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241004_01_d1zfe-pictures-grid-360.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241011_01_e1j5C-pic-quality.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241011_01_e1j5C-pic-quality.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241017_01_GuOjF-pic-quality-update.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241017_01_GuOjF-pic-quality-update.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241017_01_RiFlm-pictures-to-delete.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241017_01_RiFlm-pictures-to-delete.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241104_01_yhRVu-rejection-details.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241104_01_yhRVu-rejection-details.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241128_01_ugthx-job-queue-args.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241128_01_ugthx-job-queue-args.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241224_01_xuN6n-delete-upload-set-on-last-picture-trg-statement.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20241224_01_xuN6n-delete-upload-set-on-last-picture-trg-statement.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250102_01_EElhA-rm-cameras.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250102_01_EElhA-rm-cameras.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250107_01_EQN9v-tags-tables.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250107_01_EQN9v-tags-tables.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250109_01_4OOP4-pages.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250109_01_4OOP4-pages.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250114_01_ABaaL-collaborative-metadata-editing.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250114_01_ABaaL-collaborative-metadata-editing.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250123_01_Ececu-tos-acceptance.rollback.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/20250123_01_Ececu-tos-acceptance.sql +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/data/readme.md +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/migrations/data/sensor_data.json +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/mkdocs.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/runtime.txt +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/__init__.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/1.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/1_blurred.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/2.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/3.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/4.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/5.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/b1.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/b2.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/c1.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/crop.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/d1.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/e1.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/e1_artist.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/e1_without_exif.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/e2.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/e3.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/e4.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/e5.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/focal_zero.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/invalid_exif.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/data/xpcomment.jpg +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/fixed_data/__init__.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/fixed_data/conftest.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/fixed_data/test_api_conformance.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/integration/__init__.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/integration/conftest.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/integration/docker-compose-auth-test.yml +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/integration/test_s3.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/integration/test_tokens.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_admin_cli_cleanup.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_db_migrations.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_factory.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_model_query.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_utils_auth.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_utils_filesystems.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_utils_reports.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_utils_upload_set.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_excluded_areas.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_map.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_pages.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_params.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_prepare.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_reports.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_stac.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_upload_set.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/tests/test_web_users.py +0 -0
- {geovisio-2.8.1 → geovisio-2.9.0}/yoyo.ini +0 -0
|
@@ -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.9.0] - 2025-05-12
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Add a new configuration `PICTURE_PROCESS_NB_RETRIES` to tell the number of times a job will be retried if there is a `RecoverableProcessException` during process (like if the blurring api is not reachable). Defaults to 5 like before.
|
|
17
|
+
- Add a way to search on semantic tags in `/api/search` endpoint with a CQL2 filter like `filter="semantics.some_key"='some_value'`.
|
|
18
|
+
- Add a `API_REGISTRATION_IS_OPEN` setting in the API to tell the federation that account can (or not) be created directly on the instance. Defaults to `false`.
|
|
19
|
+
- Added field `geovisio:rank_in_collection` to pictures metadata to get the rank of the picture in the collection in `/api/collections/:cid/items/:id` / `/api/collections/:cid/items` and `/api/search` responses. This makes it easier to use the `startAfterRank` parameter to paginate through pictures in collections..
|
|
20
|
+
- Handle semantics returned by the blurring API, and automatically add annotations on the pictures with semantic tags on the detected objects..
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Fix the pagination links when many sequences had the exact same creation date on `/api/collections`.
|
|
25
|
+
- Migration `20240409_01_jnhra-pictures-grid.sql` was not working from empty database.
|
|
26
|
+
- When asking for collections list as CSV format, API was sending `Content-Type: text/html` instead of `text/csv` in response.
|
|
27
|
+
- Fix a sql error on `/api/users/me/collection` when using PostgreSQL <= 13.
|
|
28
|
+
- Fix a bug causing a 500 when filtering collections with no updates
|
|
29
|
+
- Fix a bug where the collection geometry was not recomputed after a sort.
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Change the way the coefficients are computed for the grid, compute the mean only over squares with flat (or 360°) pictures.
|
|
34
|
+
- Update lot of dependencies (Flask, psycopg, pillow, sentry, ...)
|
|
35
|
+
|
|
12
36
|
## [2.8.1] - 2025-03-13
|
|
13
37
|
|
|
14
38
|
### Added
|
|
@@ -16,10 +40,12 @@ Before _1.6.0_, [Viewer](https://gitlab.com/panoramax/clients/web-viewer) was em
|
|
|
16
40
|
- Add a way to know the role and permission of the logged user in `/api/users/me`.
|
|
17
41
|
- Add the ability to update an upload set parameters through a `PATCH` on `/api/upload_sets/:id`.
|
|
18
42
|
- Add a debug endpoint `/api/debug_headers` that can be handy when setting a new instance to check if the proxies are correctly setting the headers.
|
|
43
|
+
- Add the ability to add annotations to a part of a picture, with semantic tags associated (through `/api/collections/:id/items/:id/annotations`).
|
|
19
44
|
|
|
20
45
|
### Fixed
|
|
21
46
|
|
|
22
47
|
- Fix a bug where dispatching several time the same upload set would not cleanup unused sequences.
|
|
48
|
+
- Fix a bug where the relative heading parameter was not correctly validated on null values.
|
|
23
49
|
|
|
24
50
|
### Changed
|
|
25
51
|
|
|
@@ -31,7 +57,7 @@ Before _1.6.0_, [Viewer](https://gitlab.com/panoramax/clients/web-viewer) was em
|
|
|
31
57
|
|
|
32
58
|
- Add the ability to export a user's collections in a CSV file by either providing a `format` query parameter or with the `Accept: text/csv` header. The CSV export is not limited to the first 1000 collections as the JSON API.
|
|
33
59
|
- More metadata can be defined for the API in `API_SUMMARY` environment variable: contact email and geographical coverage
|
|
34
|
-
- Add the ability to blur again a picture/sequence, by calling the `/api/collections/:id/prepare`/`/api/collections/:id/items/:id/prepare` endpoints.
|
|
60
|
+
- Add the ability to blur again a picture/sequence, by calling the `/api/collections/:id/prepare`/`/api/collections/:id/items/:id/prepare` endpoints.
|
|
35
61
|
- Add the ability to change a picture's capture time, latitude and longitude using the PATCH `/api/collections/:id/items/:id` route.
|
|
36
62
|
- Add the number of collection to the endpoint `/api/users/:id/collection`
|
|
37
63
|
- Add _pages_ management to handle legal mentions and terms of service storage in database. New routes `/api/pages` allow to create, list, delete these pages in several languages.
|
|
@@ -622,7 +648,8 @@ FLASK_APP="src" flask process-sequences
|
|
|
622
648
|
- Viewer based on Photo Sphere Viewer automatically calling API to search and retrieve pictures
|
|
623
649
|
- Dockerfile for easy server setup
|
|
624
650
|
|
|
625
|
-
[Unreleased]: https://gitlab.com/panoramax/server/api/-/compare/2.
|
|
651
|
+
[Unreleased]: https://gitlab.com/panoramax/server/api/-/compare/2.9.0...develop
|
|
652
|
+
[2.9.0]: https://gitlab.com/panoramax/server/api/-/compare/2.8.1...2.9.0
|
|
626
653
|
[2.8.1]: https://gitlab.com/panoramax/server/api/-/compare/2.8.0...2.8.1
|
|
627
654
|
[2.8.0]: https://gitlab.com/panoramax/server/api/-/compare/2.7.1...2.8.0
|
|
628
655
|
[2.7.1]: https://gitlab.com/panoramax/server/api/-/compare/2.7.0...2.7.1
|
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: geovisio
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.9.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
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
9
9
|
License-File: LICENSE
|
|
10
|
-
Requires-Dist: Flask ~=
|
|
11
|
-
Requires-Dist: psycopg[pool] ~= 3.
|
|
10
|
+
Requires-Dist: Flask ~= 3.1
|
|
11
|
+
Requires-Dist: psycopg[pool] ~= 3.2
|
|
12
12
|
Requires-Dist: flasgger ~= 0.9.7
|
|
13
|
-
Requires-Dist: Pillow ~=
|
|
14
|
-
Requires-Dist: Flask-Cors ~=
|
|
13
|
+
Requires-Dist: Pillow ~= 11.1
|
|
14
|
+
Requires-Dist: Flask-Cors ~= 5.0
|
|
15
15
|
Requires-Dist: fs ~= 2.4
|
|
16
16
|
Requires-Dist: fs-s3fs-forked ~= 1.1.4
|
|
17
17
|
Requires-Dist: flask-compress ~= 1.14
|
|
18
18
|
Requires-Dist: requests ~= 2.31
|
|
19
|
-
Requires-Dist: yoyo-migrations ~=
|
|
20
|
-
Requires-Dist: psycopg-binary ~= 3.
|
|
21
|
-
Requires-Dist: python-dotenv ~=
|
|
22
|
-
Requires-Dist: authlib ~= 1.
|
|
19
|
+
Requires-Dist: yoyo-migrations ~= 9.0
|
|
20
|
+
Requires-Dist: psycopg-binary ~= 3.2
|
|
21
|
+
Requires-Dist: python-dotenv ~= 1.1
|
|
22
|
+
Requires-Dist: authlib ~= 1.5
|
|
23
23
|
Requires-Dist: Flask-Executor ~= 1.0
|
|
24
24
|
Requires-Dist: geopic-tag-reader[write-exif] == 1.4.2
|
|
25
25
|
Requires-Dist: rfeed ~= 1.1.1
|
|
26
|
-
Requires-Dist: sentry-sdk[flask] ~=
|
|
27
|
-
Requires-Dist: pygeofilter[backend-native] ~= 0.
|
|
26
|
+
Requires-Dist: sentry-sdk[flask] ~= 2.24
|
|
27
|
+
Requires-Dist: pygeofilter[backend-native] ~= 0.3.1
|
|
28
28
|
Requires-Dist: python-dateutil ~= 2.9.0
|
|
29
|
-
Requires-Dist: tzdata ~=
|
|
30
|
-
Requires-Dist: croniter ~=
|
|
31
|
-
Requires-Dist: pydantic ~= 2.
|
|
29
|
+
Requires-Dist: tzdata ~= 2025.2
|
|
30
|
+
Requires-Dist: croniter ~= 6.0.0
|
|
31
|
+
Requires-Dist: pydantic ~= 2.11
|
|
32
32
|
Requires-Dist: pydantic-extra-types ~= 2.7
|
|
33
33
|
Requires-Dist: flask-babel ~= 4.0.0
|
|
34
|
-
Requires-Dist: geojson-pydantic ~= 1.
|
|
34
|
+
Requires-Dist: geojson-pydantic ~= 1.2.0
|
|
35
35
|
Requires-Dist: email-validator ~= 2.2.0
|
|
36
|
+
Requires-Dist: multipart>=1.2.1
|
|
36
37
|
Requires-Dist: flit ~= 3.9.0 ; extra == "build"
|
|
37
|
-
Requires-Dist: coverage ~=
|
|
38
|
+
Requires-Dist: coverage ~= 7.7 ; extra == "dev"
|
|
38
39
|
Requires-Dist: protobuf ~= 4.21 ; extra == "dev"
|
|
39
40
|
Requires-Dist: mapbox-vector-tile ~= 2.0 ; extra == "dev"
|
|
40
41
|
Requires-Dist: pystac ~= 1.9 ; extra == "dev"
|
|
@@ -43,13 +44,13 @@ Requires-Dist: pytest-datafiles ~= 2.0 ; extra == "dev"
|
|
|
43
44
|
Requires-Dist: pyexiv2 ~= 2.15 ; extra == "dev"
|
|
44
45
|
Requires-Dist: testcontainers ~= 4.1 ; extra == "dev"
|
|
45
46
|
Requires-Dist: requests-mock ~= 1.11 ; extra == "dev"
|
|
46
|
-
Requires-Dist: black ~=
|
|
47
|
-
Requires-Dist: pre-commit ~=
|
|
47
|
+
Requires-Dist: black ~= 25.1 ; extra == "dev"
|
|
48
|
+
Requires-Dist: pre-commit ~= 4.2 ; extra == "dev"
|
|
48
49
|
Requires-Dist: pyyaml ~= 6.0 ; extra == "dev"
|
|
49
50
|
Requires-Dist: openapi-spec-validator ~= 0.7 ; extra == "dev"
|
|
50
51
|
Requires-Dist: stac-api-validator ~= 0.6.4 ; extra == "dev"
|
|
51
|
-
Requires-Dist: mkdocs-material ~= 9.
|
|
52
|
-
Requires-Dist: mkdocs-swagger-ui-tag ~= 0.6.
|
|
52
|
+
Requires-Dist: mkdocs-material ~= 9.6.9 ; extra == "docs"
|
|
53
|
+
Requires-Dist: mkdocs-swagger-ui-tag ~= 0.6.11 ; extra == "docs"
|
|
53
54
|
Project-URL: Home, https://gitlab.com/panoramax/server/api
|
|
54
55
|
Project-URL: Source Code, https://gitlab.com/panoramax/server/api
|
|
55
56
|
Provides-Extra: build
|
|
@@ -73,7 +73,7 @@ services:
|
|
|
73
73
|
<<: *geovisio-default
|
|
74
74
|
command: db-upgrade
|
|
75
75
|
environment:
|
|
76
|
-
DB_URL: postgres://gvs
|
|
76
|
+
DB_URL: postgres://gvs:${PG_PASSWORD}@db/geovisio
|
|
77
77
|
depends_on:
|
|
78
78
|
db:
|
|
79
79
|
condition: service_healthy
|
|
@@ -94,7 +94,7 @@ services:
|
|
|
94
94
|
OAUTH_CLIENT_ID: geovisio
|
|
95
95
|
OAUTH_CLIENT_SECRET: ${OAUTH_CLIENT_SECRET}
|
|
96
96
|
OAUTH_OIDC_URL: https://${DOMAIN}/oauth/realms/geovisio
|
|
97
|
-
DB_URL: postgres://gvs
|
|
97
|
+
DB_URL: postgres://gvs:${PG_PASSWORD}@db/geovisio
|
|
98
98
|
FLASK_SECRET_KEY: ${FLASK_SECRET_KEY}
|
|
99
99
|
FLASK_SESSION_COOKIE_DOMAIN: ${DOMAIN:-localhost}
|
|
100
100
|
API_FORCE_AUTH_ON_UPLOAD: True
|
|
@@ -103,6 +103,18 @@ services:
|
|
|
103
103
|
API_BLUR_URL: https://blur.panoramax.openstreetmap.fr
|
|
104
104
|
API_DERIVATES_PICTURES_PUBLIC_URL: /derivates
|
|
105
105
|
API_PERMANENT_PICTURES_PUBLIC_URL: /permanent
|
|
106
|
+
# API SUMMARY regroup many metadata about the instance
|
|
107
|
+
# check the documentation on how translations are handled: https://docs.panoramax.fr/api/install/settings/#metadata
|
|
108
|
+
API_SUMMARY: >-
|
|
109
|
+
{
|
|
110
|
+
"color": "#abcdef",
|
|
111
|
+
"description": {"en": "a long description", "fr": "une description longue"},
|
|
112
|
+
"logo": "https://gitlab.com/panoramax/gitlab-profile/-/raw/main/images/logo.svg",
|
|
113
|
+
"email": "the_administrator@mypanoramax.org",
|
|
114
|
+
"name": {"en": "${INSTANCE_NAME:-A Panoramax instance}", "fr": "Mon petit serveur des familles"},
|
|
115
|
+
"geo_coverage": {"en": "Anywhere you like", "fr": "Partout où le vent vous portera"}
|
|
116
|
+
}
|
|
117
|
+
API_REGISTRATION_IS_OPEN: True # True if the instance is open to registration, False if not, it is only used in the federation for the moment
|
|
106
118
|
PICTURE_PROCESS_THREADS_LIMIT: 0
|
|
107
119
|
PICTURE_PROCESS_DERIVATES_STRATEGY: PREPROCESS
|
|
108
120
|
FS_URL: /data/geovisio
|
|
@@ -125,9 +137,17 @@ services:
|
|
|
125
137
|
website:
|
|
126
138
|
image: panoramax/website:latest
|
|
127
139
|
environment:
|
|
140
|
+
# documentation for configuration: https://docs.panoramax.fr/website/03_Settings/
|
|
128
141
|
VITE_INSTANCE_NAME: ${INSTANCE_NAME:-A geovisio instance}
|
|
129
142
|
VITE_API_URL: /
|
|
130
143
|
VITE_TILES: https://panoramax.openstreetmap.fr/pmtiles/basic.json
|
|
144
|
+
# optional metadata
|
|
145
|
+
# The title for the <title> tag of the HTML
|
|
146
|
+
VITE_TITLE: "My Panoramax: The free alternative to photo-mapping territories"
|
|
147
|
+
# The title for the meta tags.
|
|
148
|
+
VITE_META_TITLE: "My Panoramax: The free alternative to photo-mapping territories"
|
|
149
|
+
# The description for meta tags, which is useful for SEO.
|
|
150
|
+
VITE_META_DESCRIPTION: "Panoramax is a digital resource for sharing and using field photos. Anyone can take photographs of places visible from public roads and contribute them to the Panoramax database."
|
|
131
151
|
ports:
|
|
132
152
|
- 3000
|
|
133
153
|
networks:
|
|
@@ -148,7 +168,7 @@ services:
|
|
|
148
168
|
restart: always
|
|
149
169
|
environment:
|
|
150
170
|
PICTURE_PROCESS_DERIVATES_STRATEGY: PREPROCESS
|
|
151
|
-
DB_URL: postgres://gvs
|
|
171
|
+
DB_URL: postgres://gvs:${PG_PASSWORD}@db/geovisio
|
|
152
172
|
FS_URL: /data/geovisio
|
|
153
173
|
API_BLUR_URL: https://blur.panoramax.openstreetmap.fr
|
|
154
174
|
|
|
@@ -180,7 +200,7 @@ services:
|
|
|
180
200
|
db:
|
|
181
201
|
environment:
|
|
182
202
|
POSTGRES_DB: geovisio
|
|
183
|
-
POSTGRES_PASSWORD:
|
|
203
|
+
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
|
184
204
|
POSTGRES_USER: gvs
|
|
185
205
|
healthcheck:
|
|
186
206
|
test: pg_isready -h db -q -d $$POSTGRES_DB -U $$POSTGRES_USER
|
|
@@ -15,6 +15,9 @@ KEYCLOAK_ADMIN_PASSWORD=
|
|
|
15
15
|
# For production should be provided with a long random string as stated in flask's documentation.
|
|
16
16
|
FLASK_SECRET_KEY=
|
|
17
17
|
|
|
18
|
+
# Password of the postgres db account
|
|
19
|
+
PG_PASSWORD=
|
|
20
|
+
|
|
18
21
|
# Directory where to store the pictures
|
|
19
22
|
# Note that this directory must have been created beforehand
|
|
20
23
|
# PICTURES_DIR=./pictures_storage
|
|
@@ -19,7 +19,7 @@ services:
|
|
|
19
19
|
<<: *geovisio-default
|
|
20
20
|
command: db-upgrade
|
|
21
21
|
environment:
|
|
22
|
-
DB_URL: postgres://gvs
|
|
22
|
+
DB_URL: postgres://gvs:${PG_PASSWORD}@db/geovisio
|
|
23
23
|
depends_on:
|
|
24
24
|
db:
|
|
25
25
|
condition: service_healthy
|
|
@@ -38,7 +38,7 @@ services:
|
|
|
38
38
|
OAUTH_PROVIDER: osm
|
|
39
39
|
OAUTH_CLIENT_ID: ${OAUTH_CLIENT_ID}
|
|
40
40
|
OAUTH_CLIENT_SECRET: ${OAUTH_CLIENT_SECRET}
|
|
41
|
-
DB_URL: postgres://gvs
|
|
41
|
+
DB_URL: postgres://gvs:${PG_PASSWORD}@db/geovisio
|
|
42
42
|
FLASK_SECRET_KEY: ${FLASK_SECRET_KEY}
|
|
43
43
|
FLASK_SESSION_COOKIE_DOMAIN: ${FLASK_SESSION_COOKIE_DOMAIN:-localhost}
|
|
44
44
|
API_FORCE_AUTH_ON_UPLOAD: True
|
|
@@ -52,6 +52,18 @@ services:
|
|
|
52
52
|
FS_URL: /data/geovisio
|
|
53
53
|
NB_API_THREADS: 10
|
|
54
54
|
INFRA_NB_PROXIES: ${INFRA_NB_PROXIES:-1}
|
|
55
|
+
# API SUMMARY regroup many metadata about the instance
|
|
56
|
+
# check the documentation on how translations are handled: https://docs.panoramax.fr/api/install/settings/#metadata
|
|
57
|
+
API_SUMMARY: >-
|
|
58
|
+
{
|
|
59
|
+
"color": "#abcdef",
|
|
60
|
+
"description": {"en": "a long description", "fr": "une description longue"},
|
|
61
|
+
"logo": "https://gitlab.com/panoramax/gitlab-profile/-/raw/main/images/logo.svg",
|
|
62
|
+
"email": "the_administrator@mypanoramax.org",
|
|
63
|
+
"name": {"en": "${INSTANCE_NAME:-A Panoramax instance}", "fr": "Mon petit serveur des familles"},
|
|
64
|
+
"geo_coverage": {"en": "Anywhere you like", "fr": "Partout où le vent vous portera"}
|
|
65
|
+
}
|
|
66
|
+
API_REGISTRATION_IS_OPEN: True # True if the instance is open to registration, False if not, it is only used in the federation for the moment
|
|
55
67
|
ports:
|
|
56
68
|
- 5000
|
|
57
69
|
volumes:
|
|
@@ -73,6 +85,13 @@ services:
|
|
|
73
85
|
VITE_INSTANCE_NAME: ${INSTANCE_NAME:-A geovisio instance}
|
|
74
86
|
VITE_API_URL: /
|
|
75
87
|
VITE_TILES: https://panoramax.openstreetmap.fr/pmtiles/basic.json
|
|
88
|
+
# optional metadata
|
|
89
|
+
# The title for the <title> tag of the HTML
|
|
90
|
+
VITE_TITLE: "My Panoramax: The free alternative to photo-mapping territories"
|
|
91
|
+
# The title for the meta tags.
|
|
92
|
+
VITE_META_TITLE: "My Panoramax: The free alternative to photo-mapping territories"
|
|
93
|
+
# The description for meta tags, which is useful for SEO.
|
|
94
|
+
VITE_META_DESCRIPTION: "Panoramax is a digital resource for sharing and using field photos. Anyone can take photographs of places visible from public roads and contribute them to the Panoramax database."
|
|
76
95
|
ports:
|
|
77
96
|
- 3000
|
|
78
97
|
networks:
|
|
@@ -90,7 +109,7 @@ services:
|
|
|
90
109
|
restart: always
|
|
91
110
|
environment:
|
|
92
111
|
PICTURE_PROCESS_DERIVATES_STRATEGY: PREPROCESS
|
|
93
|
-
DB_URL: postgres://gvs
|
|
112
|
+
DB_URL: postgres://gvs:${PG_PASSWORD}@db/geovisio
|
|
94
113
|
FS_URL: /data/geovisio
|
|
95
114
|
API_BLUR_URL: https://blur.panoramax.openstreetmap.fr
|
|
96
115
|
|
|
@@ -120,7 +139,7 @@ services:
|
|
|
120
139
|
db:
|
|
121
140
|
environment:
|
|
122
141
|
POSTGRES_DB: geovisio
|
|
123
|
-
POSTGRES_PASSWORD:
|
|
142
|
+
POSTGRES_PASSWORD: ${PG_PASSWORD}
|
|
124
143
|
POSTGRES_USER: gvs
|
|
125
144
|
healthcheck:
|
|
126
145
|
test: pg_isready -h db -q -d $$POSTGRES_DB -U $$POSTGRES_USER
|
|
@@ -11,6 +11,9 @@ OAUTH_CLIENT_SECRET=
|
|
|
11
11
|
# For production should be provided with a long random string as stated in flask's documentation.
|
|
12
12
|
FLASK_SECRET_KEY=
|
|
13
13
|
|
|
14
|
+
# Password of the postgres db account
|
|
15
|
+
PG_PASSWORD=
|
|
16
|
+
|
|
14
17
|
# Instance domain, used in cookies
|
|
15
18
|
FLASK_SESSION_COOKIE_DOMAIN=
|
|
16
19
|
|