MapProxy 3.1.2__tar.gz → 3.1.4__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 (523) hide show
  1. {MapProxy-3.1.2 → mapproxy-3.1.4}/CHANGES.txt +23 -0
  2. {MapProxy-3.1.2 → mapproxy-3.1.4}/MapProxy.egg-info/PKG-INFO +44 -36
  3. {MapProxy-3.1.2 → mapproxy-3.1.4}/MapProxy.egg-info/SOURCES.txt +1 -0
  4. {MapProxy-3.1.2 → mapproxy-3.1.4}/MapProxy.egg-info/entry_points.txt +0 -1
  5. {MapProxy-3.1.2 → mapproxy-3.1.4}/PKG-INFO +44 -36
  6. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/configuration.rst +15 -15
  7. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/deployment.rst +2 -0
  8. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/compact.py +2 -1
  9. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/legend.py +2 -1
  10. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/loader.py +4 -0
  11. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/mask.py +1 -1
  12. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/multiapp.py +2 -1
  13. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/demo.py +62 -54
  14. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/kml.py +2 -1
  15. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/capabilities_demo.html +1 -3
  16. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/util_grids.yaml +2 -1
  17. mapproxy-3.1.4/mapproxy/test/system/test_demo.py +123 -0
  18. mapproxy-3.1.4/mapproxy/util/escape.py +10 -0
  19. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/lockfile.py +5 -3
  20. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/fs.py +0 -1
  21. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/wsgiapp.py +2 -1
  22. {MapProxy-3.1.2 → mapproxy-3.1.4}/requirements-tests.txt +4 -4
  23. {MapProxy-3.1.2 → mapproxy-3.1.4}/setup.py +1 -1
  24. MapProxy-3.1.2/mapproxy/test/system/test_demo.py +0 -56
  25. {MapProxy-3.1.2 → mapproxy-3.1.4}/AUTHORS.txt +0 -0
  26. {MapProxy-3.1.2 → mapproxy-3.1.4}/COPYING.txt +0 -0
  27. {MapProxy-3.1.2 → mapproxy-3.1.4}/LICENSE.txt +0 -0
  28. {MapProxy-3.1.2 → mapproxy-3.1.4}/MANIFEST.in +0 -0
  29. {MapProxy-3.1.2 → mapproxy-3.1.4}/MapProxy.egg-info/dependency_links.txt +0 -0
  30. {MapProxy-3.1.2 → mapproxy-3.1.4}/MapProxy.egg-info/not-zip-safe +0 -0
  31. {MapProxy-3.1.2 → mapproxy-3.1.4}/MapProxy.egg-info/requires.txt +2 -2
  32. {MapProxy-3.1.2 → mapproxy-3.1.4}/MapProxy.egg-info/top_level.txt +0 -0
  33. {MapProxy-3.1.2 → mapproxy-3.1.4}/README.md +0 -0
  34. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/GM.txt +0 -0
  35. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/_static/logo.png +0 -0
  36. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/_static/logo_title.png +0 -0
  37. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/_static/mapproxy.css +0 -0
  38. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/_templates/versions.html +0 -0
  39. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/auth.rst +0 -0
  40. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/caches.rst +0 -0
  41. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/caching_layer_dimensions.rst +0 -0
  42. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/conf.py +0 -0
  43. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/configuration_examples.rst +0 -0
  44. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/coverages.rst +0 -0
  45. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/decorate_img.rst +0 -0
  46. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/development.rst +0 -0
  47. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/bicubic.png +0 -0
  48. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/bilinear.png +0 -0
  49. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-dynamic.png +0 -0
  50. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-meta-buffer.png +0 -0
  51. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-metatiling-buffer.png +0 -0
  52. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-metatiling.png +0 -0
  53. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-no-clip.png +0 -0
  54. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-no-placement.png +0 -0
  55. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-partial-false.png +0 -0
  56. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/labeling-repeated.png +0 -0
  57. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/mapnik-webmerc-hq.png +0 -0
  58. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/mapnik-webmerc.png +0 -0
  59. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/mapproxy-demo.png +0 -0
  60. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/imgs/nearest.png +0 -0
  61. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/index.rst +0 -0
  62. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/inspire.rst +0 -0
  63. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/install.rst +0 -0
  64. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/install_docker.rst +0 -0
  65. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/install_osgeo4w.rst +0 -0
  66. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/install_windows.rst +0 -0
  67. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/labeling.rst +0 -0
  68. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/mapproxy_util.rst +0 -0
  69. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/mapproxy_util_autoconfig.rst +0 -0
  70. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/plugins.rst +0 -0
  71. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/seed.rst +0 -0
  72. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/services.rst +0 -0
  73. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/sources.rst +0 -0
  74. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/tutorial.rst +0 -0
  75. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/tutorial.yaml +0 -0
  76. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/yaml/cache_conf.yaml +0 -0
  77. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/yaml/grid_conf.yaml +0 -0
  78. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/yaml/merged_conf.yaml +0 -0
  79. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/yaml/meta_conf.yaml +0 -0
  80. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/yaml/seed.yaml +0 -0
  81. {MapProxy-3.1.2 → mapproxy-3.1.4}/doc/yaml/simple_conf.yaml +0 -0
  82. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/__init__.py +0 -0
  83. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/__init__.py +0 -0
  84. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/azureblob.py +0 -0
  85. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/base.py +0 -0
  86. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/couchdb.py +0 -0
  87. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/dummy.py +0 -0
  88. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/file.py +0 -0
  89. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/geopackage.py +0 -0
  90. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/mbtiles.py +0 -0
  91. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/meta.py +0 -0
  92. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/path.py +0 -0
  93. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/redis.py +0 -0
  94. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/renderd.py +0 -0
  95. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/riak.py +0 -0
  96. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/s3.py +0 -0
  97. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/cache/tile.py +0 -0
  98. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/client/__init__.py +0 -0
  99. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/client/arcgis.py +0 -0
  100. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/client/cgi.py +0 -0
  101. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/client/http.py +0 -0
  102. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/client/log.py +0 -0
  103. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/client/tile.py +0 -0
  104. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/client/wms.py +0 -0
  105. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/compat/__init__.py +0 -0
  106. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/compat/image.py +0 -0
  107. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/__init__.py +0 -0
  108. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/config-schema.json +0 -0
  109. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/config.py +0 -0
  110. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/coverage.py +0 -0
  111. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/defaults.py +0 -0
  112. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/spec.py +0 -0
  113. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config/validator.py +0 -0
  114. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config_template/__init__.py +0 -0
  115. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config_template/base_config/config.wsgi +0 -0
  116. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config_template/base_config/full_example.yaml +0 -0
  117. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
  118. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config_template/base_config/log.ini +0 -0
  119. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
  120. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/config_template/base_config/seed.yaml +0 -0
  121. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/exception.py +0 -0
  122. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/featureinfo.py +0 -0
  123. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/grid.py +0 -0
  124. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/__init__.py +0 -0
  125. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  126. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  127. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/fonts/LICENSE +0 -0
  128. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/fonts/__init__.py +0 -0
  129. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/merge.py +0 -0
  130. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/message.py +0 -0
  131. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/opts.py +0 -0
  132. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/tile.py +0 -0
  133. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/image/transform.py +0 -0
  134. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/layer.py +0 -0
  135. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/proj.py +0 -0
  136. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/request/__init__.py +0 -0
  137. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/request/arcgis.py +0 -0
  138. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/request/base.py +0 -0
  139. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/request/tile.py +0 -0
  140. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/request/wms/__init__.py +0 -0
  141. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/request/wms/exception.py +0 -0
  142. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/request/wmts.py +0 -0
  143. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/response.py +0 -0
  144. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/__init__.py +0 -0
  145. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/__init__.py +0 -0
  146. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/app.py +0 -0
  147. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/caches.py +0 -0
  148. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/geopackage.py +0 -0
  149. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/layers.py +0 -0
  150. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/seeds.py +0 -0
  151. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/sources.py +0 -0
  152. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/conf/utils.py +0 -0
  153. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/defrag.py +0 -0
  154. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/export.py +0 -0
  155. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/grids.py +0 -0
  156. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/scales.py +0 -0
  157. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/util.py +0 -0
  158. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/script/wms_capabilities.py +0 -0
  159. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/__init__.py +0 -0
  160. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/cachelock.py +0 -0
  161. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/cleanup.py +0 -0
  162. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/config.py +0 -0
  163. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/script.py +0 -0
  164. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/seeder.py +0 -0
  165. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/spec.py +0 -0
  166. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/seed/util.py +0 -0
  167. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/__init__.py +0 -0
  168. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/base.py +0 -0
  169. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/ows.py +0 -0
  170. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/template_helper.py +0 -0
  171. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/demo.html +0 -0
  172. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
  173. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  174. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  175. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  176. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  177. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  178. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  179. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  180. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  181. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/logo.png +0 -0
  182. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/ol.css +0 -0
  183. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/ol.js +0 -0
  184. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
  185. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
  186. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/site.css +0 -0
  187. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  188. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
  189. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
  190. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
  191. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/static.html +0 -0
  192. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/tms_demo.html +0 -0
  193. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/wms_demo.html +0 -0
  194. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
  195. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/ows_exception.xml +0 -0
  196. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/tms_capabilities.xml +0 -0
  197. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/tms_exception.xml +0 -0
  198. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/tms_root_resource.xml +0 -0
  199. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
  200. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms100capabilities.xml +0 -0
  201. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms100exception.xml +0 -0
  202. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms110capabilities.xml +0 -0
  203. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms110exception.xml +0 -0
  204. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms111capabilities.xml +0 -0
  205. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms111exception.xml +0 -0
  206. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms130capabilities.xml +0 -0
  207. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wms130exception.xml +0 -0
  208. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
  209. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/templates/wmts100exception.xml +0 -0
  210. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/tile.py +0 -0
  211. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/wms.py +0 -0
  212. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/service/wmts.py +0 -0
  213. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/source/__init__.py +0 -0
  214. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/source/arcgis.py +0 -0
  215. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/source/error.py +0 -0
  216. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/source/mapnik.py +0 -0
  217. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/source/tile.py +0 -0
  218. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/source/wms.py +0 -0
  219. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/srs.py +0 -0
  220. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/template.py +0 -0
  221. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/__init__.py +0 -0
  222. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/conftest.py +0 -0
  223. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/helper.py +0 -0
  224. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/http.py +0 -0
  225. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/image.py +0 -0
  226. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/mocker.py +0 -0
  227. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
  228. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
  229. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
  230. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
  231. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
  232. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
  233. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
  234. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
  235. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
  236. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
  237. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
  238. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
  239. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
  240. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
  241. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
  242. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
  243. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
  244. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
  245. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
  246. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
  247. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
  248. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
  249. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
  250. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
  251. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
  252. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
  253. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
  254. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
  255. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
  256. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
  257. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
  258. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
  259. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
  260. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
  261. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
  262. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
  263. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
  264. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
  265. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
  266. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
  267. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
  268. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
  269. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
  270. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
  271. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
  272. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
  273. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
  274. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
  275. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
  276. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
  277. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
  278. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
  279. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
  280. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
  281. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
  282. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  283. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  284. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  285. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
  286. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
  287. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
  288. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
  289. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
  290. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
  291. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
  292. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
  293. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
  294. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
  295. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  296. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  297. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  298. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
  299. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
  300. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
  301. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
  302. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
  303. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
  304. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
  305. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
  306. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
  307. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
  308. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
  309. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
  310. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
  311. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
  312. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
  313. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
  314. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/schemas/xml.xsd +0 -0
  315. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/__init__.py +0 -0
  316. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
  317. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/auth.yaml +0 -0
  318. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
  319. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
  320. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
  321. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
  322. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
  323. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  324. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  325. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  326. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
  327. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
  328. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
  329. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
  330. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
  331. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
  332. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/coverage.yaml +0 -0
  333. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/demo.yaml +0 -0
  334. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/dimension.yaml +0 -0
  335. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
  336. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
  337. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/formats.yaml +0 -0
  338. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/inspire.yaml +0 -0
  339. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
  340. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
  341. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/layer.yaml +0 -0
  342. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
  343. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
  344. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
  345. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
  346. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
  347. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
  348. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
  349. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
  350. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
  351. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
  352. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
  353. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
  354. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
  355. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/seed.yaml +0 -0
  356. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
  357. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/seed_old.yaml +0 -0
  358. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
  359. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
  360. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
  361. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/sld.yaml +0 -0
  362. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
  363. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
  364. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
  365. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
  366. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
  367. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
  368. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
  369. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
  370. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
  371. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
  372. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
  373. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/watermark.yaml +0 -0
  374. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
  375. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
  376. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/wmts.yaml +0 -0
  377. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
  378. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
  379. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
  380. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_arcgis.py +0 -0
  381. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_auth.py +0 -0
  382. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_behind_proxy.py +0 -0
  383. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
  384. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_azureblob.py +0 -0
  385. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_band_merge.py +0 -0
  386. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_coverage.py +0 -0
  387. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_geopackage.py +0 -0
  388. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_grid_names.py +0 -0
  389. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
  390. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_s3.py +0 -0
  391. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_cache_source.py +0 -0
  392. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_combined_sources.py +0 -0
  393. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_coverage.py +0 -0
  394. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_decorate_img.py +0 -0
  395. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
  396. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_dimensions.py +0 -0
  397. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_disable_storage.py +0 -0
  398. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_formats.py +0 -0
  399. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_inspire_vs.py +0 -0
  400. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_kml.py +0 -0
  401. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_layergroups.py +0 -0
  402. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_legendgraphic.py +0 -0
  403. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_mapnik.py +0 -0
  404. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_mapserver.py +0 -0
  405. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
  406. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
  407. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_multiapp.py +0 -0
  408. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_refresh.py +0 -0
  409. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_renderd_client.py +0 -0
  410. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_response_headers.py +0 -0
  411. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_scalehints.py +0 -0
  412. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_seed.py +0 -0
  413. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_seed_only.py +0 -0
  414. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_sld.py +0 -0
  415. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_source_errors.py +0 -0
  416. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
  417. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_tms.py +0 -0
  418. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_tms_origin.py +0 -0
  419. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_util_conf.py +0 -0
  420. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_util_export.py +0 -0
  421. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_util_grids.py +0 -0
  422. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
  423. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_watermark.py +0 -0
  424. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_wms.py +0 -0
  425. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
  426. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_wms_version.py +0 -0
  427. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_wmsc.py +0 -0
  428. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_wmts.py +0 -0
  429. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
  430. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_wmts_restful.py +0 -0
  431. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
  432. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/test_http_helper.py +0 -0
  433. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/__init__.py +0 -0
  434. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/epsg +0 -0
  435. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
  436. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/polygons/polygons.shp +0 -0
  437. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/polygons/polygons.shx +0 -0
  438. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_async.py +0 -0
  439. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_auth.py +0 -0
  440. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache.py +0 -0
  441. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
  442. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_compact.py +0 -0
  443. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
  444. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
  445. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_mbtile.py +0 -0
  446. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_redis.py +0 -0
  447. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_riak.py +0 -0
  448. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_s3.py +0 -0
  449. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_cache_tile.py +0 -0
  450. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_client.py +0 -0
  451. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_client_arcgis.py +0 -0
  452. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_client_cgi.py +0 -0
  453. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_collections.py +0 -0
  454. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_concat_legends.py +0 -0
  455. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_conf_loader.py +0 -0
  456. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_conf_validator.py +0 -0
  457. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_config.py +0 -0
  458. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_decorate_img.py +0 -0
  459. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_exceptions.py +0 -0
  460. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_featureinfo.py +0 -0
  461. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_file_lock_load.py +0 -0
  462. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_fs.py +0 -0
  463. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_geom.py +0 -0
  464. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_grid.py +0 -0
  465. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_image.py +0 -0
  466. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_image_mask.py +0 -0
  467. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_image_messages.py +0 -0
  468. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_image_options.py +0 -0
  469. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_isodate.py +0 -0
  470. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_multiapp.py +0 -0
  471. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_ogr_reader.py +0 -0
  472. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_request.py +0 -0
  473. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_request_wmts.py +0 -0
  474. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_response.py +0 -0
  475. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_seed.py +0 -0
  476. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
  477. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_srs.py +0 -0
  478. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_tiled_source.py +0 -0
  479. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_tilefilter.py +0 -0
  480. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_times.py +0 -0
  481. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_timeutils.py +0 -0
  482. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
  483. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_utils.py +0 -0
  484. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
  485. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_wms_layer.py +0 -0
  486. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/test/unit/test_yaml.py +0 -0
  487. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/tilefilter.py +0 -0
  488. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/__init__.py +0 -0
  489. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/async_.py +0 -0
  490. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/collections.py +0 -0
  491. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/coverage.py +0 -0
  492. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/__init__.py +0 -0
  493. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/dictspec/__init__.py +0 -0
  494. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/dictspec/spec.py +0 -0
  495. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  496. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
  497. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/dictspec/validator.py +0 -0
  498. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/local.py +0 -0
  499. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/odict.py +0 -0
  500. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/serving.py +0 -0
  501. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/tempita/__init__.py +0 -0
  502. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/tempita/_looper.py +0 -0
  503. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/tempita/string_utils.py +0 -0
  504. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
  505. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/duration.py +0 -0
  506. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/parse.py +0 -0
  507. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  508. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
  509. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
  510. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
  511. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
  512. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
  513. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
  514. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ext/wmsparse/util.py +0 -0
  515. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/geom.py +0 -0
  516. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/lib.py +0 -0
  517. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/lock.py +0 -0
  518. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/ogr.py +0 -0
  519. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/py.py +0 -0
  520. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/times.py +0 -0
  521. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/util/yaml.py +0 -0
  522. {MapProxy-3.1.2 → mapproxy-3.1.4}/mapproxy/version.py +0 -0
  523. {MapProxy-3.1.2 → mapproxy-3.1.4}/setup.cfg +0 -0
@@ -1,3 +1,26 @@
1
+ 3.1.4 2025-04-10
2
+ ~~~~~~~~~~~~~~~~
3
+
4
+ Fixes:
5
+
6
+ - Security fix to prevent XSS injections in demo pages
7
+ - Security fix to prevent reading file urls
8
+
9
+
10
+ 3.1.3 2024-11-26
11
+ ~~~~~~~~~~~~~~~~
12
+
13
+ Maintenance:
14
+
15
+ - Several dependencies for the tests and GitHub actions have been updated
16
+ - Spelling and grammar mistakes in the documentation corrected
17
+
18
+ Fixes:
19
+
20
+ - The chmod to update file permissions is now only called if the file was freshly created
21
+ - A bug with clipping polygons that become multi polygons due to the clipping is now fixed
22
+
23
+
1
24
  3.1.2 2024-11-20
2
25
  ~~~~~~~~~~~~~~~~
3
26
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 3.1.2
3
+ Version: 3.1.4
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -8,7 +8,6 @@ Author-email: olt@omniscale.de
8
8
  Maintainer: terrestris GmbH & Co. KG
9
9
  Maintainer-email: info@terrestris.de
10
10
  License: Apache Software License 2.0
11
- Platform: UNKNOWN
12
11
  Classifier: Development Status :: 5 - Production/Stable
13
12
  Classifier: License :: OSI Approved :: Apache Software License
14
13
  Classifier: Operating System :: OS Independent
@@ -24,6 +23,25 @@ Description-Content-Type: text/x-rst
24
23
  License-File: LICENSE.txt
25
24
  License-File: COPYING.txt
26
25
  License-File: AUTHORS.txt
26
+ Requires-Dist: PyYAML>=3.0
27
+ Requires-Dist: future
28
+ Requires-Dist: pyproj>=2
29
+ Requires-Dist: jsonschema>=4
30
+ Requires-Dist: importlib_resources; python_version <= "3.8"
31
+ Requires-Dist: werkzeug<4
32
+ Requires-Dist: Pillow!=2.4.0,!=8.3.0,!=8.3.1
33
+ Dynamic: author
34
+ Dynamic: author-email
35
+ Dynamic: classifier
36
+ Dynamic: description
37
+ Dynamic: description-content-type
38
+ Dynamic: home-page
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: maintainer
42
+ Dynamic: maintainer-email
43
+ Dynamic: requires-dist
44
+ Dynamic: summary
27
45
 
28
46
  MapProxy is an open source proxy for geospatial data. It caches, accelerates and transforms data from existing map services and serves any desktop or web GIS client.
29
47
 
@@ -37,6 +55,29 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
37
55
 
38
56
  Changes
39
57
  -------
58
+ 3.1.4 2025-04-10
59
+ ~~~~~~~~~~~~~~~~
60
+
61
+ Fixes:
62
+
63
+ - Security fix to prevent XSS injections in demo pages
64
+ - Security fix to prevent reading file urls
65
+
66
+
67
+ 3.1.3 2024-11-26
68
+ ~~~~~~~~~~~~~~~~
69
+
70
+ Maintenance:
71
+
72
+ - Several dependencies for the tests and GitHub actions have been updated
73
+ - Spelling and grammar mistakes in the documentation corrected
74
+
75
+ Fixes:
76
+
77
+ - The chmod to update file permissions is now only called if the file was freshly created
78
+ - A bug with clipping polygons that become multi polygons due to the clipping is now fixed
79
+
80
+
40
81
  3.1.2 2024-11-20
41
82
  ~~~~~~~~~~~~~~~~
42
83
 
@@ -113,40 +154,7 @@ Fixes:
113
154
  - Fix gh-pages workflow
114
155
 
115
156
 
116
- 2.2.0 2024-07-24
117
- ~~~~~~~~~~~~~~~~
118
-
119
- Improvements:
120
-
121
- - Add timeout to SQLite connect for geopackages. This helps against locking exceptions
122
- - Improvement of documentation, typos, wrong cli commands, old python2 stuff
123
- - The WMTS capabilites will now advertise the WMS GetLegendGraphic as a LegendURL if both services are active
124
- - It is possible now to configure LegendURLs that should be shown in the WMTS capabilities
125
- - A new method for plugins to intercept and modify requests made to MapProxy was added.
126
-
127
- Maintenance:
128
-
129
- - Removal of debian package information
130
- - Fix docs workflow
131
-
132
- Fixes:
133
-
134
- - Remove import of the packaging library that does not appear in the `install_requires`
135
- - Only install and use `importlib_resources` in python 3.8
136
-
137
-
138
- 2.1.1 2024-07-16
139
- ~~~~~~~~~~~~~~~~
140
- Fixes:
141
-
142
- - Fix version of jsonschema in setup.py
143
- - Fix alpine docker build
144
- - Fix doc generation workflow
145
-
146
-
147
157
 
148
158
  Older changes
149
159
  -------------
150
160
  See https://raw.github.com/mapproxy/mapproxy/master/CHANGES.txt
151
-
152
-
@@ -485,6 +485,7 @@ mapproxy/util/__init__.py
485
485
  mapproxy/util/async_.py
486
486
  mapproxy/util/collections.py
487
487
  mapproxy/util/coverage.py
488
+ mapproxy/util/escape.py
488
489
  mapproxy/util/fs.py
489
490
  mapproxy/util/geom.py
490
491
  mapproxy/util/lib.py
@@ -1,4 +1,3 @@
1
1
  [console_scripts]
2
2
  mapproxy-seed = mapproxy.seed.script:main
3
3
  mapproxy-util = mapproxy.script.util:main
4
-
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: MapProxy
3
- Version: 3.1.2
3
+ Version: 3.1.4
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
@@ -8,7 +8,6 @@ Author-email: olt@omniscale.de
8
8
  Maintainer: terrestris GmbH & Co. KG
9
9
  Maintainer-email: info@terrestris.de
10
10
  License: Apache Software License 2.0
11
- Platform: UNKNOWN
12
11
  Classifier: Development Status :: 5 - Production/Stable
13
12
  Classifier: License :: OSI Approved :: Apache Software License
14
13
  Classifier: Operating System :: OS Independent
@@ -24,6 +23,25 @@ Description-Content-Type: text/x-rst
24
23
  License-File: LICENSE.txt
25
24
  License-File: COPYING.txt
26
25
  License-File: AUTHORS.txt
26
+ Requires-Dist: PyYAML>=3.0
27
+ Requires-Dist: future
28
+ Requires-Dist: pyproj>=2
29
+ Requires-Dist: jsonschema>=4
30
+ Requires-Dist: importlib_resources; python_version <= "3.8"
31
+ Requires-Dist: werkzeug<4
32
+ Requires-Dist: Pillow!=2.4.0,!=8.3.0,!=8.3.1
33
+ Dynamic: author
34
+ Dynamic: author-email
35
+ Dynamic: classifier
36
+ Dynamic: description
37
+ Dynamic: description-content-type
38
+ Dynamic: home-page
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: maintainer
42
+ Dynamic: maintainer-email
43
+ Dynamic: requires-dist
44
+ Dynamic: summary
27
45
 
28
46
  MapProxy is an open source proxy for geospatial data. It caches, accelerates and transforms data from existing map services and serves any desktop or web GIS client.
29
47
 
@@ -37,6 +55,29 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
37
55
 
38
56
  Changes
39
57
  -------
58
+ 3.1.4 2025-04-10
59
+ ~~~~~~~~~~~~~~~~
60
+
61
+ Fixes:
62
+
63
+ - Security fix to prevent XSS injections in demo pages
64
+ - Security fix to prevent reading file urls
65
+
66
+
67
+ 3.1.3 2024-11-26
68
+ ~~~~~~~~~~~~~~~~
69
+
70
+ Maintenance:
71
+
72
+ - Several dependencies for the tests and GitHub actions have been updated
73
+ - Spelling and grammar mistakes in the documentation corrected
74
+
75
+ Fixes:
76
+
77
+ - The chmod to update file permissions is now only called if the file was freshly created
78
+ - A bug with clipping polygons that become multi polygons due to the clipping is now fixed
79
+
80
+
40
81
  3.1.2 2024-11-20
41
82
  ~~~~~~~~~~~~~~~~
42
83
 
@@ -113,40 +154,7 @@ Fixes:
113
154
  - Fix gh-pages workflow
114
155
 
115
156
 
116
- 2.2.0 2024-07-24
117
- ~~~~~~~~~~~~~~~~
118
-
119
- Improvements:
120
-
121
- - Add timeout to SQLite connect for geopackages. This helps against locking exceptions
122
- - Improvement of documentation, typos, wrong cli commands, old python2 stuff
123
- - The WMTS capabilites will now advertise the WMS GetLegendGraphic as a LegendURL if both services are active
124
- - It is possible now to configure LegendURLs that should be shown in the WMTS capabilities
125
- - A new method for plugins to intercept and modify requests made to MapProxy was added.
126
-
127
- Maintenance:
128
-
129
- - Removal of debian package information
130
- - Fix docs workflow
131
-
132
- Fixes:
133
-
134
- - Remove import of the packaging library that does not appear in the `install_requires`
135
- - Only install and use `importlib_resources` in python 3.8
136
-
137
-
138
- 2.1.1 2024-07-16
139
- ~~~~~~~~~~~~~~~~
140
- Fixes:
141
-
142
- - Fix version of jsonschema in setup.py
143
- - Fix alpine docker build
144
- - Fix doc generation workflow
145
-
146
-
147
157
 
148
158
  Older changes
149
159
  -------------
150
160
  See https://raw.github.com/mapproxy/mapproxy/master/CHANGES.txt
151
-
152
-
@@ -238,7 +238,7 @@ The name of the layer. You can omit the name for group layers (e.g. layers with
238
238
 
239
239
  ``title``
240
240
  """""""""
241
- Readable name of the layer, e.g WMS layer title.
241
+ Readable name of the layer, e.g. WMS layer title.
242
242
 
243
243
 
244
244
  .. _layers:
@@ -297,14 +297,14 @@ A list of caches for this layer. This list overrides ``sources`` for WMTS and TM
297
297
 
298
298
  Limit the layer 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.
299
299
 
300
- The values will also apear in the capabilities documents (i.e. WMS ScaleHint and Min/MaxScaleDenominator).
300
+ The values will also appear in the capabilities documents (i.e. WMS ScaleHint and Min/MaxScaleDenominator).
301
301
 
302
302
  Please read :ref:`scale vs. resolution <scale_resolution>` for some notes on `scale`.
303
303
 
304
304
  ``legendurl``
305
305
  """""""""""""
306
306
 
307
- Configure a URL to an image that should be returned as the legend for this layer. Local URLs (``file://``) are also supported. MapProxy ignores the legends from the sources of this layer if you configure a ``legendurl`` here. If WMS and WMTS are enabled the address to the WMS `GetLegendGraphic` endpoint will be included in the WMTS capabilities as the legend url.
307
+ Configure a URL to an image that should be returned as the legend for this layer. Local URLs (``file://``) are also supported. MapProxy ignores the legends from the sources of this layer if you configure a ``legendurl`` here. If WMS and WMTS are enabled the address to the WMS `GetLegendGraphic` endpoint will be included in the WMTS capabilities as the legend URL.
308
308
 
309
309
  .. _layer_metadata:
310
310
 
@@ -397,7 +397,7 @@ Each dimension is another dictionary with a list of ``values`` and an optional `
397
397
 
398
398
  It is possible to configure which URLS the WMTS will advertise as LegendURLs through its capabilities. These will be
399
399
  inserted as a ``LegendURL`` tag into the capabilities document. These URLs support two template variables ``{base_url}``
400
- which is the base url of MapProxy and ``{layer_name}`` which is the name of the layer.
400
+ which is the base URL of MapProxy and ``{layer_name}`` which is the name of the layer.
401
401
 
402
402
  .. code-block:: yaml
403
403
 
@@ -541,7 +541,7 @@ In practice this means that all the linked images will have the first such tile'
541
541
  """"""""""""""""""""""""""
542
542
  If set to ``true``, MapProxy will only issue a single request to the source. This option can reduce the request latency for uncached areas (on demand caching).
543
543
 
544
- By default MapProxy requests all uncached meta-tiles that intersect the requested bbox. With a typical configuration it is not uncommon that a requests will trigger four requests each larger than 2000x2000 pixel. With the ``minimize_meta_requests`` option enabled, each request will trigger only one request to the source. That request will be aligned to the next tile boundaries and the tiles will be cached.
544
+ By default MapProxy requests all uncached meta-tiles that intersect the requested bbox. With a typical configuration it is not uncommon that a request will trigger four requests each larger than 2000x2000 pixel. With the ``minimize_meta_requests`` option enabled, each request will trigger only one request to the source. That request will be aligned to the next tile boundaries and the tiles will be cached.
545
545
 
546
546
  .. index:: watermark
547
547
 
@@ -616,9 +616,9 @@ MapProxy is able to create missing tiles by rescaling tiles from zoom levels bel
616
616
 
617
617
  MapProxy will scale up tiles from one or more zoom levels above (with lower resolutions) if you set ``upscale_tiles`` to 1 or higher. The value configures by how many zoom levels MapProxy can search for a proper tile. Higher values allow more blurry results.
618
618
 
619
- You can use ``upscale_tiles`` if you want to provide tiles or WMS responses in a higher resolution then your available cache. This also works with partially seeded caches, eg. where you have an aerial image cache of 20cm, with some areas also in 10cm resolution. ``upscale_tiles`` allows you to provide responses for 10cm requests in all areas, always returning the best available data.
619
+ You can use ``upscale_tiles`` if you want to provide tiles or WMS responses in a higher resolution then your available cache. This also works with partially seeded caches, e.g. where you have an aerial image cache of 20cm, with some areas also in 10cm resolution. ``upscale_tiles`` allows you to provide responses for 10cm requests in all areas, always returning the best available data.
620
620
 
621
- MapProxy will scale down tiles from one or more zoom levels below (with higher resolutions) if you set ``downscale_tiles`` to 1 or higher. The value configures by how many zoom levels MapProxy can search for a proper tile. Note that the number of tiles growth exponentialy. Typically, a single tile can be downscaled from four tiles of the next zoom level. Downscaling from two levels below requires 16 tiles, three levels below requires 64, etc.. A larger WMS request can quickly accumulate thousands of tiles required for downscaling. It is therefore `not` recommended to use ``downscale_tiles`` values larger then one.
621
+ MapProxy will scale down tiles from one or more zoom levels below (with higher resolutions) if you set ``downscale_tiles`` to 1 or higher. The value configures by how many zoom levels MapProxy can search for a proper tile. Note that the number of tiles growth exponentially. Typically, a single tile can be downscaled from four tiles of the next zoom level. Downscaling from two levels below requires 16 tiles, three levels below requires 64, etc.. A larger WMS request can quickly accumulate thousands of tiles required for downscaling. It is therefore `not` recommended to use ``downscale_tiles`` values larger than one.
622
622
 
623
623
  You can use ``downscale_tiles`` to fill a cache for a source that only provides data for higher resolutions.
624
624
 
@@ -677,7 +677,7 @@ Example:
677
677
  """"""""""""""""""""
678
678
 
679
679
  If set to ``true``, MapProxy will not store any tiles for this cache. MapProxy will re-request all required tiles for each incoming request,
680
- even if the there are matching tiles in the cache. See :ref:`seed_only <wms_seed_only>` if you need an *offline* mode.
680
+ even if there are matching tiles in the cache. See :ref:`seed_only <wms_seed_only>` if you need an *offline* mode.
681
681
 
682
682
  .. note:: Be careful when using a cache with disabled storage in tile services when the cache uses WMS sources with metatiling.
683
683
 
@@ -841,7 +841,7 @@ The total number of cached resolution levels. Defaults to 20, except for grids w
841
841
 
842
842
  ``min_res`` and ``max_res``
843
843
  """""""""""""""""""""""""""
844
- The the resolutions of the first and the last level.
844
+ The resolutions of the first and the last level.
845
845
 
846
846
  ``stretch_factor``
847
847
  """"""""""""""""""
@@ -849,7 +849,7 @@ MapProxy chooses the `optimal` cached level for requests that do not exactly
849
849
  match any cached resolution. MapProxy will stretch or shrink images to the
850
850
  requested resolution. The `stretch_factor` defines the maximum factor
851
851
  MapProxy is allowed to stretch images. Stretched images result in better
852
- performance but will look blurry when the value is to large (> 1.2).
852
+ performance but will look blurry when the value is too large (> 1.2).
853
853
 
854
854
  Example: Your MapProxy caches 10m and 5m resolutions. Requests with 9m
855
855
  resolution will be generated from the 10m level, requests for 8m from the 5m
@@ -910,7 +910,7 @@ Example ``grids`` configuration
910
910
  sources
911
911
  -------
912
912
 
913
- A sources defines where MapProxy can request new data. Each source has a ``type`` and all other options are dependent to this type.
913
+ A source defines where MapProxy can request new data. Each source has a ``type`` and all other options are dependent to this type.
914
914
 
915
915
  See :doc:`sources` for the documentation of all available sources.
916
916
 
@@ -1027,7 +1027,7 @@ The following options define how tiles are created and stored. Most options can
1027
1027
  .. _lock_dir:
1028
1028
 
1029
1029
  ``lock_dir``
1030
- MapProxy uses locking to limit multiple request to the same service. See ``concurrent_requests``.
1030
+ MapProxy uses locking to limit multiple requests to the same service. See ``concurrent_requests``.
1031
1031
  This option defines where the temporary lock files will be stored. The path
1032
1032
  can either be absolute (e.g. ``/tmp/lock/mapproxy``) or relative to the
1033
1033
  mapproxy.yaml file. Defaults to ``./cache_data/tile_locks``.
@@ -1103,7 +1103,7 @@ The following options define how tiles are created and stored. Most options can
1103
1103
 
1104
1104
  ``axis_order_ne`` and ``axis_order_en``
1105
1105
  The axis ordering defines in which order coordinates are given, i.e. lon/lat or lat/lon.
1106
- The ordering is dependent to the SRS. Most clients and servers did not respected the
1106
+ The ordering is dependent to the SRS. Most clients and servers did not respect the
1107
1107
  ordering and everyone used lon/lat ordering. With the WMS 1.3.0 specification the OGC
1108
1108
  emphasized that the axis ordering of the SRS should be used.
1109
1109
 
@@ -1212,7 +1212,7 @@ Sets the ``Access-control-allow-origin`` header to HTTP responses for `Cross-ori
1212
1212
  .. versionadded:: 1.14.0
1213
1213
 
1214
1214
  Enables MapProxy cookie management for HTTP sources. When enabled MapProxy will accept and store server cookies. Accepted cookies will be passed
1215
- back to the source on subsequent requests. Usefull for sources which require to maintain an HTTP session to work efficiently, maybe in combination
1215
+ back to the source on subsequent requests. Useful for sources which require to maintain an HTTP session to work efficiently, maybe in combination
1216
1216
  with basic authentication. Depending on your deployment MapProxy will still start multiple sessions (e.g. one per MapProxy process).
1217
1217
  Cookie handling is based on Python `CookieJar <https://docs.python.org/3/library/http.cookiejar.html>`_. Disabled by default.
1218
1218
 
@@ -1386,7 +1386,7 @@ Notes
1386
1386
  Scale vs. resolution
1387
1387
  """"""""""""""""""""
1388
1388
 
1389
- Scale is the ratio of a distance on a map and the corresponding distance on the ground. This implies that the map distance and the ground distance are measured in the same unit. For MapProxy a `map` is just a collection of pixels and the pixels do not have any size/dimension. They do correspond to a ground size but the size on the `map` is depended of the physical output format. MapProxy can thus only work with resolutions (pixel per ground unit) and not scales.
1389
+ Scale is the ratio of a distance on a map and the corresponding distance on the ground. This implies that the map distance and the ground distance are measured in the same unit. For MapProxy a `map` is just a collection of pixels and the pixels do not have any size/dimension. They do correspond to a ground size but the size on the `map` is depended on the physical output format. MapProxy can thus only work with resolutions (pixel per ground unit) and not scales.
1390
1390
 
1391
1391
  This applies to all servers and the OGC WMS standard as well. Some neglect this fact and assume a fixed pixel dimension (like 72dpi), the OCG WMS 1.3.0 standard uses a pixel size of 0.28 mm/px (around 91dpi). But you need to understand that a `scale` will differ if you print a map (200, 300 or more dpi) or if you show it on a computer display (typical 90-120 dpi, but there are mobile devices with more than 300 dpi).
1392
1392
 
@@ -49,6 +49,8 @@ Behind an HTTP server or proxy
49
49
 
50
50
  Both approaches require a configuration that maps your MapProxy configuration with the MapProxy application. You can write a small script file for that.
51
51
 
52
+ .. note:: In production mode it is recommended to disable the demo service.
53
+
52
54
  .. _server_script:
53
55
 
54
56
  Server script
@@ -347,8 +347,9 @@ class BundleIndexV1(object):
347
347
  @contextlib.contextmanager
348
348
  def readwrite(self):
349
349
  self._init_index()
350
+ set_permissions = self.file_permissions and not os.path.exists(self.filename)
350
351
  with open(self.filename, 'r+b') as fh:
351
- if self.file_permissions:
352
+ if set_permissions:
352
353
  permission = int(self.file_permissions, base=8)
353
354
  log.info("setting file permissions on compact cache file: " + self.file_permissions)
354
355
  os.chmod(self.filename, permission)
@@ -65,9 +65,10 @@ class LegendCache(object):
65
65
 
66
66
  data = legend.source.as_buffer(ImageOptions(format='image/' + self.file_ext), seekable=True)
67
67
  data.seek(0)
68
+ set_permissions = self.file_permissions and not os.path.exists(legend.location)
68
69
  log.debug('writing to %s' % (legend.location))
69
70
  write_atomic(legend.location, data.read())
70
- if self.file_permissions:
71
+ if set_permissions:
71
72
  permission = int(self.file_permissions, base=8)
72
73
  log.info("setting file permissions on compact cache file: " + self.file_permissions)
73
74
  os.chmod(legend.location, permission)
@@ -2446,6 +2446,10 @@ def load_configuration(mapproxy_conf, seed=False, ignore_warnings=True, renderd=
2446
2446
  for error in errors:
2447
2447
  log.warning(error)
2448
2448
 
2449
+ services = conf_dict.get('services')
2450
+ if services is not None and 'demo' in services:
2451
+ log.warning('Application has demo page enabled. It is recommended to disable this in production.')
2452
+
2449
2453
  return ProxyConfiguration(conf_dict, conf_base_dir=conf_base_dir, seed=seed,
2450
2454
  renderd=renderd)
2451
2455
 
@@ -71,7 +71,7 @@ def image_mask_from_geom(size, bbox, polygons):
71
71
 
72
72
  if buffered.geom_type == 'MultiPolygon':
73
73
  # negative buffer can turn polygon into multipolygon
74
- for p in buffered:
74
+ for p in buffered.geoms:
75
75
  draw_polygon(p)
76
76
  else:
77
77
  draw_polygon(buffered)
@@ -20,6 +20,7 @@ from mapproxy.request import Request
20
20
  from mapproxy.response import Response
21
21
  from mapproxy.util.collections import LRU
22
22
  from mapproxy.wsgiapp import make_wsgi_app as make_mapproxy_wsgi_app
23
+ from mapproxy.util.escape import escape_html
23
24
 
24
25
  from threading import Lock
25
26
 
@@ -95,7 +96,7 @@ class MultiMapProxy(object):
95
96
  import mapproxy.version
96
97
  html = "<html><body><h1>Welcome to MapProxy %s</h1>" % mapproxy.version.version
97
98
 
98
- url = req.script_url
99
+ url = escape_html(req.script_url)
99
100
  if self.list_apps:
100
101
  html += "<h2>available instances:</h2><ul>"
101
102
  html += '\n'.join('<li><a href="%(url)s/%(name)s/">%(name)s</a></li>' % {'url': url, 'name': app}