MapProxy 6.0.1__tar.gz → 6.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. {mapproxy-6.0.1 → mapproxy-6.1.1}/CHANGES.txt +52 -0
  2. {mapproxy-6.0.1 → mapproxy-6.1.1}/MapProxy.egg-info/PKG-INFO +55 -23
  3. {mapproxy-6.0.1 → mapproxy-6.1.1}/MapProxy.egg-info/SOURCES.txt +30 -2
  4. {mapproxy-6.0.1 → mapproxy-6.1.1}/MapProxy.egg-info/requires.txt +2 -4
  5. {mapproxy-6.0.1 → mapproxy-6.1.1}/PKG-INFO +55 -23
  6. mapproxy-6.1.1/doc/architecture.rst +39 -0
  7. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/caches.rst +1 -1
  8. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/configuration.rst +58 -0
  9. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/development.rst +1 -1
  10. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/index.rst +1 -0
  11. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/install.rst +2 -2
  12. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/install_windows.rst +2 -2
  13. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/mapproxy_util.rst +2 -2
  14. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/plugins.rst +20 -5
  15. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/seed.rst +1 -1
  16. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/azureblob.py +16 -11
  17. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/base.py +20 -11
  18. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/compact.py +39 -28
  19. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/couchdb.py +14 -15
  20. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/dummy.py +6 -0
  21. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/file.py +21 -13
  22. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/geopackage.py +25 -22
  23. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/legend.py +6 -5
  24. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/mbtiles.py +89 -60
  25. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/meta.py +1 -26
  26. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/path.py +1 -1
  27. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/redis.py +22 -16
  28. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/renderd.py +8 -15
  29. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/s3.py +16 -10
  30. mapproxy-6.1.1/mapproxy/cache/tile.py +188 -0
  31. mapproxy-6.1.1/mapproxy/cache/tile_creator.py +271 -0
  32. mapproxy-6.1.1/mapproxy/cache/tile_manager.py +309 -0
  33. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/client/arcgis.py +5 -4
  34. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/client/cgi.py +3 -3
  35. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/client/http.py +17 -17
  36. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/client/tile.py +2 -1
  37. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/client/wms.py +6 -6
  38. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config/config-schema.json +3 -0
  39. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config/config.py +1 -3
  40. mapproxy-6.1.1/mapproxy/config/configuration/base.py +73 -0
  41. mapproxy-6.1.1/mapproxy/config/configuration/cache.py +776 -0
  42. mapproxy-6.1.1/mapproxy/config/configuration/global_conf.py +65 -0
  43. mapproxy-6.1.1/mapproxy/config/configuration/grid.py +65 -0
  44. mapproxy-6.1.1/mapproxy/config/configuration/image_options.py +104 -0
  45. mapproxy-6.1.1/mapproxy/config/configuration/layer.py +230 -0
  46. mapproxy-6.1.1/mapproxy/config/configuration/proxy.py +225 -0
  47. mapproxy-6.1.1/mapproxy/config/configuration/service.py +363 -0
  48. mapproxy-6.1.1/mapproxy/config/configuration/source.py +715 -0
  49. mapproxy-6.1.1/mapproxy/config/loader.py +161 -0
  50. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config/validator.py +42 -29
  51. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config_template/base_config/mapproxy.yaml +2 -2
  52. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/exception.py +6 -5
  53. mapproxy-6.1.1/mapproxy/extent.py +143 -0
  54. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/featureinfo.py +81 -30
  55. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/grid/__init__.py +12 -9
  56. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/grid/meta_grid.py +35 -22
  57. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/grid/resolutions.py +22 -20
  58. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/grid/tile_grid.py +78 -78
  59. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/__init__.py +99 -70
  60. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/mask.py +12 -10
  61. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/merge.py +47 -39
  62. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/message.py +10 -14
  63. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/opts.py +3 -2
  64. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/tile.py +36 -29
  65. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/transform.py +30 -20
  66. mapproxy-6.1.1/mapproxy/layer/__init__.py +48 -0
  67. mapproxy-6.1.1/mapproxy/layer/cache_map_layer.py +103 -0
  68. mapproxy-6.1.1/mapproxy/layer/direct_map_layer.py +20 -0
  69. mapproxy-6.1.1/mapproxy/layer/limited_layer.py +31 -0
  70. mapproxy-6.1.1/mapproxy/layer/map_layer.py +54 -0
  71. mapproxy-6.1.1/mapproxy/layer/resolution_conditional.py +41 -0
  72. mapproxy-6.1.1/mapproxy/layer/srs_conditional.py +34 -0
  73. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/multiapp.py +4 -4
  74. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/proj.py +0 -13
  75. mapproxy-6.1.1/mapproxy/query.py +60 -0
  76. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/request/arcgis.py +4 -3
  77. mapproxy-6.1.1/mapproxy/request/base.py +224 -0
  78. mapproxy-6.1.1/mapproxy/request/no_case_multi_dict.py +93 -0
  79. mapproxy-6.1.1/mapproxy/request/request_params.py +113 -0
  80. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/request/tile.py +3 -2
  81. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/request/wms/__init__.py +37 -48
  82. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/request/wmts.py +34 -39
  83. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/conf/utils.py +2 -2
  84. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/defrag.py +3 -2
  85. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/export.py +10 -9
  86. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/grids.py +13 -9
  87. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/scales.py +12 -12
  88. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/util.py +27 -22
  89. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/wms_capabilities.py +10 -9
  90. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/seed/config.py +3 -3
  91. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/seed/script.py +2 -1
  92. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/seed/seeder.py +7 -9
  93. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/seed/util.py +2 -6
  94. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/base.py +7 -7
  95. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/demo.py +15 -10
  96. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/kml.py +5 -3
  97. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/api.py +17 -11
  98. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/collections.py +12 -12
  99. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/landing_page.py +2 -1
  100. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/map.py +18 -32
  101. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/map_utils.py +6 -6
  102. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/server.py +10 -3
  103. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/tile.py +10 -9
  104. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/tilematrixsets.py +1 -1
  105. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/tilesets.py +9 -5
  106. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/ol.css +9 -0
  107. mapproxy-6.1.1/mapproxy/service/templates/demo/static/ol.js +2 -0
  108. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/_base.html +11 -11
  109. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/collections/collection.html +80 -9
  110. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/landing_page.html +11 -11
  111. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/openapi/redoc.html +2 -2
  112. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/openapi/swagger.html +5 -5
  113. mapproxy-6.1.1/mapproxy/service/templates/ogcapi/static/ol.css +362 -0
  114. mapproxy-6.1.1/mapproxy/service/templates/ogcapi/static/ol.js +2 -0
  115. mapproxy-6.1.1/mapproxy/service/templates/ogcapi/static/proj4.min.js +15 -0
  116. mapproxy-6.1.1/mapproxy/service/templates/ogcapi/static/proj4defs.js +1 -0
  117. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/tilesets/tileset.html +7 -6
  118. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/tile.py +32 -24
  119. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/wms.py +66 -47
  120. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/wmts.py +17 -11
  121. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/__init__.py +13 -9
  122. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/arcgis.py +11 -7
  123. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/error.py +6 -6
  124. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/mapnik.py +27 -22
  125. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/ogcapimaps.py +11 -6
  126. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/ogcapitiles.py +22 -20
  127. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/tile.py +19 -11
  128. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/source/wms.py +39 -31
  129. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/srs.py +15 -11
  130. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/template.py +1 -1
  131. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/helper.py +1 -1
  132. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/http.py +2 -2
  133. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/image.py +2 -1
  134. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/mocker.py +4 -4
  135. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_azureblob.py +2 -1
  136. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_decorate_img.py +5 -5
  137. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_seed.py +2 -2
  138. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_service_ogcapi.py +36 -59
  139. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_util_export.py +4 -3
  140. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_util_gridconf_from_ogcapitilematrixset.py +1 -1
  141. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_wms.py +6 -6
  142. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_auth.py +5 -4
  143. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache.py +27 -29
  144. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_azureblob.py +1 -1
  145. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_compact.py +13 -13
  146. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_couchdb.py +3 -3
  147. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_geopackage.py +3 -3
  148. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_mbtile.py +2 -2
  149. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_s3.py +1 -1
  150. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_tile.py +20 -20
  151. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_client.py +6 -6
  152. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_client_arcgis.py +1 -1
  153. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_collections.py +41 -3
  154. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_concat_legends.py +4 -4
  155. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_conf_loader.py +51 -9
  156. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_decorate_img.py +21 -20
  157. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_featureinfo.py +58 -1
  158. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_geom.py +2 -2
  159. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_grid.py +16 -16
  160. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_image.py +112 -68
  161. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_image_mask.py +17 -17
  162. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_image_messages.py +12 -12
  163. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_request.py +7 -5
  164. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_request_wmts.py +15 -14
  165. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_seed.py +1 -1
  166. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_seed_cachelock.py +8 -4
  167. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_tiled_source.py +1 -1
  168. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_utils.py +42 -3
  169. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_wms_capabilities.py +1 -1
  170. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_wms_layer.py +4 -3
  171. mapproxy-6.1.1/mapproxy/test/unit/test_yaml.py +230 -0
  172. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/tilefilter.py +2 -2
  173. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/async_.py +2 -2
  174. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/bbox.py +19 -14
  175. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/coverage.py +101 -76
  176. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/dictspec/validator.py +1 -1
  177. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/local.py +1 -1
  178. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/lockfile.py +11 -4
  179. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/serving.py +3 -3
  180. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/tempita/__init__.py +5 -5
  181. mapproxy-6.1.1/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  182. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/geom.py +1 -1
  183. mapproxy-6.1.1/mapproxy/util/immutable_dict_list.py +66 -0
  184. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/jinja2_templates.py +16 -15
  185. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/lib.py +3 -3
  186. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/lock.py +4 -4
  187. mapproxy-6.0.1/mapproxy/util/collections.py → mapproxy-6.1.1/mapproxy/util/lru.py +2 -47
  188. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ogr.py +1 -4
  189. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/py.py +2 -2
  190. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/yaml.py +47 -2
  191. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/wsgiapp.py +4 -8
  192. mapproxy-6.1.1/pyproject.toml +32 -0
  193. mapproxy-6.1.1/requirements-tests.txt +74 -0
  194. {mapproxy-6.0.1 → mapproxy-6.1.1}/setup.py +3 -4
  195. mapproxy-6.0.1/mapproxy/cache/tile.py +0 -736
  196. mapproxy-6.0.1/mapproxy/config/loader.py +0 -2680
  197. mapproxy-6.0.1/mapproxy/layer.py +0 -494
  198. mapproxy-6.0.1/mapproxy/request/base.py +0 -470
  199. mapproxy-6.0.1/mapproxy/service/templates/demo/static/ol.js +0 -4
  200. mapproxy-6.0.1/mapproxy/test/unit/test_yaml.py +0 -68
  201. mapproxy-6.0.1/pyproject.toml +0 -3
  202. mapproxy-6.0.1/requirements-tests.txt +0 -73
  203. {mapproxy-6.0.1 → mapproxy-6.1.1}/AUTHORS.txt +0 -0
  204. {mapproxy-6.0.1 → mapproxy-6.1.1}/COPYING.txt +0 -0
  205. {mapproxy-6.0.1 → mapproxy-6.1.1}/LICENSE.txt +0 -0
  206. {mapproxy-6.0.1 → mapproxy-6.1.1}/MANIFEST.in +0 -0
  207. {mapproxy-6.0.1 → mapproxy-6.1.1}/MapProxy.egg-info/dependency_links.txt +0 -0
  208. {mapproxy-6.0.1 → mapproxy-6.1.1}/MapProxy.egg-info/entry_points.txt +0 -0
  209. {mapproxy-6.0.1 → mapproxy-6.1.1}/MapProxy.egg-info/not-zip-safe +0 -0
  210. {mapproxy-6.0.1 → mapproxy-6.1.1}/MapProxy.egg-info/top_level.txt +0 -0
  211. {mapproxy-6.0.1 → mapproxy-6.1.1}/README.md +0 -0
  212. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/GM.txt +0 -0
  213. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/_static/logo.png +0 -0
  214. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/_static/logo_title.png +0 -0
  215. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/_static/mapproxy.css +0 -0
  216. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/_templates/versions.html +0 -0
  217. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/auth.rst +0 -0
  218. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/caching_layer_dimensions.rst +0 -0
  219. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/conf.py +0 -0
  220. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/configuration_examples.rst +0 -0
  221. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/coverages.rst +0 -0
  222. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/decorate_img.rst +0 -0
  223. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/deployment.rst +0 -0
  224. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/bicubic.png +0 -0
  225. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/bilinear.png +0 -0
  226. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-dynamic.png +0 -0
  227. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-meta-buffer.png +0 -0
  228. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-metatiling-buffer.png +0 -0
  229. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-metatiling.png +0 -0
  230. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-no-clip.png +0 -0
  231. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-no-placement.png +0 -0
  232. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-partial-false.png +0 -0
  233. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/labeling-repeated.png +0 -0
  234. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/mapnik-webmerc-hq.png +0 -0
  235. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/mapnik-webmerc.png +0 -0
  236. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/mapproxy-demo.png +0 -0
  237. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/imgs/nearest.png +0 -0
  238. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/inspire.rst +0 -0
  239. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/install_docker.rst +0 -0
  240. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/install_osgeo4w.rst +0 -0
  241. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/labeling.rst +0 -0
  242. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/mapproxy_util_autoconfig.rst +0 -0
  243. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/ogc_api.rst +0 -0
  244. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/services.rst +0 -0
  245. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/sources.rst +0 -0
  246. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/tutorial.rst +0 -0
  247. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/tutorial.yaml +0 -0
  248. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/yaml/cache_conf.yaml +0 -0
  249. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/yaml/grid_conf.yaml +0 -0
  250. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/yaml/merged_conf.yaml +0 -0
  251. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/yaml/meta_conf.yaml +0 -0
  252. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/yaml/seed.yaml +0 -0
  253. {mapproxy-6.0.1 → mapproxy-6.1.1}/doc/yaml/simple_conf.yaml +0 -0
  254. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/__init__.py +0 -0
  255. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/cache/__init__.py +0 -0
  256. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/client/__init__.py +0 -0
  257. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/client/log.py +0 -0
  258. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config/__init__.py +0 -0
  259. {mapproxy-6.0.1/mapproxy/config_template → mapproxy-6.1.1/mapproxy/config/configuration}/__init__.py +0 -0
  260. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config/coverage.py +0 -0
  261. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config/defaults.py +0 -0
  262. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config/spec.py +0 -0
  263. {mapproxy-6.0.1/mapproxy/image/fonts → mapproxy-6.1.1/mapproxy/config_template}/__init__.py +0 -0
  264. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config_template/base_config/config.wsgi +0 -0
  265. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config_template/base_config/full_example.yaml +0 -0
  266. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
  267. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config_template/base_config/log.ini +0 -0
  268. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/config_template/base_config/seed.yaml +0 -0
  269. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  270. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  271. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/image/fonts/LICENSE +0 -0
  272. {mapproxy-6.0.1/mapproxy/script → mapproxy-6.1.1/mapproxy/image/fonts}/__init__.py +0 -0
  273. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/request/__init__.py +0 -0
  274. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/request/wms/exception.py +0 -0
  275. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/response.py +0 -0
  276. {mapproxy-6.0.1/mapproxy/script/conf → mapproxy-6.1.1/mapproxy/script}/__init__.py +0 -0
  277. {mapproxy-6.0.1/mapproxy/seed → mapproxy-6.1.1/mapproxy/script/conf}/__init__.py +0 -0
  278. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/conf/app.py +0 -0
  279. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/conf/caches.py +0 -0
  280. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/conf/geopackage.py +0 -0
  281. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/conf/layers.py +0 -0
  282. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/conf/seeds.py +0 -0
  283. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/conf/sources.py +0 -0
  284. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/script/gridconf_from_ogcapitilematrixset.py +0 -0
  285. {mapproxy-6.0.1/mapproxy/test → mapproxy-6.1.1/mapproxy/seed}/__init__.py +0 -0
  286. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/seed/cachelock.py +0 -0
  287. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/seed/cleanup.py +0 -0
  288. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/seed/spec.py +0 -0
  289. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/__init__.py +0 -0
  290. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/__init__.py +0 -0
  291. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/conformance.py +0 -0
  292. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ogcapi/constants.py +0 -0
  293. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/ows.py +0 -0
  294. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/template_helper.py +0 -0
  295. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
  296. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/demo.html +0 -0
  297. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
  298. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  299. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  300. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  301. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  302. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  303. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  304. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  305. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  306. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/logo.png +0 -0
  307. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
  308. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
  309. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/site.css +0 -0
  310. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  311. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
  312. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
  313. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
  314. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/static.html +0 -0
  315. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/tms_demo.html +0 -0
  316. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/wms_demo.html +0 -0
  317. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
  318. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/collections/index.html +0 -0
  319. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/conformance.html +0 -0
  320. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/exception.html +0 -0
  321. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/css/bootstrap.min.css +0 -0
  322. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/css/default.css +0 -0
  323. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/fonts_montserra_roboto.css +0 -0
  324. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/img/logo.png +0 -0
  325. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/img/pygeoapi-logo.png +0 -0
  326. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/redoc.standalone.js +0 -0
  327. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/favicon-16x16.png +0 -0
  328. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/favicon-32x32.png +0 -0
  329. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/swagger-ui-bundle.js +0 -0
  330. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/swagger-ui-standalone-preset.js +0 -0
  331. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/static/swagger-ui-dist/swagger-ui.css +0 -0
  332. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/tilematrixsets/index.html +0 -0
  333. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/tilematrixsets/tilematrixset.html +0 -0
  334. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ogcapi/tilesets/index.html +0 -0
  335. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/ows_exception.xml +0 -0
  336. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/tms_capabilities.xml +0 -0
  337. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/tms_exception.xml +0 -0
  338. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/tms_root_resource.xml +0 -0
  339. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
  340. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms100capabilities.xml +0 -0
  341. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms100exception.xml +0 -0
  342. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms110capabilities.xml +0 -0
  343. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms110exception.xml +0 -0
  344. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms111capabilities.xml +0 -0
  345. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms111exception.xml +0 -0
  346. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms130capabilities.xml +0 -0
  347. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wms130exception.xml +0 -0
  348. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
  349. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/service/templates/wmts100exception.xml +0 -0
  350. {mapproxy-6.0.1/mapproxy/test/unit → mapproxy-6.1.1/mapproxy/test}/__init__.py +0 -0
  351. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/conftest.py +0 -0
  352. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
  353. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
  354. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
  355. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
  356. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
  357. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
  358. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
  359. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
  360. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
  361. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
  362. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
  363. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
  364. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
  365. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
  366. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
  367. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
  368. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
  369. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
  370. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
  371. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
  372. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
  373. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
  374. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
  375. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
  376. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
  377. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
  378. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
  379. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
  380. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
  381. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
  382. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
  383. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
  384. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
  385. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
  386. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
  387. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
  388. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
  389. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
  390. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
  391. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
  392. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
  393. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
  394. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
  395. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
  396. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
  397. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
  398. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
  399. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
  400. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
  401. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
  402. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
  403. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
  404. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
  405. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
  406. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
  407. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  408. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  409. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  410. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
  411. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
  412. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
  413. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
  414. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
  415. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
  416. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
  417. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
  418. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
  419. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
  420. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  421. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  422. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  423. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
  424. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
  425. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
  426. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
  427. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
  428. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
  429. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
  430. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
  431. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
  432. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
  433. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
  434. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
  435. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
  436. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
  437. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
  438. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
  439. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/schemas/xml.xsd +0 -0
  440. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/__init__.py +0 -0
  441. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
  442. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/auth.yaml +0 -0
  443. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
  444. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
  445. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
  446. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
  447. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
  448. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  449. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  450. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  451. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
  452. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
  453. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
  454. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
  455. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
  456. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
  457. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/coverage.yaml +0 -0
  458. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/demo.yaml +0 -0
  459. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/dimension.yaml +0 -0
  460. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
  461. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
  462. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/formats.yaml +0 -0
  463. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/inspire.yaml +0 -0
  464. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
  465. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
  466. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/layer.yaml +0 -0
  467. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
  468. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
  469. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
  470. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
  471. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
  472. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
  473. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
  474. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
  475. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
  476. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
  477. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
  478. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapi_maps_and_tiles_non_earth_service.yaml +0 -0
  479. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapi_maps_and_tiles_service.yaml +0 -0
  480. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapimaps_non_earth_source.yaml +0 -0
  481. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapimaps_service.yaml +0 -0
  482. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapimaps_source.yaml +0 -0
  483. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapimaps_source_with_supported_srs.yaml +0 -0
  484. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapitiles_non_earth_source.yaml +0 -0
  485. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapitiles_service.yaml +0 -0
  486. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/ogcapitiles_source.yaml +0 -0
  487. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
  488. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
  489. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/seed.yaml +0 -0
  490. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
  491. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
  492. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
  493. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
  494. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/sld.yaml +0 -0
  495. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
  496. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
  497. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
  498. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
  499. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
  500. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
  501. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
  502. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
  503. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
  504. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
  505. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
  506. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
  507. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/watermark.yaml +0 -0
  508. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
  509. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
  510. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/wmts.yaml +0 -0
  511. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
  512. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
  513. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
  514. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_arcgis.py +0 -0
  515. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_auth.py +0 -0
  516. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_behind_proxy.py +0 -0
  517. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
  518. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_band_merge.py +0 -0
  519. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_coverage.py +0 -0
  520. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_geopackage.py +0 -0
  521. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_grid_names.py +0 -0
  522. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
  523. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_s3.py +0 -0
  524. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_cache_source.py +0 -0
  525. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_combined_sources.py +0 -0
  526. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_coverage.py +0 -0
  527. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_demo.py +0 -0
  528. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
  529. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_dimensions.py +0 -0
  530. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_disable_storage.py +0 -0
  531. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_formats.py +0 -0
  532. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_inspire_vs.py +0 -0
  533. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_kml.py +0 -0
  534. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_layergroups.py +0 -0
  535. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_legendgraphic.py +0 -0
  536. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_mapnik.py +0 -0
  537. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_mapserver.py +0 -0
  538. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
  539. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
  540. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_multiapp.py +0 -0
  541. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_refresh.py +0 -0
  542. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_renderd_client.py +0 -0
  543. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_response_headers.py +0 -0
  544. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_scalehints.py +0 -0
  545. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_seed_only.py +0 -0
  546. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_sld.py +0 -0
  547. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_source_errors.py +0 -0
  548. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_source_ogcapimaps.py +0 -0
  549. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_source_ogcapitiles.py +0 -0
  550. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
  551. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_tms.py +0 -0
  552. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_tms_origin.py +0 -0
  553. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_util_conf.py +0 -0
  554. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_util_grids.py +0 -0
  555. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
  556. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_watermark.py +0 -0
  557. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
  558. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_wms_version.py +0 -0
  559. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_wmsc.py +0 -0
  560. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_wmts.py +0 -0
  561. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
  562. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_wmts_restful.py +0 -0
  563. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
  564. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/test_http_helper.py +0 -0
  565. {mapproxy-6.0.1/mapproxy/util → mapproxy-6.1.1/mapproxy/test/unit}/__init__.py +0 -0
  566. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/epsg +0 -0
  567. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
  568. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/polygons/polygons.shp +0 -0
  569. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/polygons/polygons.shx +0 -0
  570. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_async.py +0 -0
  571. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_cache_redis.py +0 -0
  572. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_client_cgi.py +0 -0
  573. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_conf_validator.py +0 -0
  574. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_config.py +0 -0
  575. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_exceptions.py +0 -0
  576. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_file_lock_load.py +0 -0
  577. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_fs.py +0 -0
  578. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_image_options.py +0 -0
  579. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_isodate.py +0 -0
  580. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_multiapp.py +0 -0
  581. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_ogr_reader.py +0 -0
  582. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_response.py +0 -0
  583. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_srs.py +0 -0
  584. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_tilefilter.py +0 -0
  585. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_times.py +0 -0
  586. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_timeutils.py +0 -0
  587. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
  588. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/test/unit/test_util_ogcapi.py +0 -0
  589. {mapproxy-6.0.1/mapproxy/util/ext/dictspec/test → mapproxy-6.1.1/mapproxy/util}/__init__.py +0 -0
  590. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/escape.py +0 -0
  591. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/__init__.py +0 -0
  592. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/dictspec/__init__.py +0 -0
  593. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/dictspec/spec.py +0 -0
  594. {mapproxy-6.0.1/mapproxy/util/ext/wmsparse → mapproxy-6.1.1/mapproxy/util/ext/dictspec}/test/__init__.py +0 -0
  595. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
  596. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/tempita/_looper.py +0 -0
  597. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/tempita/string_utils.py +0 -0
  598. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
  599. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/duration.py +0 -0
  600. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/parse.py +0 -0
  601. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
  602. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
  603. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
  604. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
  605. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
  606. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
  607. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ext/wmsparse/util.py +0 -0
  608. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/fs.py +0 -0
  609. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/ogcapi.py +0 -0
  610. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/sqlite3.py +0 -0
  611. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/util/times.py +0 -0
  612. {mapproxy-6.0.1 → mapproxy-6.1.1}/mapproxy/version.py +0 -0
  613. {mapproxy-6.0.1 → mapproxy-6.1.1}/setup.cfg +0 -0
@@ -1,3 +1,55 @@
1
+ 6.1.1 2026-06-17
2
+ ~~~~~~~~~~~~~~~~
3
+
4
+ Maintenance:
5
+
6
+ - Update dependencies
7
+
8
+ Fixes:
9
+
10
+ - ImageResult.as_buffer will always return image mode rgba if requested
11
+ - Restore context manager protocol on ProxyConfiguration
12
+ - Fix base path for rendering OGC API HTML pages in multi mapproxy setups
13
+ - Fix determination of resolutions in WMTS demo
14
+
15
+
16
+ 6.1.0 2026-06-03
17
+ ~~~~~~~~~~~~~~~~
18
+
19
+ Maintenance:
20
+
21
+ - Add static typing
22
+ - Update action versions
23
+ - Post coverage report in PRs
24
+ - Update pillow versions in actions
25
+ - Replace tox.ini with pyproject.toml
26
+ - Update docs
27
+ - Add architecture diagrams
28
+ - Update various dependencies
29
+ - Refactored code to clarify and use types
30
+ - Refactored ImageSource to ImageResult
31
+ - Split loader.py into multiple files
32
+ - Remove support for python 3.9 (EOL)
33
+ - Fixed shapely deprecation warnings
34
+
35
+ Improvements:
36
+
37
+ - Add json GFI format
38
+ - Improve configuration validation
39
+ - Improvements for reverse proxy setups
40
+ - Improve multi processing in tests
41
+ - XML / HMTL errors in GFI requests are handled in a more lenient way now. Instead of raising exceptions on bad input, the code now logs warnings and returns safe empty defaults.
42
+ - Feature: Update OpenLayers and use OGCMapTile source in OGC-API demo pages
43
+ - Use environment variables in yaml-files for storing sensitve data
44
+
45
+ Fixes:
46
+
47
+ - Bug fixes in OGC APIs
48
+ - Fix seeding worker crash on incomplete HTTP responses
49
+ - Catch sqlite3.DatabaseErrors for all cursor actions
50
+ - Wrap IOError as LockError in LockFile.__init__ to enable retry on race condition
51
+
52
+
1
53
  6.0.1 2025-10-29
2
54
  ~~~~~~~~~~~~~~~~
3
55
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 6.0.1
3
+ Version: 6.1.1
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -12,7 +12,6 @@ Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
@@ -29,16 +28,16 @@ Requires-Dist: future
29
28
  Requires-Dist: pyproj>=2
30
29
  Requires-Dist: jsonschema>=4
31
30
  Requires-Dist: werkzeug<4
32
- Requires-Dist: Pillow!=8.3.0,!=8.3.1,>=8; python_version == "3.9"
33
31
  Requires-Dist: Pillow>=9; python_version == "3.10"
34
32
  Requires-Dist: Pillow>=10; python_version == "3.11"
35
33
  Requires-Dist: Pillow>=10.1; python_version == "3.12"
36
- Requires-Dist: Pillow>=11; python_version == "3.13"
34
+ Requires-Dist: Pillow>=11; python_version >= "3.13"
37
35
  Requires-Dist: lxml>=6
38
36
  Requires-Dist: shapely>=2
39
37
  Requires-Dist: jinja2
40
38
  Requires-Dist: Babel
41
39
  Requires-Dist: python-dateutil
40
+ Requires-Dist: requests
42
41
  Dynamic: author
43
42
  Dynamic: author-email
44
43
  Dynamic: classifier
@@ -64,6 +63,58 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
64
63
 
65
64
  Changes
66
65
  -------
66
+ 6.1.1 2026-06-17
67
+ ~~~~~~~~~~~~~~~~
68
+
69
+ Maintenance:
70
+
71
+ - Update dependencies
72
+
73
+ Fixes:
74
+
75
+ - ImageResult.as_buffer will always return image mode rgba if requested
76
+ - Restore context manager protocol on ProxyConfiguration
77
+ - Fix base path for rendering OGC API HTML pages in multi mapproxy setups
78
+ - Fix determination of resolutions in WMTS demo
79
+
80
+
81
+ 6.1.0 2026-06-03
82
+ ~~~~~~~~~~~~~~~~
83
+
84
+ Maintenance:
85
+
86
+ - Add static typing
87
+ - Update action versions
88
+ - Post coverage report in PRs
89
+ - Update pillow versions in actions
90
+ - Replace tox.ini with pyproject.toml
91
+ - Update docs
92
+ - Add architecture diagrams
93
+ - Update various dependencies
94
+ - Refactored code to clarify and use types
95
+ - Refactored ImageSource to ImageResult
96
+ - Split loader.py into multiple files
97
+ - Remove support for python 3.9 (EOL)
98
+ - Fixed shapely deprecation warnings
99
+
100
+ Improvements:
101
+
102
+ - Add json GFI format
103
+ - Improve configuration validation
104
+ - Improvements for reverse proxy setups
105
+ - Improve multi processing in tests
106
+ - XML / HMTL errors in GFI requests are handled in a more lenient way now. Instead of raising exceptions on bad input, the code now logs warnings and returns safe empty defaults.
107
+ - Feature: Update OpenLayers and use OGCMapTile source in OGC-API demo pages
108
+ - Use environment variables in yaml-files for storing sensitve data
109
+
110
+ Fixes:
111
+
112
+ - Bug fixes in OGC APIs
113
+ - Fix seeding worker crash on incomplete HTTP responses
114
+ - Catch sqlite3.DatabaseErrors for all cursor actions
115
+ - Wrap IOError as LockError in LockFile.__init__ to enable retry on race condition
116
+
117
+
67
118
  6.0.1 2025-10-29
68
119
  ~~~~~~~~~~~~~~~~
69
120
 
@@ -161,25 +212,6 @@ Fixes:
161
212
  - An lxml encoding error is fixed
162
213
 
163
214
 
164
- 4.1.2 2025-05-27
165
- ~~~~~~~~~~~~~~~~
166
-
167
- Maintenance:
168
-
169
- - Set Pillow versions in setup.py to actually supported versions
170
- - Using PIL instead of Pillow was not working since Python 2, so it is removed from setup.py
171
- - Using a higher pyproj version for Python 3.13 is necessary
172
- - Added a test for an older Pillow version with Python 3.9
173
-
174
-
175
- 4.1.1 2025-04-30
176
- ~~~~~~~~~~~~~~~~
177
-
178
- Improvements:
179
-
180
- - The scale denominator in the WMTS capabilites is now rounded to 10 digits after the decimal place.
181
-
182
-
183
215
 
184
216
  Older changes
185
217
  -------------
@@ -15,6 +15,7 @@ MapProxy.egg-info/not-zip-safe
15
15
  MapProxy.egg-info/requires.txt
16
16
  MapProxy.egg-info/top_level.txt
17
17
  doc/GM.txt
18
+ doc/architecture.rst
18
19
  doc/auth.rst
19
20
  doc/caches.rst
20
21
  doc/caching_layer_dimensions.rst
@@ -67,10 +68,11 @@ doc/yaml/seed.yaml
67
68
  doc/yaml/simple_conf.yaml
68
69
  mapproxy/__init__.py
69
70
  mapproxy/exception.py
71
+ mapproxy/extent.py
70
72
  mapproxy/featureinfo.py
71
- mapproxy/layer.py
72
73
  mapproxy/multiapp.py
73
74
  mapproxy/proj.py
75
+ mapproxy/query.py
74
76
  mapproxy/response.py
75
77
  mapproxy/srs.py
76
78
  mapproxy/template.py
@@ -93,6 +95,8 @@ mapproxy/cache/redis.py
93
95
  mapproxy/cache/renderd.py
94
96
  mapproxy/cache/s3.py
95
97
  mapproxy/cache/tile.py
98
+ mapproxy/cache/tile_creator.py
99
+ mapproxy/cache/tile_manager.py
96
100
  mapproxy/client/__init__.py
97
101
  mapproxy/client/arcgis.py
98
102
  mapproxy/client/cgi.py
@@ -108,6 +112,16 @@ mapproxy/config/defaults.py
108
112
  mapproxy/config/loader.py
109
113
  mapproxy/config/spec.py
110
114
  mapproxy/config/validator.py
115
+ mapproxy/config/configuration/__init__.py
116
+ mapproxy/config/configuration/base.py
117
+ mapproxy/config/configuration/cache.py
118
+ mapproxy/config/configuration/global_conf.py
119
+ mapproxy/config/configuration/grid.py
120
+ mapproxy/config/configuration/image_options.py
121
+ mapproxy/config/configuration/layer.py
122
+ mapproxy/config/configuration/proxy.py
123
+ mapproxy/config/configuration/service.py
124
+ mapproxy/config/configuration/source.py
111
125
  mapproxy/config_template/__init__.py
112
126
  mapproxy/config_template/base_config/config.wsgi
113
127
  mapproxy/config_template/base_config/full_example.yaml
@@ -130,9 +144,18 @@ mapproxy/image/fonts/DejaVuSans.ttf
130
144
  mapproxy/image/fonts/DejaVuSansMono.ttf
131
145
  mapproxy/image/fonts/LICENSE
132
146
  mapproxy/image/fonts/__init__.py
147
+ mapproxy/layer/__init__.py
148
+ mapproxy/layer/cache_map_layer.py
149
+ mapproxy/layer/direct_map_layer.py
150
+ mapproxy/layer/limited_layer.py
151
+ mapproxy/layer/map_layer.py
152
+ mapproxy/layer/resolution_conditional.py
153
+ mapproxy/layer/srs_conditional.py
133
154
  mapproxy/request/__init__.py
134
155
  mapproxy/request/arcgis.py
135
156
  mapproxy/request/base.py
157
+ mapproxy/request/no_case_multi_dict.py
158
+ mapproxy/request/request_params.py
136
159
  mapproxy/request/tile.py
137
160
  mapproxy/request/wmts.py
138
161
  mapproxy/request/wms/__init__.py
@@ -231,6 +254,10 @@ mapproxy/service/templates/ogcapi/collections/index.html
231
254
  mapproxy/service/templates/ogcapi/openapi/redoc.html
232
255
  mapproxy/service/templates/ogcapi/openapi/swagger.html
233
256
  mapproxy/service/templates/ogcapi/static/fonts_montserra_roboto.css
257
+ mapproxy/service/templates/ogcapi/static/ol.css
258
+ mapproxy/service/templates/ogcapi/static/ol.js
259
+ mapproxy/service/templates/ogcapi/static/proj4.min.js
260
+ mapproxy/service/templates/ogcapi/static/proj4defs.js
234
261
  mapproxy/service/templates/ogcapi/static/redoc.standalone.js
235
262
  mapproxy/service/templates/ogcapi/static/css/bootstrap.min.css
236
263
  mapproxy/service/templates/ogcapi/static/css/default.css
@@ -536,14 +563,15 @@ mapproxy/test/unit/polygons/polygons.shx
536
563
  mapproxy/util/__init__.py
537
564
  mapproxy/util/async_.py
538
565
  mapproxy/util/bbox.py
539
- mapproxy/util/collections.py
540
566
  mapproxy/util/coverage.py
541
567
  mapproxy/util/escape.py
542
568
  mapproxy/util/fs.py
543
569
  mapproxy/util/geom.py
570
+ mapproxy/util/immutable_dict_list.py
544
571
  mapproxy/util/jinja2_templates.py
545
572
  mapproxy/util/lib.py
546
573
  mapproxy/util/lock.py
574
+ mapproxy/util/lru.py
547
575
  mapproxy/util/ogcapi.py
548
576
  mapproxy/util/ogr.py
549
577
  mapproxy/util/py.py
@@ -8,6 +8,7 @@ shapely>=2
8
8
  jinja2
9
9
  Babel
10
10
  python-dateutil
11
+ requests
11
12
 
12
13
  [:python_version == "3.10"]
13
14
  Pillow>=9
@@ -18,8 +19,5 @@ Pillow>=10
18
19
  [:python_version == "3.12"]
19
20
  Pillow>=10.1
20
21
 
21
- [:python_version == "3.13"]
22
+ [:python_version >= "3.13"]
22
23
  Pillow>=11
23
-
24
- [:python_version == "3.9"]
25
- Pillow!=8.3.0,!=8.3.1,>=8
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 6.0.1
3
+ Version: 6.1.1
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -12,7 +12,6 @@ Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
@@ -29,16 +28,16 @@ Requires-Dist: future
29
28
  Requires-Dist: pyproj>=2
30
29
  Requires-Dist: jsonschema>=4
31
30
  Requires-Dist: werkzeug<4
32
- Requires-Dist: Pillow!=8.3.0,!=8.3.1,>=8; python_version == "3.9"
33
31
  Requires-Dist: Pillow>=9; python_version == "3.10"
34
32
  Requires-Dist: Pillow>=10; python_version == "3.11"
35
33
  Requires-Dist: Pillow>=10.1; python_version == "3.12"
36
- Requires-Dist: Pillow>=11; python_version == "3.13"
34
+ Requires-Dist: Pillow>=11; python_version >= "3.13"
37
35
  Requires-Dist: lxml>=6
38
36
  Requires-Dist: shapely>=2
39
37
  Requires-Dist: jinja2
40
38
  Requires-Dist: Babel
41
39
  Requires-Dist: python-dateutil
40
+ Requires-Dist: requests
42
41
  Dynamic: author
43
42
  Dynamic: author-email
44
43
  Dynamic: classifier
@@ -64,6 +63,58 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
64
63
 
65
64
  Changes
66
65
  -------
66
+ 6.1.1 2026-06-17
67
+ ~~~~~~~~~~~~~~~~
68
+
69
+ Maintenance:
70
+
71
+ - Update dependencies
72
+
73
+ Fixes:
74
+
75
+ - ImageResult.as_buffer will always return image mode rgba if requested
76
+ - Restore context manager protocol on ProxyConfiguration
77
+ - Fix base path for rendering OGC API HTML pages in multi mapproxy setups
78
+ - Fix determination of resolutions in WMTS demo
79
+
80
+
81
+ 6.1.0 2026-06-03
82
+ ~~~~~~~~~~~~~~~~
83
+
84
+ Maintenance:
85
+
86
+ - Add static typing
87
+ - Update action versions
88
+ - Post coverage report in PRs
89
+ - Update pillow versions in actions
90
+ - Replace tox.ini with pyproject.toml
91
+ - Update docs
92
+ - Add architecture diagrams
93
+ - Update various dependencies
94
+ - Refactored code to clarify and use types
95
+ - Refactored ImageSource to ImageResult
96
+ - Split loader.py into multiple files
97
+ - Remove support for python 3.9 (EOL)
98
+ - Fixed shapely deprecation warnings
99
+
100
+ Improvements:
101
+
102
+ - Add json GFI format
103
+ - Improve configuration validation
104
+ - Improvements for reverse proxy setups
105
+ - Improve multi processing in tests
106
+ - XML / HMTL errors in GFI requests are handled in a more lenient way now. Instead of raising exceptions on bad input, the code now logs warnings and returns safe empty defaults.
107
+ - Feature: Update OpenLayers and use OGCMapTile source in OGC-API demo pages
108
+ - Use environment variables in yaml-files for storing sensitve data
109
+
110
+ Fixes:
111
+
112
+ - Bug fixes in OGC APIs
113
+ - Fix seeding worker crash on incomplete HTTP responses
114
+ - Catch sqlite3.DatabaseErrors for all cursor actions
115
+ - Wrap IOError as LockError in LockFile.__init__ to enable retry on race condition
116
+
117
+
67
118
  6.0.1 2025-10-29
68
119
  ~~~~~~~~~~~~~~~~
69
120
 
@@ -161,25 +212,6 @@ Fixes:
161
212
  - An lxml encoding error is fixed
162
213
 
163
214
 
164
- 4.1.2 2025-05-27
165
- ~~~~~~~~~~~~~~~~
166
-
167
- Maintenance:
168
-
169
- - Set Pillow versions in setup.py to actually supported versions
170
- - Using PIL instead of Pillow was not working since Python 2, so it is removed from setup.py
171
- - Using a higher pyproj version for Python 3.13 is necessary
172
- - Added a test for an older Pillow version with Python 3.9
173
-
174
-
175
- 4.1.1 2025-04-30
176
- ~~~~~~~~~~~~~~~~
177
-
178
- Improvements:
179
-
180
- - The scale denominator in the WMTS capabilites is now rounded to 10 digits after the decimal place.
181
-
182
-
183
215
 
184
216
  Older changes
185
217
  -------------
@@ -0,0 +1,39 @@
1
+ Architecture Diagrams for MapProxy
2
+ ==================================
3
+
4
+ Last Update: 15.01.2026
5
+
6
+ System Context View
7
+ -------------------
8
+
9
+ .. image:: diagrams/01_context_view.drawio.svg
10
+ :alt: System Context View
11
+ :width: 600px
12
+
13
+ Component View
14
+ --------------
15
+
16
+ .. image:: diagrams/02_component_view.drawio.svg
17
+ :alt: Component View
18
+ :width: 600px
19
+
20
+ Flow Diagrams
21
+ -------------
22
+
23
+ WMS Request
24
+ ~~~~~~~~~~~
25
+
26
+ A WMS request for a cached WMS source. The image is not cached yet.
27
+
28
+ .. image:: diagrams/03_wms_cached_wms_request_flow.drawio.svg
29
+ :alt: WMS request flow diagram
30
+ :width: 600px
31
+
32
+ WMTS Request
33
+ ~~~~~~~~~~~~
34
+
35
+ A WMTS request for a cached WMS source. The image is not cached yet.
36
+
37
+ .. image:: diagrams/04_wmts_cached_wms_request_flow.drawio.svg
38
+ :alt: WMTS request flow diagram
39
+ :width: 600px
@@ -99,7 +99,7 @@ This is the default cache type and it uses a single file for each tile. Availabl
99
99
  ``mbtiles``
100
100
  ===========
101
101
 
102
- Use a single SQLite file for this cache. It uses the `MBTile specification <http://mbtiles.org/>`_.
102
+ Use a single SQLite file for this cache. It uses the `MBTiles specification <https://github.com/mapbox/mbtiles-spec>`_.
103
103
 
104
104
  Available options:
105
105
 
@@ -160,6 +160,58 @@ There are other optional sections:
160
160
  .. versionchanged:: 1.16.0
161
161
  Improved support of splat configuration files
162
162
 
163
+ .. index:: environment variables
164
+ single: environment variables
165
+
166
+ Environment Variables
167
+ """""""""""""""""""""
168
+
169
+ You can use environment variables in all MapProxy YAML configuration files (e.g ``mapproxy.yaml``, ``seed.yaml``, etc.).
170
+ MapProxy supports two syntaxes for referencing environment variables:
171
+
172
+ - ``$VARIABLE_NAME``
173
+ - ``${VARIABLE_NAME}``
174
+
175
+ Environment variables are expanded in all string values throughout the entire configuration, including nested structures such as lists and dictionaries. Non-string values (numbers, booleans, etc.) are not affected.
176
+
177
+ If a referenced environment variable is **not set**, the original placeholder (e.g. ``$VARIABLE_NAME`` or ``${VARIABLE_NAME}``) is kept unchanged. This acts as a safe fallback.
178
+
179
+ For example, given the following environment variables:
180
+
181
+ .. code-block:: bash
182
+
183
+ export DB_HOST=mydbserver.example.com
184
+ export CACHE_DIR=/var/cache/mapproxy
185
+ export WMS_URL=http://wms.example.com/service
186
+
187
+ You can reference them in your ``mapproxy.yaml``:
188
+
189
+ .. code-block:: yaml
190
+
191
+ globals:
192
+ cache:
193
+ base_dir: ${CACHE_DIR}
194
+
195
+ sources:
196
+ my_wms:
197
+ type: wms
198
+ req:
199
+ url: $WMS_URL
200
+ layers: my_layer
201
+
202
+ caches:
203
+ my_cache:
204
+ grids: [GLOBAL_MERCATOR]
205
+ sources: [my_wms]
206
+ cache:
207
+ type: sqlite
208
+ directory: ${CACHE_DIR}/tiles
209
+
210
+ Both ``$WMS_URL`` and ``${WMS_URL}`` are equivalent. The braced syntax ``${...}`` is useful when the variable is directly followed by other characters, e.g. ``${CACHE_DIR}/tiles``.
211
+
212
+ .. note::
213
+ Environment variables are resolved at configuration load time. Changes to environment variables after MapProxy has started require a restart to take effect.
214
+
163
215
  .. #################################################################################
164
216
 
165
217
  .. index:: services
@@ -747,6 +799,12 @@ There are three pre-defined grids all with global coverage:
747
799
  - ``GLOBAL_MERCATOR``: EPSG:900913, origin south-west, compatible with OpenLayers map in EPSG:900913
748
800
  - ``GLOBAL_WEBMERCATOR``: similar to ``GLOBAL_MERCATOR`` but uses EPSG:3857 and origin north-west, compatible with OpenStreetMap/etc.
749
801
 
802
+ Note:
803
+ These pre-defined grids take all other parameters from default values, which might or might not fit your needs.
804
+ Especially relevant is that resolutions calculation assumes a ``num_levels`` of 20 (exclusive) if not specified, resulting in a maximum zoom level of 19.
805
+ To check what grids look like from your configuration, the command ``mapproxy-util grids mapproxy.yaml``` comes handy.
806
+
807
+
750
808
  .. versionadded:: 1.6.0
751
809
  ``GLOBAL_WEBMERCATOR``
752
810
 
@@ -28,7 +28,7 @@ __ fork_
28
28
  Documentation
29
29
  -------------
30
30
 
31
- This is the documentation you are reading right now. The raw files can be found in ``doc/``. The HTML version user documentation is build with `Sphinx`_. To rebuild this documentation install Sphinx with ``pip install sphinx sphinx-bootstrap-theme`` and call ``sphinx-build doc/ docs``. The output appears in ``docs``. The latest documentation can be found at ``https://mapproxy.github.io/mapproxy/latest/``.
31
+ This is the documentation you are reading right now. The raw files can be found in ``doc/``. The HTML version user documentation is build with `Sphinx`_. To rebuild this documentation install Sphinx with ``pip install sphinx sphinx-book-theme`` and call ``sphinx-build doc/ docs``. The output appears in ``docs``. The latest documentation can be found at ``https://mapproxy.github.io/mapproxy/latest/``.
32
32
 
33
33
  .. _`Epydoc`: http://epydoc.sourceforge.net/
34
34
  .. _`Sphinx`: http://sphinx.pocoo.org/
@@ -33,6 +33,7 @@ MapProxy Documentation
33
33
  auth
34
34
  decorate_img
35
35
  development
36
+ architecture
36
37
  plugins
37
38
 
38
39
 
@@ -5,7 +5,7 @@ This tutorial guides you to the MapProxy installation process on Unix systems. F
5
5
 
6
6
  This tutorial was created and tested with Debian and Ubuntu, if you're installing MapProxy on a different system you might need to change some package names.
7
7
 
8
- MapProxy is `registered at the Python Package Index <https://pypi.org/project/MapProxy/>`_ (PyPI). If you have Python 3.9 or higher, you can install MapProxy with::
8
+ MapProxy is `registered at the Python Package Index <https://pypi.org/project/MapProxy/>`_ (PyPI). If you have Python 3.10 or higher, you can install MapProxy with::
9
9
 
10
10
  python -m pip install MapProxy
11
11
 
@@ -39,7 +39,7 @@ This will change the ``PATH`` for your `current` session.
39
39
  Install Dependencies
40
40
  --------------------
41
41
 
42
- MapProxy is written in Python, thus you will need a working Python installation. MapProxy works with Python 3.9 or higher, which should already be installed with most Linux distributions.
42
+ MapProxy is written in Python, thus you will need a working Python installation. MapProxy works with Python 3.10 or higher, which should already be installed with most Linux distributions.
43
43
 
44
44
  MapProxy requires a few third-party libraries that are required to run.
45
45
 
@@ -1,7 +1,7 @@
1
1
  Installation on Windows
2
2
  =======================
3
3
 
4
- At first you need a working Python installation. You can download Python from: https://www.python.org/download/. MapProxy requires Python 3.9 or higher.
4
+ At first you need a working Python installation. You can download Python from: https://www.python.org/download/. MapProxy requires Python 3.10 or higher.
5
5
 
6
6
  Virtualenv
7
7
  ----------
@@ -82,7 +82,7 @@ Platform dependent packages
82
82
 
83
83
  ``pip`` downloads all packages from https://pypi.org/, but not all platform combinations might be available as a binary package, especially if you run a 64bit version of Python.
84
84
 
85
- If you run into trouble during installation, because it is trying to compile something (e.g. complaining about ``vcvarsall.bat``), you should look at Christoph Gohlke's `Unofficial Windows Binaries for Python Extension Packages <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_. This is a reliable site for binary packages for Python. You need to download the right package: The ``cpxx`` code refers to the Python version (e.g. ``cp39`` for Python 3.9); ``win32`` for 32bit Python installations and ``amd64`` for 64bit.
85
+ If you run into trouble during installation, because it is trying to compile something (e.g. complaining about ``vcvarsall.bat``), you should look at Christoph Gohlke's `Unofficial Windows Binaries for Python Extension Packages <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_. This is a reliable site for binary packages for Python. You need to download the right package: The ``cpxx`` code refers to the Python version (e.g. ``cp310`` for Python 3.10); ``win32`` for 32bit Python installations and ``amd64`` for 64bit.
86
86
 
87
87
  You can install the ``.whl``, ``.zip`` or ``.exe`` packages with ``pip``::
88
88
 
@@ -103,7 +103,7 @@ You need to pass the MapProxy configuration as an argument. The server will auto
103
103
 
104
104
  .. cmdoption:: -b <address>, --bind <address>
105
105
 
106
- The server address where the HTTP server should listen for incomming connections. Can be a port (``:8080``), a host (``localhost``) or both (``localhost:8081``). The default is ``localhost:8080``. You need to use ``0.0.0.0`` to be able to connect to the server from external clients.
106
+ The server address where the HTTP server should listen for incoming connections. Can be a port (``:8080``), a host (``localhost``) or both (``localhost:8081``). The default is ``localhost:8080``. You need to use ``0.0.0.0`` to be able to connect to the server from external clients.
107
107
 
108
108
  .. cmdoption:: --debug
109
109
 
@@ -139,7 +139,7 @@ You need to pass a directory of your MapProxy configurations as an argument. The
139
139
 
140
140
  .. cmdoption:: -b <address>, --bind <address>
141
141
 
142
- The server address where the HTTP server should listen for incomming connections. Can be a port (``:8080``), a host (``localhost``) or both (``localhost:8081``). The default is ``localhost:8080``. You need to use ``0.0.0.0`` to be able to connect to the server from external clients.
142
+ The server address where the HTTP server should listen for incoming connections. Can be a port (``:8080``), a host (``localhost``) or both (``localhost:8081``). The default is ``localhost:8080``. You need to use ``0.0.0.0`` to be able to connect to the server from external clients.
143
143
 
144
144
 
145
145
  Example
@@ -50,7 +50,9 @@ the YAML configuration file.
50
50
  .. code-block:: python
51
51
 
52
52
  def register_service_configuration(service_name, service_creator,
53
- yaml_spec_service_name = None, yaml_spec_service_def = None):
53
+ yaml_spec_service_name = None,
54
+ yaml_spec_service_def = None,
55
+ schema_service=None):
54
56
  """ Method used by plugins to register a new service.
55
57
 
56
58
  :param config_name: Name of the service
@@ -61,6 +63,9 @@ the YAML configuration file.
61
63
  :type yaml_spec_service_name: str
62
64
  :param yaml_spec_service_def: Definition of the service in the YAML configuration file
63
65
  :type yaml_spec_service_def: dict
66
+ :param schema_service: JSON schema extract to insert under
67
+ /properties/services/properties/{yaml_spec_service_name} of config-schema.json
68
+ :type schema_service: dict
64
69
  """
65
70
 
66
71
 
@@ -68,7 +73,7 @@ This can for example by used like the following snippet:
68
73
 
69
74
  .. code-block:: python
70
75
 
71
- from mapproxy.config.loader import register_service_configuration
76
+ from mapproxy.config.configuration.service import register_service_configuration
72
77
  from mapproxy.service.base import Server
73
78
 
74
79
  class MyExtraServiceServer(Server):
@@ -81,8 +86,18 @@ This can for example by used like the following snippet:
81
86
  def my_extra_service_method(serviceConfiguration, conf):
82
87
  return MyExtraServiceServer()
83
88
 
89
+ json_schema_extension = {
90
+ 'type': 'object',
91
+ 'additionalProperties': False,
92
+ 'properties': {
93
+ 'foo': {
94
+ 'type': 'string'
95
+ }
96
+ }
97
+ }
84
98
  register_service_configuration('my_extra_service', my_extra_service_method,
85
- 'my_extra_service', {'foo': str()})
99
+ 'my_extra_service', {'foo': str()},
100
+ json_schema_extension)
86
101
 
87
102
 
88
103
  This allows the following declaration in the YAML mapproxy configuration file:
@@ -152,8 +167,8 @@ This can for example by used like the following snippet:
152
167
 
153
168
  .. code-block:: python
154
169
 
155
- from mapproxy.config.loader import register_source_configuration
156
- from mapproxy.config.loader import SourceConfiguration
170
+ from mapproxy.config.configuration.source import register_source_configuration
171
+ from mapproxy.config.configuration.source import SourceConfiguration
157
172
 
158
173
  class my_source_configuration(SourceConfiguration):
159
174
  source_type = ('my_extra_source',)
@@ -486,7 +486,7 @@ The ``--duration`` option allows you to run MapProxy seeding for a limited time.
486
486
  You can use this to call ``mapproxy-seed`` with ``cron`` to seed in the off-hours.
487
487
 
488
488
  However, this will restart the seeding process from the beginning every time the seeding is completed.
489
- You can prevent this with the ``--reeseed-interval`` and ``--reseed-file`` option.
489
+ You can prevent this with the ``--reseed-interval`` and ``--reseed-file`` option.
490
490
  The following example starts seeding for six hours. It will seed for another six hours, every time you call this command again. Once all seed and cleanup tasks were processed the command will exit immediately every time you call it within 14 days after the first call. After 14 days, the modification time of the ``reseed.time`` file will be updated and the re-seeding process starts again.
491
491
 
492
492
  ::