MapProxy 5.0.0__tar.gz → 5.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. {mapproxy-5.0.0 → mapproxy-5.1.0}/CHANGES.txt +19 -0
  2. {mapproxy-5.0.0 → mapproxy-5.1.0}/MapProxy.egg-info/PKG-INFO +20 -33
  3. {mapproxy-5.0.0 → mapproxy-5.1.0}/PKG-INFO +20 -33
  4. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/sources.rst +8 -5
  5. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/mbtiles.py +1 -1
  6. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/client/wms.py +2 -1
  7. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/config-schema.json +15 -3
  8. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/loader.py +7 -1
  9. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/spec.py +1 -0
  10. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/request/wms/__init__.py +3 -0
  11. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/layer.yaml +13 -0
  12. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_wms.py +26 -4
  13. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_conf_loader.py +10 -0
  14. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_conf_validator.py +7 -2
  15. {mapproxy-5.0.0 → mapproxy-5.1.0}/requirements-tests.txt +10 -10
  16. {mapproxy-5.0.0 → mapproxy-5.1.0}/setup.py +1 -1
  17. {mapproxy-5.0.0 → mapproxy-5.1.0}/AUTHORS.txt +0 -0
  18. {mapproxy-5.0.0 → mapproxy-5.1.0}/COPYING.txt +0 -0
  19. {mapproxy-5.0.0 → mapproxy-5.1.0}/LICENSE.txt +0 -0
  20. {mapproxy-5.0.0 → mapproxy-5.1.0}/MANIFEST.in +0 -0
  21. {mapproxy-5.0.0 → mapproxy-5.1.0}/MapProxy.egg-info/SOURCES.txt +0 -0
  22. {mapproxy-5.0.0 → mapproxy-5.1.0}/MapProxy.egg-info/dependency_links.txt +0 -0
  23. {mapproxy-5.0.0 → mapproxy-5.1.0}/MapProxy.egg-info/entry_points.txt +0 -0
  24. {mapproxy-5.0.0 → mapproxy-5.1.0}/MapProxy.egg-info/not-zip-safe +0 -0
  25. {mapproxy-5.0.0 → mapproxy-5.1.0}/MapProxy.egg-info/requires.txt +0 -0
  26. {mapproxy-5.0.0 → mapproxy-5.1.0}/MapProxy.egg-info/top_level.txt +0 -0
  27. {mapproxy-5.0.0 → mapproxy-5.1.0}/README.md +0 -0
  28. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/GM.txt +0 -0
  29. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/_static/logo.png +0 -0
  30. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/_static/logo_title.png +0 -0
  31. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/_static/mapproxy.css +0 -0
  32. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/_templates/versions.html +0 -0
  33. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/auth.rst +0 -0
  34. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/caches.rst +0 -0
  35. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/caching_layer_dimensions.rst +0 -0
  36. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/conf.py +0 -0
  37. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/configuration.rst +0 -0
  38. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/configuration_examples.rst +0 -0
  39. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/coverages.rst +0 -0
  40. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/decorate_img.rst +0 -0
  41. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/deployment.rst +0 -0
  42. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/development.rst +0 -0
  43. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/bicubic.png +0 -0
  44. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/bilinear.png +0 -0
  45. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-dynamic.png +0 -0
  46. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-meta-buffer.png +0 -0
  47. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-metatiling-buffer.png +0 -0
  48. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-metatiling.png +0 -0
  49. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-no-clip.png +0 -0
  50. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-no-placement.png +0 -0
  51. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-partial-false.png +0 -0
  52. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/labeling-repeated.png +0 -0
  53. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/mapnik-webmerc-hq.png +0 -0
  54. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/mapnik-webmerc.png +0 -0
  55. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/mapproxy-demo.png +0 -0
  56. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/imgs/nearest.png +0 -0
  57. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/index.rst +0 -0
  58. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/inspire.rst +0 -0
  59. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/install.rst +0 -0
  60. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/install_docker.rst +0 -0
  61. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/install_osgeo4w.rst +0 -0
  62. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/install_windows.rst +0 -0
  63. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/labeling.rst +0 -0
  64. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/mapproxy_util.rst +0 -0
  65. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/mapproxy_util_autoconfig.rst +0 -0
  66. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/ogc_api.rst +0 -0
  67. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/plugins.rst +0 -0
  68. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/seed.rst +0 -0
  69. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/services.rst +0 -0
  70. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/tutorial.rst +0 -0
  71. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/tutorial.yaml +0 -0
  72. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/yaml/cache_conf.yaml +0 -0
  73. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/yaml/grid_conf.yaml +0 -0
  74. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/yaml/merged_conf.yaml +0 -0
  75. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/yaml/meta_conf.yaml +0 -0
  76. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/yaml/seed.yaml +0 -0
  77. {mapproxy-5.0.0 → mapproxy-5.1.0}/doc/yaml/simple_conf.yaml +0 -0
  78. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/__init__.py +0 -0
  79. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/__init__.py +0 -0
  80. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/azureblob.py +0 -0
  81. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/base.py +0 -0
  82. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/compact.py +0 -0
  83. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/couchdb.py +0 -0
  84. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/dummy.py +0 -0
  85. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/file.py +0 -0
  86. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/geopackage.py +0 -0
  87. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/legend.py +0 -0
  88. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/meta.py +0 -0
  89. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/path.py +0 -0
  90. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/redis.py +0 -0
  91. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/renderd.py +0 -0
  92. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/s3.py +0 -0
  93. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/cache/tile.py +0 -0
  94. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/client/__init__.py +0 -0
  95. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/client/arcgis.py +0 -0
  96. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/client/cgi.py +0 -0
  97. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/client/http.py +0 -0
  98. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/client/log.py +0 -0
  99. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/client/tile.py +0 -0
  100. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/compat/__init__.py +0 -0
  101. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/compat/image.py +0 -0
  102. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/__init__.py +0 -0
  103. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/config.py +0 -0
  104. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/coverage.py +0 -0
  105. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/defaults.py +0 -0
  106. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config/validator.py +0 -0
  107. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config_template/__init__.py +0 -0
  108. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config_template/base_config/config.wsgi +0 -0
  109. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config_template/base_config/full_example.yaml +0 -0
  110. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
  111. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config_template/base_config/log.ini +0 -0
  112. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
  113. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/config_template/base_config/seed.yaml +0 -0
  114. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/exception.py +0 -0
  115. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/featureinfo.py +0 -0
  116. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/grid/__init__.py +0 -0
  117. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/grid/meta_grid.py +0 -0
  118. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/grid/resolutions.py +0 -0
  119. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/grid/tile_grid.py +0 -0
  120. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/__init__.py +0 -0
  121. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  122. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  123. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/fonts/LICENSE +0 -0
  124. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/fonts/__init__.py +0 -0
  125. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/mask.py +0 -0
  126. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/merge.py +0 -0
  127. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/message.py +0 -0
  128. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/opts.py +0 -0
  129. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/tile.py +0 -0
  130. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/image/transform.py +0 -0
  131. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/layer.py +0 -0
  132. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/multiapp.py +0 -0
  133. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/proj.py +0 -0
  134. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/request/__init__.py +0 -0
  135. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/request/arcgis.py +0 -0
  136. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/request/base.py +0 -0
  137. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/request/tile.py +0 -0
  138. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/request/wms/exception.py +0 -0
  139. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/request/wmts.py +0 -0
  140. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/response.py +0 -0
  141. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/__init__.py +0 -0
  142. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/__init__.py +0 -0
  143. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/app.py +0 -0
  144. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/caches.py +0 -0
  145. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/geopackage.py +0 -0
  146. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/layers.py +0 -0
  147. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/seeds.py +0 -0
  148. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/sources.py +0 -0
  149. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/conf/utils.py +0 -0
  150. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/defrag.py +0 -0
  151. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/export.py +0 -0
  152. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/grids.py +0 -0
  153. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/scales.py +0 -0
  154. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/util.py +0 -0
  155. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/script/wms_capabilities.py +0 -0
  156. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/__init__.py +0 -0
  157. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/cachelock.py +0 -0
  158. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/cleanup.py +0 -0
  159. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/config.py +0 -0
  160. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/script.py +0 -0
  161. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/seeder.py +0 -0
  162. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/spec.py +0 -0
  163. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/seed/util.py +0 -0
  164. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/__init__.py +0 -0
  165. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/base.py +0 -0
  166. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/demo.py +0 -0
  167. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/kml.py +0 -0
  168. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/ows.py +0 -0
  169. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/template_helper.py +0 -0
  170. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
  171. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/demo.html +0 -0
  172. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
  173. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  174. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  175. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  176. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  177. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  178. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  179. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  180. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  181. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/logo.png +0 -0
  182. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/ol.css +0 -0
  183. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/ol.js +0 -0
  184. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
  185. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
  186. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/site.css +0 -0
  187. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  188. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
  189. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
  190. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
  191. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/static.html +0 -0
  192. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/tms_demo.html +0 -0
  193. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/wms_demo.html +0 -0
  194. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
  195. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/ows_exception.xml +0 -0
  196. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/tms_capabilities.xml +0 -0
  197. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/tms_exception.xml +0 -0
  198. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/tms_root_resource.xml +0 -0
  199. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
  200. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms100capabilities.xml +0 -0
  201. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms100exception.xml +0 -0
  202. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms110capabilities.xml +0 -0
  203. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms110exception.xml +0 -0
  204. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms111capabilities.xml +0 -0
  205. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms111exception.xml +0 -0
  206. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms130capabilities.xml +0 -0
  207. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wms130exception.xml +0 -0
  208. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
  209. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/templates/wmts100exception.xml +0 -0
  210. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/tile.py +0 -0
  211. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/wms.py +0 -0
  212. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/service/wmts.py +0 -0
  213. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/source/__init__.py +0 -0
  214. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/source/arcgis.py +0 -0
  215. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/source/error.py +0 -0
  216. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/source/mapnik.py +0 -0
  217. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/source/tile.py +0 -0
  218. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/source/wms.py +0 -0
  219. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/srs.py +0 -0
  220. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/template.py +0 -0
  221. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/__init__.py +0 -0
  222. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/conftest.py +0 -0
  223. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/helper.py +0 -0
  224. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/http.py +0 -0
  225. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/image.py +0 -0
  226. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/mocker.py +0 -0
  227. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
  228. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
  229. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
  230. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
  231. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
  232. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
  233. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
  234. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
  235. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
  236. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
  237. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
  238. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
  239. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
  240. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
  241. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
  242. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
  243. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
  244. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
  245. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
  246. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
  247. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
  248. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
  249. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
  250. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
  251. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
  252. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
  253. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
  254. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
  255. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
  256. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
  257. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
  258. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
  259. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
  260. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
  261. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
  262. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
  263. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
  264. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
  265. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
  266. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
  267. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
  268. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
  269. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
  270. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
  271. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
  272. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
  273. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
  274. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
  275. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
  276. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
  277. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
  278. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
  279. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
  280. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
  281. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
  282. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  283. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  284. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  285. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
  286. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
  287. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
  288. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
  289. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
  290. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
  291. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
  292. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
  293. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
  294. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
  295. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  296. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  297. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  298. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
  299. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
  300. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
  301. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
  302. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
  303. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
  304. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
  305. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
  306. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
  307. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
  308. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
  309. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
  310. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
  311. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
  312. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
  313. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
  314. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/schemas/xml.xsd +0 -0
  315. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/__init__.py +0 -0
  316. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
  317. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/auth.yaml +0 -0
  318. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
  319. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
  320. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
  321. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
  322. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
  323. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  324. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  325. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  326. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
  327. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
  328. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
  329. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
  330. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
  331. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
  332. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/coverage.yaml +0 -0
  333. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/demo.yaml +0 -0
  334. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/dimension.yaml +0 -0
  335. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
  336. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
  337. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/formats.yaml +0 -0
  338. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/inspire.yaml +0 -0
  339. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
  340. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
  341. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
  342. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
  343. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
  344. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
  345. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
  346. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
  347. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
  348. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
  349. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
  350. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
  351. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
  352. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
  353. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
  354. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed.yaml +0 -0
  355. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
  356. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
  357. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
  358. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
  359. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/sld.yaml +0 -0
  360. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
  361. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
  362. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
  363. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
  364. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
  365. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
  366. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
  367. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
  368. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
  369. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
  370. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
  371. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
  372. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/watermark.yaml +0 -0
  373. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
  374. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
  375. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wmts.yaml +0 -0
  376. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
  377. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
  378. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
  379. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_arcgis.py +0 -0
  380. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_auth.py +0 -0
  381. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_behind_proxy.py +0 -0
  382. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
  383. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_azureblob.py +0 -0
  384. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_band_merge.py +0 -0
  385. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_coverage.py +0 -0
  386. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_geopackage.py +0 -0
  387. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_grid_names.py +0 -0
  388. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
  389. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_s3.py +0 -0
  390. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_cache_source.py +0 -0
  391. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_combined_sources.py +0 -0
  392. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_coverage.py +0 -0
  393. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_decorate_img.py +0 -0
  394. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_demo.py +0 -0
  395. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
  396. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_dimensions.py +0 -0
  397. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_disable_storage.py +0 -0
  398. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_formats.py +0 -0
  399. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_inspire_vs.py +0 -0
  400. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_kml.py +0 -0
  401. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_layergroups.py +0 -0
  402. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_legendgraphic.py +0 -0
  403. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_mapnik.py +0 -0
  404. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_mapserver.py +0 -0
  405. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
  406. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
  407. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_multiapp.py +0 -0
  408. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_refresh.py +0 -0
  409. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_renderd_client.py +0 -0
  410. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_response_headers.py +0 -0
  411. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_scalehints.py +0 -0
  412. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_seed.py +0 -0
  413. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_seed_only.py +0 -0
  414. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_sld.py +0 -0
  415. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_source_errors.py +0 -0
  416. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
  417. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_tms.py +0 -0
  418. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_tms_origin.py +0 -0
  419. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_util_conf.py +0 -0
  420. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_util_export.py +0 -0
  421. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_util_grids.py +0 -0
  422. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
  423. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_watermark.py +0 -0
  424. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
  425. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_wms_version.py +0 -0
  426. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_wmsc.py +0 -0
  427. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_wmts.py +0 -0
  428. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
  429. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_wmts_restful.py +0 -0
  430. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
  431. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/test_http_helper.py +0 -0
  432. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/__init__.py +0 -0
  433. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/epsg +0 -0
  434. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
  435. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/polygons/polygons.shp +0 -0
  436. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/polygons/polygons.shx +0 -0
  437. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_async.py +0 -0
  438. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_auth.py +0 -0
  439. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache.py +0 -0
  440. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
  441. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_compact.py +0 -0
  442. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
  443. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
  444. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_mbtile.py +0 -0
  445. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_redis.py +0 -0
  446. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_s3.py +0 -0
  447. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_cache_tile.py +0 -0
  448. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_client.py +0 -0
  449. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_client_arcgis.py +0 -0
  450. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_client_cgi.py +0 -0
  451. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_collections.py +0 -0
  452. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_concat_legends.py +0 -0
  453. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_config.py +0 -0
  454. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_decorate_img.py +0 -0
  455. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_exceptions.py +0 -0
  456. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_featureinfo.py +0 -0
  457. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_file_lock_load.py +0 -0
  458. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_fs.py +0 -0
  459. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_geom.py +0 -0
  460. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_grid.py +0 -0
  461. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_image.py +0 -0
  462. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_image_mask.py +0 -0
  463. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_image_messages.py +0 -0
  464. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_image_options.py +0 -0
  465. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_isodate.py +0 -0
  466. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_multiapp.py +0 -0
  467. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_ogr_reader.py +0 -0
  468. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_request.py +0 -0
  469. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_request_wmts.py +0 -0
  470. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_response.py +0 -0
  471. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_seed.py +0 -0
  472. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
  473. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_srs.py +0 -0
  474. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_tiled_source.py +0 -0
  475. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_tilefilter.py +0 -0
  476. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_times.py +0 -0
  477. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_timeutils.py +0 -0
  478. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
  479. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_utils.py +0 -0
  480. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
  481. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_wms_layer.py +0 -0
  482. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/test/unit/test_yaml.py +0 -0
  483. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/tilefilter.py +0 -0
  484. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/__init__.py +0 -0
  485. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/async_.py +0 -0
  486. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/bbox.py +0 -0
  487. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/collections.py +0 -0
  488. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/coverage.py +0 -0
  489. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/escape.py +0 -0
  490. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/__init__.py +0 -0
  491. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/__init__.py +0 -0
  492. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/spec.py +0 -0
  493. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  494. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
  495. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/dictspec/validator.py +0 -0
  496. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/local.py +0 -0
  497. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/lockfile.py +0 -0
  498. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/serving.py +0 -0
  499. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/tempita/__init__.py +0 -0
  500. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/tempita/_looper.py +0 -0
  501. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/tempita/string_utils.py +0 -0
  502. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
  503. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/duration.py +0 -0
  504. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/parse.py +0 -0
  505. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  506. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
  507. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
  508. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
  509. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
  510. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
  511. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
  512. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ext/wmsparse/util.py +0 -0
  513. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/fs.py +0 -0
  514. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/geom.py +0 -0
  515. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/lib.py +0 -0
  516. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/lock.py +0 -0
  517. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/ogr.py +0 -0
  518. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/py.py +0 -0
  519. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/sqlite3.py +0 -0
  520. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/times.py +0 -0
  521. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/util/yaml.py +0 -0
  522. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/version.py +0 -0
  523. {mapproxy-5.0.0 → mapproxy-5.1.0}/mapproxy/wsgiapp.py +0 -0
  524. {mapproxy-5.0.0 → mapproxy-5.1.0}/pyproject.toml +0 -0
  525. {mapproxy-5.0.0 → mapproxy-5.1.0}/setup.cfg +0 -0
@@ -1,3 +1,22 @@
1
+ 5.1.0 2025-09-30
2
+ ~~~~~~~~~~~~~~~~
3
+
4
+ Improvements:
5
+
6
+ - Added `query_layers` option to `wms_opts` to be able to configure the `QUERY_LAYERS` of the wms request
7
+ - Added workflow to republish docker images if the base image changed, i.e. for security updates
8
+
9
+ Maintenance:
10
+
11
+ - Fixed some spelling and debug output
12
+ - Updated various dependencies
13
+
14
+ Fixes:
15
+
16
+ - Fixes some errors in the json schema regarding `use_direct_level_from` and `use_direct_res_from`
17
+ - Fixes an error with merging resolutions of grids
18
+
19
+
1
20
  5.0.0 2025-06-18
2
21
  ~~~~~~~~~~~~~~~~
3
22
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 5.0.0
3
+ Version: 5.1.0
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -61,6 +61,25 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
61
61
 
62
62
  Changes
63
63
  -------
64
+ 5.1.0 2025-09-30
65
+ ~~~~~~~~~~~~~~~~
66
+
67
+ Improvements:
68
+
69
+ - Added `query_layers` option to `wms_opts` to be able to configure the `QUERY_LAYERS` of the wms request
70
+ - Added workflow to republish docker images if the base image changed, i.e. for security updates
71
+
72
+ Maintenance:
73
+
74
+ - Fixed some spelling and debug output
75
+ - Updated various dependencies
76
+
77
+ Fixes:
78
+
79
+ - Fixes some errors in the json schema regarding `use_direct_level_from` and `use_direct_res_from`
80
+ - Fixes an error with merging resolutions of grids
81
+
82
+
64
83
  5.0.0 2025-06-18
65
84
  ~~~~~~~~~~~~~~~~
66
85
 
@@ -147,38 +166,6 @@ Fixes:
147
166
  - WMTS Demo now works if kvp is disabled
148
167
 
149
168
 
150
- 4.0.0 2025-03-21
151
- ~~~~~~~~~~~~~~~~
152
-
153
- Breaking:
154
- - Removed legacy seed configuration.
155
- - Removed Python 3.8 support.
156
- - Removed riak support as the client library is not maintained anymore. If you rely on the riak support you have to
157
- continue to use version 3.1.3 with Python 3.8.
158
-
159
- Improvements:
160
-
161
- - The tile removal and refresh code is improved by simplifying the usage of `remove_timestamp` and `before_timestamp`
162
- and complementing them by new `remove_all` and `refresh_all` parameters.
163
- - Add a default logging config to the docker images.
164
- - Add environment variables to the docker images to enable and configure multiapp support.
165
- - Added a docker compose file to make it easy to run & build docker images and to use as reference.
166
- - Updated and improved the documentation about usage of the docker images.
167
-
168
- Maintenance:
169
-
170
- - Use python build instead of invoking setup.py.
171
- - Removal of the six library.
172
- - Removed array initializers in function signatures.
173
-
174
- Fixes:
175
-
176
- - Added `AdminstrativeArea` to WMTS serviceprovider metadata.
177
- - Fixed spelling & grammar in seed.rst.
178
- - Fixed problem with combined usage of `coverage` and the `remove_all` cache config parameters.
179
- - Fixed missing dimension parameters in the `remove_tile` functions of various caches.
180
-
181
-
182
169
 
183
170
  Older changes
184
171
  -------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 5.0.0
3
+ Version: 5.1.0
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -61,6 +61,25 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
61
61
 
62
62
  Changes
63
63
  -------
64
+ 5.1.0 2025-09-30
65
+ ~~~~~~~~~~~~~~~~
66
+
67
+ Improvements:
68
+
69
+ - Added `query_layers` option to `wms_opts` to be able to configure the `QUERY_LAYERS` of the wms request
70
+ - Added workflow to republish docker images if the base image changed, i.e. for security updates
71
+
72
+ Maintenance:
73
+
74
+ - Fixed some spelling and debug output
75
+ - Updated various dependencies
76
+
77
+ Fixes:
78
+
79
+ - Fixes some errors in the json schema regarding `use_direct_level_from` and `use_direct_res_from`
80
+ - Fixes an error with merging resolutions of grids
81
+
82
+
64
83
  5.0.0 2025-06-18
65
84
  ~~~~~~~~~~~~~~~~
66
85
 
@@ -147,38 +166,6 @@ Fixes:
147
166
  - WMTS Demo now works if kvp is disabled
148
167
 
149
168
 
150
- 4.0.0 2025-03-21
151
- ~~~~~~~~~~~~~~~~
152
-
153
- Breaking:
154
- - Removed legacy seed configuration.
155
- - Removed Python 3.8 support.
156
- - Removed riak support as the client library is not maintained anymore. If you rely on the riak support you have to
157
- continue to use version 3.1.3 with Python 3.8.
158
-
159
- Improvements:
160
-
161
- - The tile removal and refresh code is improved by simplifying the usage of `remove_timestamp` and `before_timestamp`
162
- and complementing them by new `remove_all` and `refresh_all` parameters.
163
- - Add a default logging config to the docker images.
164
- - Add environment variables to the docker images to enable and configure multiapp support.
165
- - Added a docker compose file to make it easy to run & build docker images and to use as reference.
166
- - Updated and improved the documentation about usage of the docker images.
167
-
168
- Maintenance:
169
-
170
- - Use python build instead of invoking setup.py.
171
- - Removal of the six library.
172
- - Removed array initializers in function signatures.
173
-
174
- Fixes:
175
-
176
- - Added `AdminstrativeArea` to WMTS serviceprovider metadata.
177
- - Fixed spelling & grammar in seed.rst.
178
- - Fixed problem with combined usage of `coverage` and the `remove_all` cache config parameters.
179
- - Fixed missing dimension parameters in the `remove_tile` functions of various caches.
180
-
181
-
182
169
 
183
170
  Older changes
184
171
  -------------
@@ -93,6 +93,9 @@ This option affects what request MapProxy sends to the source WMS server.
93
93
  ``featureinfo_out_format``
94
94
  Output format returned by the XSLT script. By default MapProxy will use ``featureinfo_format``.
95
95
 
96
+ ``query_layers``
97
+ The ``QUERY_LAYERS`` for FeatureInfo requests. By default MapProxy will use the same as the LAYERS param.
98
+
96
99
  .. versionadded:: 1.12.0
97
100
  ``featureinfo_out_format``
98
101
 
@@ -120,7 +123,7 @@ Disable this source in regular mode. If set to ``true``, this source will always
120
123
 
121
124
  Limit the source to the given min and max resolution or scale. MapProxy will return a blank image for requests outside of these boundaries (``min_res`` is inclusive, ``max_res`` exclusive). You can use either the resolution or the scale values, missing values will be interpreted as `unlimited`. Resolutions should be in meters per pixel.
122
125
 
123
- The values will also apear in the capabilities documents (i.e. WMS ScaleHint and Min/MaxScaleDenominator). The boundaries will be regarded for each source, but the values in the capabilities might differ if you combine multiple sources or if the MapProxy layer already has a ``min/max_res`` configuration.
126
+ The values will also appear in the capabilities documents (i.e. WMS ScaleHint and Min/MaxScaleDenominator). The boundaries will be regarded for each source, but the values in the capabilities might differ if you combine multiple sources or if the MapProxy layer already has a ``min/max_res`` configuration.
124
127
 
125
128
  Please read :ref:`scale vs. resolution <scale_resolution>` for some notes on `scale`.
126
129
 
@@ -133,7 +136,7 @@ A list with SRSs that the WMS source supports. MapProxy will only query the sour
133
136
 
134
137
  You don't need to configure this if you only use this WMS as a cache source and the WMS supports all SRS of the cache.
135
138
 
136
- If MapProxy needs to reproject and the source has multiple ``supported_srs``, then it will use the first projected SRS for requests in a projected SRS, or the first geographic SRS for requests in a geographic SRS. E.g when ``supported_srs`` is ``['EPSG:4326', 'EPSG:31467']`` caches with EPSG:3857 (projected, meter) will use EPSG:31467 (projected, meter) and not EPSG:4326 (geographic, lat/long).
139
+ If MapProxy needs to reproject and the source has multiple ``supported_srs``, then it will use the first projected SRS for requests in a projected SRS, or the first geographic SRS for requests in a geographic SRS e.g. when ``supported_srs`` is ``['EPSG:4326', 'EPSG:31467']`` caches with EPSG:3857 (projected, meter) will use EPSG:31467 (projected, meter) and not EPSG:4326 (geographic, lat/long).
137
140
 
138
141
  .. .. note:: For the configuration of SRS for MapProxy see `srs_configuration`_.
139
142
 
@@ -162,7 +165,7 @@ See :ref:`image_options` for other options.
162
165
 
163
166
  ``transparent_color_tolerance``
164
167
 
165
- Tolerance for the ``transparent_color`` substitution. The value defines the tolerance in each direction. E.g. a tolerance of 5 and a color value of 100 will convert colors in the range of 95 to 105.
168
+ Tolerance for the ``transparent_color`` substitution. The value defines the tolerance in each direction e.g. a tolerance of 5 and a color value of 100 will convert colors in the range of 95 to 105.
166
169
 
167
170
  .. code-block:: yaml
168
171
 
@@ -250,7 +253,7 @@ You need to enable ``transparent`` for your source, if you use ``on_error`` resp
250
253
 
251
254
  ``authorize_stale``
252
255
 
253
- Set this to ``True`` if MapProxy should serve in priority stale tiles present in cache. If the specified source error occurs, MapProxy will serve a stale tile which is still in cache instead of the error reponse, even if the tile in cache should be refreshed according to refresh_before date. Otherwise (``False``) MapProxy will serve the unicolor error response defined by the error handler if the source is faulty and the tile is not in cache, or is stale.
256
+ Set this to ``True`` if MapProxy should serve in priority stale tiles present in cache. If the specified source error occurs, MapProxy will serve a stale tile which is still in cache instead of the error response, even if the tile in cache should be refreshed according to refresh_before date. Otherwise (``False``) MapProxy will serve the unicolor error response defined by the error handler if the source is faulty and the tile is not in cache, or is stale.
254
257
 
255
258
  You need to enable ``transparent`` for your source, if you use ``on_error`` responses with transparency.
256
259
 
@@ -398,7 +401,7 @@ ImageServer example:
398
401
  Tiles
399
402
  """""
400
403
 
401
- Use the type ``tile`` to request data from from existing tile servers like TileCache and GeoWebCache. You can also use this source cascade MapProxy installations.
404
+ Use the type ``tile`` to request data from existing tile servers like TileCache and GeoWebCache. You can also use this source cascade MapProxy installations.
402
405
 
403
406
  ``url``
404
407
  ^^^^^^^
@@ -117,7 +117,7 @@ class MBTilesCache(TileCacheBase):
117
117
 
118
118
  if self.file_permissions:
119
119
  permission = int(self.file_permissions, base=8)
120
- log.info("setting file permissions on MBTile file: ", permission)
120
+ log.info("setting file permissions on MBTile file: %s", permission)
121
121
  os.chmod(self.mbtile_file, permission)
122
122
 
123
123
  def update_metadata(self, name='', description='', version=1, overlay=True, format='png'):
@@ -180,7 +180,8 @@ class WMSInfoClient(object):
180
180
  req.params.pos = query.pos
181
181
  if query.feature_count:
182
182
  req.params['feature_count'] = query.feature_count
183
- req.params['query_layers'] = req.params['layers']
183
+ if 'query_layers' not in req.params:
184
+ req.params['query_layers'] = req.params['layers']
184
185
  if 'info_format' not in req.params and query.info_format:
185
186
  req.params['info_format'] = query.info_format
186
187
  if not req.params.format:
@@ -578,11 +578,11 @@
578
578
  },
579
579
  "use_direct_from_level": {
580
580
  "description": "Requests below this level will not be stored",
581
- "type": "boolean"
581
+ "type": "integer"
582
582
  },
583
583
  "use_direct_from_res": {
584
584
  "description": "Requests below this resolution will not be stored",
585
- "type": "boolean"
585
+ "type": "number"
586
586
  },
587
587
  "upscale_tiles": {
588
588
  "description": "Upscale tiles by this many zoom levels if not available in cache",
@@ -674,8 +674,20 @@
674
674
  "req": {
675
675
  "title": "req",
676
676
  "type": "object"
677
+ },
678
+ "wms_opts": {
679
+ "title": "wms_opts",
680
+ "type": "object",
681
+ "properties": {
682
+ "featureinfo": {
683
+ "type": "boolean"
684
+ },
685
+ "query_layers": {
686
+ "type": "string"
687
+ }
688
+ }
677
689
  }
678
- },
690
+ },
679
691
  "required": ["req"]
680
692
  }
681
693
  ]
@@ -17,6 +17,9 @@
17
17
  Configuration loading and system initializing.
18
18
  """
19
19
  from __future__ import division
20
+
21
+ import json
22
+
20
23
  from mapproxy.util.fs import find_exec
21
24
  from mapproxy.util.yaml import load_yaml_file, YAMLError
22
25
  from mapproxy.util.py import memoize
@@ -862,6 +865,8 @@ class WMSSourceConfiguration(SourceConfiguration):
862
865
  version = wms_opts.get('version', '1.1.1')
863
866
  if 'featureinfo_format' in wms_opts:
864
867
  params['info_format'] = wms_opts['featureinfo_format']
868
+ if 'query_layers' in wms_opts:
869
+ params['query_layers'] = wms_opts['query_layers']
865
870
  fi_request = create_request(self.conf['req'], params,
866
871
  req_type='featureinfo', version=version,
867
872
  abspath=self.context.globals.abspath)
@@ -2400,6 +2405,7 @@ def load_configuration(mapproxy_conf, seed=False, ignore_warnings=True, renderd=
2400
2405
 
2401
2406
  try:
2402
2407
  conf_dict = load_configuration_file([os.path.basename(mapproxy_conf)], conf_base_dir)
2408
+ log.debug('Loaded configuration file', json.dumps(conf_dict, indent=2, sort_keys=True, default=str))
2403
2409
  except YAMLError as ex:
2404
2410
  raise ConfigurationError(ex)
2405
2411
  errors, informal_only = validate_options(conf_dict)
@@ -2455,7 +2461,7 @@ def merge_dict(conf, base):
2455
2461
  base[k] = merge_dict(v, base[k])
2456
2462
  elif isinstance(base[k], list):
2457
2463
  if v is not None:
2458
- if k in ['bbox', 'tile_size', 'max_output_pixels', 'sources', 'grids']:
2464
+ if k in ['bbox', 'tile_size', 'max_output_pixels', 'sources', 'grids', 'res']:
2459
2465
  base[k] = v
2460
2466
  elif k in ['layers']:
2461
2467
  base[k] = merge_layers(v, base[k])
@@ -515,6 +515,7 @@ mapproxy_yaml_spec = {
515
515
  'featureinfo_format': str(),
516
516
  'featureinfo_xslt': str(),
517
517
  'featureinfo_out_format': str(),
518
+ 'query_layers': str(),
518
519
  },
519
520
  'image': combined(image_opts, {
520
521
  'opacity': number(),
@@ -779,6 +779,9 @@ def create_request(req_data, param, req_type='map', version='1.1.1', abspath=Non
779
779
  if 'info_format' in param:
780
780
  req_data['info_format'] = param['info_format']
781
781
 
782
+ if 'query_layers' in param:
783
+ req_data['query_layers'] = param['query_layers']
784
+
782
785
  if 'transparent' in req_data:
783
786
  # we don't want a boolean
784
787
  req_data['transparent'] = str(req_data['transparent'])
@@ -129,6 +129,9 @@ layers:
129
129
  - name: wms_managed_cookies_cache
130
130
  title: WMS with cookies management
131
131
  sources: [wms_managed_cookies]
132
+ - name: wms_fi_ql_cache
133
+ title: WMS with query_layers source
134
+ sources: [wms_fi_ql]
132
135
 
133
136
  caches:
134
137
  wms_cache:
@@ -169,6 +172,8 @@ caches:
169
172
  text: '@ Omniscale'
170
173
  wms_managed_cookies_cache:
171
174
  sources: [wms_managed_cookies]
175
+ wms_fi_ql_cache:
176
+ sources: [wms_fi_ql]
172
177
 
173
178
  sources:
174
179
  direct:
@@ -258,3 +263,11 @@ sources:
258
263
  layers: layer1
259
264
  http:
260
265
  manage_cookies: True
266
+ wms_fi_ql:
267
+ type: wms
268
+ wms_opts:
269
+ featureinfo: True
270
+ query_layers: foo
271
+ req:
272
+ url: http://localhost:42423/service
273
+ layers: foo,bar
@@ -183,7 +183,8 @@ class TestWMS111(SysTest):
183
183
  layer_names = set(xml.xpath("//Layer/Layer/Name/text()"))
184
184
  expected_names = {"direct_fwd_params", "direct", "wms_cache", "wms_cache_100", "wms_cache_130",
185
185
  "wms_cache_transparent", "wms_merge", "tms_cache", "tms_fi_cache", "wms_cache_multi",
186
- "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache"}
186
+ "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache",
187
+ "wms_fi_ql_cache"}
187
188
  assert layer_names == expected_names
188
189
  assert set(xml.xpath("//Layer/Layer[3]/Abstract/text()")) == {"Some abstract"}
189
190
 
@@ -836,6 +837,24 @@ class TestWMS111(SysTest):
836
837
  assert "tms_cache is not queryable" in xml.xpath("//ServiceException/text()")[0]
837
838
  assert validate_with_dtd(xml, "wms/1.1.1/exception_1_1_1.dtd")
838
839
 
840
+ def test_get_featureinfo_query_layers(self, app):
841
+ expected_req = (
842
+ {
843
+ "path": r"/service?LAYERs=foo,bar&SERVICE=WMS&FORMAT=image%2Fpng"
844
+ "&REQUEST=GetFeatureInfo&HEIGHT=200&SRS=EPSG%3A900913"
845
+ "&VERSION=1.1.1&BBOX=1000.0,400.0,2000.0,1400.0&styles="
846
+ "&WIDTH=200&QUERY_LAYERS=foo&X=10&Y=20"
847
+ },
848
+ {"body": b"info", "headers": {"content-type": "text/plain"}},
849
+ )
850
+ with mock_httpd(("localhost", 42423), [expected_req]):
851
+ self.common_fi_req.params["layers"] = "wms_fi_ql_cache"
852
+ self.common_fi_req.params["query_layers"] = "wms_fi_ql_cache"
853
+ resp = app.get(self.common_fi_req)
854
+ assert resp.content_type == "text/plain"
855
+ assert resp.body == b"info"
856
+ assert resp.headers['Content-Type'] == 'text/plain; charset=utf-8'
857
+
839
858
 
840
859
  class TestWMS110(SysTest):
841
860
  config_file = "layer.yaml"
@@ -901,7 +920,8 @@ class TestWMS110(SysTest):
901
920
  layer_names = set(xml.xpath("//Layer/Layer/Name/text()"))
902
921
  expected_names = {"direct_fwd_params", "direct", "wms_cache", "wms_cache_100", "wms_cache_130",
903
922
  "wms_cache_transparent", "wms_merge", "tms_cache", "tms_fi_cache", "wms_cache_multi",
904
- "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache"}
923
+ "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache",
924
+ "wms_fi_ql_cache"}
905
925
  assert layer_names == expected_names
906
926
  assert validate_with_dtd(xml, dtd_name="wms/1.1.0/capabilities_1_1_0.dtd")
907
927
 
@@ -1140,7 +1160,8 @@ class TestWMS100(SysTest):
1140
1160
  layer_names = set(xml.xpath("//Layer/Layer/Name/text()"))
1141
1161
  expected_names = {"direct_fwd_params", "direct", "wms_cache", "wms_cache_100", "wms_cache_130",
1142
1162
  "wms_cache_transparent", "wms_merge", "tms_cache", "tms_fi_cache", "wms_cache_multi",
1143
- "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache"}
1163
+ "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache",
1164
+ "wms_fi_ql_cache"}
1144
1165
  assert layer_names == expected_names
1145
1166
  # TODO srs
1146
1167
  assert validate_with_dtd(xml, dtd_name="wms/1.0.0/capabilities_1_0_0.dtd")
@@ -1342,7 +1363,8 @@ class TestWMS130(SysTest):
1342
1363
  )
1343
1364
  expected_names = {"direct_fwd_params", "direct", "wms_cache", "wms_cache_100", "wms_cache_130",
1344
1365
  "wms_cache_transparent", "wms_merge", "tms_cache", "tms_fi_cache", "wms_cache_multi",
1345
- "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache"}
1366
+ "wms_cache_link_single", "wms_cache_110", "watermark_cache", "wms_managed_cookies_cache",
1367
+ "wms_fi_ql_cache"}
1346
1368
  assert layer_names == expected_names
1347
1369
  assert is_130_capa(xml)
1348
1370
 
@@ -779,6 +779,9 @@ grids:
779
779
  # ======= overwritten bbox:
780
780
  bbox: [-180, 60, -100, 70]
781
781
 
782
+ grid_custom:
783
+ res: [4,2,1]
784
+
782
785
  globals:
783
786
  http:
784
787
  client_timeout: 2
@@ -833,6 +836,9 @@ grids:
833
836
  bbox: [-167, 53, -141, 67]
834
837
  bbox_srs: 'EPSG:4326'
835
838
 
839
+ grid_custom:
840
+ res: [4,2,1]
841
+
836
842
  globals:
837
843
  http:
838
844
  client_timeout: 3
@@ -883,6 +889,10 @@ base: [%s]
883
889
  assert grid_alaska.conf['bbox_srs'] == 'EPSG:4326'
884
890
  assert grid_alaska.conf['origin'] == 'sw'
885
891
 
892
+ grid_custom = config.grids['grid_custom']
893
+ assert grid_custom is not None
894
+ assert grid_custom.conf['res'] == [4, 2, 1]
895
+
886
896
  wms = config.services.conf['wms']
887
897
  assert wms is not None
888
898
  assert wms['max_output_pixels'] == [4000, 4000]
@@ -80,8 +80,13 @@ class TestValidator(object):
80
80
  ''')
81
81
 
82
82
  errors = validate(conf)
83
- assert errors == [
84
- "[] is too short in root.layers[0].sources"
83
+ assert errors in [
84
+ [
85
+ "[] is too short in root.layers[0].sources"
86
+ ],
87
+ [
88
+ "[] should be non-empty in root.layers[0].sources"
89
+ ]
85
90
  ]
86
91
 
87
92
  def test_missing_cache_source(self):
@@ -8,11 +8,11 @@ boto3==1.35.6
8
8
  boto==2.49.0
9
9
  botocore==1.35.6
10
10
  certifi==2025.4.26
11
- cffi==1.17.1;
11
+ cffi==2.0.0;
12
12
  cfn-lint==0.80.3
13
13
  chardet==5.2.0
14
14
  cryptography==44.0.2
15
- decorator==5.1.1
15
+ decorator==5.2.1
16
16
  docker==7.1.0
17
17
  docutils==0.20.1;python_version<"3.9"
18
18
  docutils==0.21.2;python_version>="3.9"
@@ -24,7 +24,7 @@ Jinja2==2.11.3
24
24
  jmespath==1.0.1
25
25
  jsondiff==1.3.1
26
26
  jsonpatch==1.33
27
- jsonpickle==3.0.2
27
+ jsonpickle==4.1.1
28
28
  jsonpointer==2.4
29
29
  jsonschema==4.17;python_version<"3.10"
30
30
  jsonschema==4.20;python_version>="3.10"
@@ -38,7 +38,7 @@ networkx==3.1;python_version<"3.10"
38
38
  networkx==3.4.2;python_version>="3.10"
39
39
  numpy==1.26.4
40
40
  packaging==24.2
41
- Pillow==11.2.1 # This version is overwritten in the test workflow, please adjust there as well
41
+ Pillow==11.3.0 # This version is overwritten in the test workflow, please adjust there as well
42
42
  pluggy==1.5.0
43
43
  py==1.11.0
44
44
  pyasn1==0.5.1
@@ -47,19 +47,19 @@ pyparsing==3.2.3
47
47
  pyproj==3.6.1;python_version<"3.10"
48
48
  pyproj==3.7.1;python_version>="3.10"
49
49
  pyrsistent==0.20.0
50
- pytest-rerunfailures==13.0
50
+ pytest-rerunfailures==16.0.1
51
51
  pytest==8.3.2
52
52
  python-dateutil==2.9.0.post0
53
- python-jose==3.3.0
53
+ python-jose==3.5.0
54
54
  pytz==2024.2
55
55
  redis==5.0.1
56
- requests==2.32.3
57
- responses==0.25.3
56
+ requests==2.32.5
57
+ responses==0.25.8
58
58
  rsa==4.9.1
59
59
  s3transfer==0.10.2
60
60
  Shapely==2.0.1;python_version<"3.10"
61
61
  Shapely==2.1.0;python_version>="3.10"
62
- soupsieve==2.6
62
+ soupsieve==2.8
63
63
  sshpubkeys==3.3.1
64
64
  toml==0.10.2
65
65
  urllib3==1.26.20
@@ -70,4 +70,4 @@ websocket-client==1.8.0
70
70
  WebTest==3.0.0
71
71
  wrapt==1.17.2
72
72
  xmltodict==0.13.0
73
- zipp==3.20.1
73
+ zipp==3.23.0
@@ -41,7 +41,7 @@ def long_description(changelog_releases=10):
41
41
 
42
42
  setup(
43
43
  name='MapProxy',
44
- version="5.0.0",
44
+ version="5.1.0",
45
45
  description='An accelerating proxy for tile and web map services',
46
46
  long_description=long_description(7),
47
47
  long_description_content_type='text/x-rst',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes