MapProxy 3.1.0__tar.gz → 3.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. {MapProxy-3.1.0 → MapProxy-3.1.1}/CHANGES.txt +12 -0
  2. {MapProxy-3.1.0 → MapProxy-3.1.1}/MapProxy.egg-info/PKG-INFO +16 -8
  3. {MapProxy-3.1.0 → MapProxy-3.1.1}/MapProxy.egg-info/requires.txt +1 -1
  4. {MapProxy-3.1.0 → MapProxy-3.1.1}/PKG-INFO +16 -8
  5. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/coverages.rst +1 -1
  6. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/base.py +4 -2
  7. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/compact.py +8 -4
  8. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/geopackage.py +2 -2
  9. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/mbtiles.py +2 -2
  10. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/loader.py +48 -4
  11. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/config.py +2 -0
  12. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_utils.py +30 -2
  13. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/lockfile.py +4 -1
  14. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/lock.py +12 -10
  15. {MapProxy-3.1.0 → MapProxy-3.1.1}/setup.py +5 -2
  16. {MapProxy-3.1.0 → MapProxy-3.1.1}/AUTHORS.txt +0 -0
  17. {MapProxy-3.1.0 → MapProxy-3.1.1}/COPYING.txt +0 -0
  18. {MapProxy-3.1.0 → MapProxy-3.1.1}/LICENSE.txt +0 -0
  19. {MapProxy-3.1.0 → MapProxy-3.1.1}/MANIFEST.in +0 -0
  20. {MapProxy-3.1.0 → MapProxy-3.1.1}/MapProxy.egg-info/SOURCES.txt +0 -0
  21. {MapProxy-3.1.0 → MapProxy-3.1.1}/MapProxy.egg-info/dependency_links.txt +0 -0
  22. {MapProxy-3.1.0 → MapProxy-3.1.1}/MapProxy.egg-info/entry_points.txt +0 -0
  23. {MapProxy-3.1.0 → MapProxy-3.1.1}/MapProxy.egg-info/not-zip-safe +0 -0
  24. {MapProxy-3.1.0 → MapProxy-3.1.1}/MapProxy.egg-info/top_level.txt +0 -0
  25. {MapProxy-3.1.0 → MapProxy-3.1.1}/README.md +0 -0
  26. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/GM.txt +0 -0
  27. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/_static/logo.png +0 -0
  28. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/_static/logo_title.png +0 -0
  29. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/_static/mapproxy.css +0 -0
  30. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/_templates/versions.html +0 -0
  31. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/auth.rst +0 -0
  32. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/caches.rst +0 -0
  33. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/caching_layer_dimensions.rst +0 -0
  34. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/conf.py +0 -0
  35. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/configuration.rst +0 -0
  36. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/configuration_examples.rst +0 -0
  37. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/decorate_img.rst +0 -0
  38. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/deployment.rst +0 -0
  39. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/development.rst +0 -0
  40. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/bicubic.png +0 -0
  41. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/bilinear.png +0 -0
  42. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-dynamic.png +0 -0
  43. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-meta-buffer.png +0 -0
  44. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-metatiling-buffer.png +0 -0
  45. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-metatiling.png +0 -0
  46. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-no-clip.png +0 -0
  47. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-no-placement.png +0 -0
  48. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-partial-false.png +0 -0
  49. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/labeling-repeated.png +0 -0
  50. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/mapnik-webmerc-hq.png +0 -0
  51. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/mapnik-webmerc.png +0 -0
  52. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/mapproxy-demo.png +0 -0
  53. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/imgs/nearest.png +0 -0
  54. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/index.rst +0 -0
  55. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/inspire.rst +0 -0
  56. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/install.rst +0 -0
  57. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/install_docker.rst +0 -0
  58. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/install_osgeo4w.rst +0 -0
  59. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/install_windows.rst +0 -0
  60. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/labeling.rst +0 -0
  61. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/mapproxy_util.rst +0 -0
  62. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/mapproxy_util_autoconfig.rst +0 -0
  63. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/plugins.rst +0 -0
  64. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/seed.rst +0 -0
  65. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/services.rst +0 -0
  66. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/sources.rst +0 -0
  67. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/tutorial.rst +0 -0
  68. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/tutorial.yaml +0 -0
  69. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/yaml/cache_conf.yaml +0 -0
  70. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/yaml/grid_conf.yaml +0 -0
  71. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/yaml/merged_conf.yaml +0 -0
  72. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/yaml/meta_conf.yaml +0 -0
  73. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/yaml/seed.yaml +0 -0
  74. {MapProxy-3.1.0 → MapProxy-3.1.1}/doc/yaml/simple_conf.yaml +0 -0
  75. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/__init__.py +0 -0
  76. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/__init__.py +0 -0
  77. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/azureblob.py +0 -0
  78. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/couchdb.py +0 -0
  79. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/dummy.py +0 -0
  80. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/file.py +0 -0
  81. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/legend.py +0 -0
  82. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/meta.py +0 -0
  83. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/path.py +0 -0
  84. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/redis.py +0 -0
  85. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/renderd.py +0 -0
  86. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/riak.py +0 -0
  87. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/s3.py +0 -0
  88. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/cache/tile.py +0 -0
  89. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/client/__init__.py +0 -0
  90. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/client/arcgis.py +0 -0
  91. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/client/cgi.py +0 -0
  92. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/client/http.py +0 -0
  93. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/client/log.py +0 -0
  94. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/client/tile.py +0 -0
  95. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/client/wms.py +0 -0
  96. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/compat/__init__.py +0 -0
  97. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/compat/image.py +0 -0
  98. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/__init__.py +0 -0
  99. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/config-schema.json +0 -0
  100. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/config.py +0 -0
  101. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/coverage.py +0 -0
  102. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/defaults.py +0 -0
  103. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/spec.py +0 -0
  104. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config/validator.py +0 -0
  105. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config_template/__init__.py +0 -0
  106. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config_template/base_config/config.wsgi +0 -0
  107. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config_template/base_config/full_example.yaml +0 -0
  108. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config_template/base_config/full_seed_example.yaml +0 -0
  109. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config_template/base_config/log.ini +0 -0
  110. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config_template/base_config/mapproxy.yaml +0 -0
  111. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/config_template/base_config/seed.yaml +0 -0
  112. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/exception.py +0 -0
  113. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/featureinfo.py +0 -0
  114. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/grid.py +0 -0
  115. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/__init__.py +0 -0
  116. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  117. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  118. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/fonts/LICENSE +0 -0
  119. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/fonts/__init__.py +0 -0
  120. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/mask.py +0 -0
  121. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/merge.py +0 -0
  122. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/message.py +0 -0
  123. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/opts.py +0 -0
  124. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/tile.py +0 -0
  125. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/image/transform.py +0 -0
  126. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/layer.py +0 -0
  127. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/multiapp.py +0 -0
  128. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/proj.py +0 -0
  129. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/request/__init__.py +0 -0
  130. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/request/arcgis.py +0 -0
  131. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/request/base.py +0 -0
  132. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/request/tile.py +0 -0
  133. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/request/wms/__init__.py +0 -0
  134. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/request/wms/exception.py +0 -0
  135. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/request/wmts.py +0 -0
  136. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/response.py +0 -0
  137. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/__init__.py +0 -0
  138. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/__init__.py +0 -0
  139. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/app.py +0 -0
  140. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/caches.py +0 -0
  141. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/geopackage.py +0 -0
  142. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/layers.py +0 -0
  143. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/seeds.py +0 -0
  144. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/sources.py +0 -0
  145. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/conf/utils.py +0 -0
  146. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/defrag.py +0 -0
  147. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/export.py +0 -0
  148. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/grids.py +0 -0
  149. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/scales.py +0 -0
  150. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/util.py +0 -0
  151. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/script/wms_capabilities.py +0 -0
  152. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/__init__.py +0 -0
  153. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/cachelock.py +0 -0
  154. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/cleanup.py +0 -0
  155. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/script.py +0 -0
  156. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/seeder.py +0 -0
  157. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/spec.py +0 -0
  158. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/seed/util.py +0 -0
  159. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/__init__.py +0 -0
  160. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/base.py +0 -0
  161. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/demo.py +0 -0
  162. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/kml.py +0 -0
  163. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/ows.py +0 -0
  164. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/template_helper.py +0 -0
  165. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/capabilities_demo.html +0 -0
  166. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/demo.html +0 -0
  167. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/openlayers-demo.cfg +0 -0
  168. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  169. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  170. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  171. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  172. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  173. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  174. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  175. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  176. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/logo.png +0 -0
  177. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/ol.css +0 -0
  178. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/ol.js +0 -0
  179. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/proj4.min.js +0 -0
  180. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/proj4defs.js +0 -0
  181. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/site.css +0 -0
  182. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  183. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/google.css +0 -0
  184. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/ie6-style.css +0 -0
  185. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static/theme/default/style.css +0 -0
  186. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/static.html +0 -0
  187. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/tms_demo.html +0 -0
  188. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/wms_demo.html +0 -0
  189. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/demo/wmts_demo.html +0 -0
  190. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/ows_exception.xml +0 -0
  191. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/tms_capabilities.xml +0 -0
  192. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/tms_exception.xml +0 -0
  193. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/tms_root_resource.xml +0 -0
  194. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/tms_tilemap_capabilities.xml +0 -0
  195. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms100capabilities.xml +0 -0
  196. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms100exception.xml +0 -0
  197. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms110capabilities.xml +0 -0
  198. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms110exception.xml +0 -0
  199. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms111capabilities.xml +0 -0
  200. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms111exception.xml +0 -0
  201. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms130capabilities.xml +0 -0
  202. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wms130exception.xml +0 -0
  203. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wmts100capabilities.xml +0 -0
  204. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/templates/wmts100exception.xml +0 -0
  205. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/tile.py +0 -0
  206. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/wms.py +0 -0
  207. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/service/wmts.py +0 -0
  208. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/source/__init__.py +0 -0
  209. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/source/arcgis.py +0 -0
  210. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/source/error.py +0 -0
  211. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/source/mapnik.py +0 -0
  212. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/source/tile.py +0 -0
  213. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/source/wms.py +0 -0
  214. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/srs.py +0 -0
  215. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/template.py +0 -0
  216. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/__init__.py +0 -0
  217. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/conftest.py +0 -0
  218. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/helper.py +0 -0
  219. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/http.py +0 -0
  220. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/image.py +0 -0
  221. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/mocker.py +0 -0
  222. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/common.xsd +0 -0
  223. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +0 -0
  224. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +0 -0
  225. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +0 -0
  226. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +0 -0
  227. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +0 -0
  228. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +0 -0
  229. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +0 -0
  230. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +0 -0
  231. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +0 -0
  232. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +0 -0
  233. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +0 -0
  234. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +0 -0
  235. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +0 -0
  236. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +0 -0
  237. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +0 -0
  238. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +0 -0
  239. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +0 -0
  240. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +0 -0
  241. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +0 -0
  242. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +0 -0
  243. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +0 -0
  244. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +0 -0
  245. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +0 -0
  246. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/common/1.0/network.xsd +0 -0
  247. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +0 -0
  248. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +0 -0
  249. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +0 -0
  250. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +0 -0
  251. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/kml/2.2.0/xAL.xsd +0 -0
  252. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +0 -0
  253. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +0 -0
  254. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +0 -0
  255. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +0 -0
  256. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +0 -0
  257. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +0 -0
  258. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +0 -0
  259. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +0 -0
  260. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +0 -0
  261. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +0 -0
  262. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +0 -0
  263. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +0 -0
  264. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +0 -0
  265. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +0 -0
  266. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +0 -0
  267. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +0 -0
  268. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +0 -0
  269. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +0 -0
  270. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +0 -0
  271. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +0 -0
  272. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +0 -0
  273. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +0 -0
  274. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +0 -0
  275. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +0 -0
  276. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +0 -0
  277. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  278. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  279. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  280. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +0 -0
  281. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +0 -0
  282. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +0 -0
  283. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +0 -0
  284. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +0 -0
  285. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +0 -0
  286. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +0 -0
  287. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +0 -0
  288. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +0 -0
  289. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +0 -0
  290. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +0 -0
  291. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +0 -0
  292. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +0 -0
  293. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +0 -0
  294. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +0 -0
  295. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +0 -0
  296. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +0 -0
  297. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/ReadMe.txt +0 -0
  298. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmts.xsd +0 -0
  299. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +0 -0
  300. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +0 -0
  301. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +0 -0
  302. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +0 -0
  303. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +0 -0
  304. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +0 -0
  305. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +0 -0
  306. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +0 -0
  307. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +0 -0
  308. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +0 -0
  309. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/schemas/xml.xsd +0 -0
  310. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/__init__.py +0 -0
  311. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/arcgis.yaml +0 -0
  312. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/auth.yaml +0 -0
  313. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache.mbtiles +0 -0
  314. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_azureblob.yaml +0 -0
  315. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_band_merge.yaml +0 -0
  316. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +0 -0
  317. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_coverage.yaml +0 -0
  318. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  319. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  320. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  321. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_geopackage.yaml +0 -0
  322. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_grid_names.yaml +0 -0
  323. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_mbtiles.yaml +0 -0
  324. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_s3.yaml +0 -0
  325. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/cache_source.yaml +0 -0
  326. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/combined_sources.yaml +0 -0
  327. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/coverage.yaml +0 -0
  328. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/demo.yaml +0 -0
  329. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/dimension.yaml +0 -0
  330. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/disable_storage.yaml +0 -0
  331. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/empty_ogrdata.geojson +0 -0
  332. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/formats.yaml +0 -0
  333. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/inspire.yaml +0 -0
  334. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/inspire_full.yaml +0 -0
  335. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/kml_layer.yaml +0 -0
  336. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/layer.yaml +0 -0
  337. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/layergroups.yaml +0 -0
  338. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/layergroups_root.yaml +0 -0
  339. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/legendgraphic.yaml +0 -0
  340. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mapnik_source.yaml +0 -0
  341. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mapproxy_export.yaml +0 -0
  342. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mapserver.yaml +0 -0
  343. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/minimal_cgi.py +0 -0
  344. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/mixed_mode.yaml +0 -0
  345. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/multi_cache_layers.yaml +0 -0
  346. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/multiapp1.yaml +0 -0
  347. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/multiapp2.yaml +0 -0
  348. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/renderd_client.yaml +0 -0
  349. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/scalehints.yaml +0 -0
  350. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed.yaml +0 -0
  351. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_mapproxy.yaml +0 -0
  352. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_old.yaml +0 -0
  353. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_timeouts.yaml +0 -0
  354. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +0 -0
  355. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/seedonly.yaml +0 -0
  356. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/sld.yaml +0 -0
  357. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/source_errors.yaml +0 -0
  358. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/source_errors_raise.yaml +0 -0
  359. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/tileservice_origin.yaml +0 -0
  360. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/tileservice_refresh.yaml +0 -0
  361. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/tilesource_minmax_res.yaml +0 -0
  362. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util-conf-base-grids.yaml +0 -0
  363. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util-conf-overwrite.yaml +0 -0
  364. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +0 -0
  365. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_grids.yaml +0 -0
  366. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_wms_capabilities111.xml +0 -0
  367. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_wms_capabilities130.xml +0 -0
  368. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +0 -0
  369. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/watermark.yaml +0 -0
  370. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wms_srs_extent.yaml +0 -0
  371. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wms_versions.yaml +0 -0
  372. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wmts.yaml +0 -0
  373. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/wmts_dimensions.yaml +0 -0
  374. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/xslt_featureinfo.yaml +0 -0
  375. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +0 -0
  376. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_arcgis.py +0 -0
  377. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_auth.py +0 -0
  378. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_behind_proxy.py +0 -0
  379. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_bulk_meta_tiles.py +0 -0
  380. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_azureblob.py +0 -0
  381. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_band_merge.py +0 -0
  382. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_coverage.py +0 -0
  383. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_geopackage.py +0 -0
  384. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_grid_names.py +0 -0
  385. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_mbtiles.py +0 -0
  386. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_s3.py +0 -0
  387. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_cache_source.py +0 -0
  388. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_combined_sources.py +0 -0
  389. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_coverage.py +0 -0
  390. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_decorate_img.py +0 -0
  391. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_demo.py +0 -0
  392. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_demo_with_extra_service.py +0 -0
  393. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_dimensions.py +0 -0
  394. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_disable_storage.py +0 -0
  395. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_formats.py +0 -0
  396. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_inspire_vs.py +0 -0
  397. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_kml.py +0 -0
  398. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_layergroups.py +0 -0
  399. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_legendgraphic.py +0 -0
  400. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_mapnik.py +0 -0
  401. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_mapserver.py +0 -0
  402. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_mixed_mode_format.py +0 -0
  403. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_multi_cache_layers.py +0 -0
  404. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_multiapp.py +0 -0
  405. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_refresh.py +0 -0
  406. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_renderd_client.py +0 -0
  407. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_response_headers.py +0 -0
  408. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_scalehints.py +0 -0
  409. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_seed.py +0 -0
  410. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_seed_only.py +0 -0
  411. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_sld.py +0 -0
  412. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_source_errors.py +0 -0
  413. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_tilesource_minmax_res.py +0 -0
  414. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_tms.py +0 -0
  415. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_tms_origin.py +0 -0
  416. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_util_conf.py +0 -0
  417. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_util_export.py +0 -0
  418. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_util_grids.py +0 -0
  419. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_util_wms_capabilities.py +0 -0
  420. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_watermark.py +0 -0
  421. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_wms.py +0 -0
  422. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_wms_srs_extent.py +0 -0
  423. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_wms_version.py +0 -0
  424. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_wmsc.py +0 -0
  425. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_wmts.py +0 -0
  426. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_wmts_dimensions.py +0 -0
  427. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_wmts_restful.py +0 -0
  428. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/system/test_xslt_featureinfo.py +0 -0
  429. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/test_http_helper.py +0 -0
  430. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/__init__.py +0 -0
  431. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/epsg +0 -0
  432. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/polygons/polygons.dbf +0 -0
  433. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/polygons/polygons.shp +0 -0
  434. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/polygons/polygons.shx +0 -0
  435. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_async.py +0 -0
  436. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_auth.py +0 -0
  437. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache.py +0 -0
  438. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_azureblob.py +0 -0
  439. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_compact.py +0 -0
  440. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_couchdb.py +0 -0
  441. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_geopackage.py +0 -0
  442. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_mbtile.py +0 -0
  443. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_redis.py +0 -0
  444. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_riak.py +0 -0
  445. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_s3.py +0 -0
  446. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_cache_tile.py +0 -0
  447. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_client.py +0 -0
  448. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_client_arcgis.py +0 -0
  449. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_client_cgi.py +0 -0
  450. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_collections.py +0 -0
  451. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_concat_legends.py +0 -0
  452. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_conf_loader.py +0 -0
  453. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_conf_validator.py +0 -0
  454. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_config.py +0 -0
  455. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_decorate_img.py +0 -0
  456. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_exceptions.py +0 -0
  457. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_featureinfo.py +0 -0
  458. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_file_lock_load.py +0 -0
  459. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_fs.py +0 -0
  460. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_geom.py +0 -0
  461. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_grid.py +0 -0
  462. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_image.py +0 -0
  463. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_image_mask.py +0 -0
  464. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_image_messages.py +0 -0
  465. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_image_options.py +0 -0
  466. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_isodate.py +0 -0
  467. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_multiapp.py +0 -0
  468. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_ogr_reader.py +0 -0
  469. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_request.py +0 -0
  470. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_request_wmts.py +0 -0
  471. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_response.py +0 -0
  472. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_seed.py +0 -0
  473. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_seed_cachelock.py +0 -0
  474. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_srs.py +0 -0
  475. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_tiled_source.py +0 -0
  476. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_tilefilter.py +0 -0
  477. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_times.py +0 -0
  478. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_timeutils.py +0 -0
  479. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_util_conf_utils.py +0 -0
  480. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_wms_capabilities.py +0 -0
  481. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_wms_layer.py +0 -0
  482. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/test/unit/test_yaml.py +0 -0
  483. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/tilefilter.py +0 -0
  484. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/__init__.py +0 -0
  485. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/async_.py +0 -0
  486. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/collections.py +0 -0
  487. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/coverage.py +0 -0
  488. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/__init__.py +0 -0
  489. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/__init__.py +0 -0
  490. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/spec.py +0 -0
  491. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  492. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/test/test_validator.py +0 -0
  493. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/dictspec/validator.py +0 -0
  494. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/local.py +0 -0
  495. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/odict.py +0 -0
  496. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/serving.py +0 -0
  497. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/tempita/__init__.py +0 -0
  498. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/tempita/_looper.py +0 -0
  499. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/tempita/string_utils.py +0 -0
  500. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/__init__.py +0 -0
  501. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/duration.py +0 -0
  502. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/parse.py +0 -0
  503. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  504. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/test_parse.py +0 -0
  505. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/test_util.py +0 -0
  506. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms-example-111.xml +0 -0
  507. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms-example-130.xml +0 -0
  508. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms-large-111.xml +0 -0
  509. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +0 -0
  510. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ext/wmsparse/util.py +0 -0
  511. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/fs.py +0 -0
  512. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/geom.py +0 -0
  513. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/lib.py +0 -0
  514. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/ogr.py +0 -0
  515. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/py.py +0 -0
  516. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/times.py +0 -0
  517. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/util/yaml.py +0 -0
  518. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/version.py +0 -0
  519. {MapProxy-3.1.0 → MapProxy-3.1.1}/mapproxy/wsgiapp.py +0 -0
  520. {MapProxy-3.1.0 → MapProxy-3.1.1}/requirements-tests.txt +0 -0
  521. {MapProxy-3.1.0 → MapProxy-3.1.1}/setup.cfg +0 -0
@@ -1,3 +1,15 @@
1
+ 3.1.1 2024-11-15
2
+ ~~~~~~~~~~~~~~~~
3
+
4
+ Maintenance:
5
+
6
+ - Werkzeug version is no longer pinned and can be chosen freely.
7
+
8
+ Fixes:
9
+
10
+ - The permission handling for file locks now also sets permissions on the files not just on the directories.
11
+
12
+
1
13
  3.1.0 2024-10-22
2
14
  ~~~~~~~~~~~~~~~~
3
15
 
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MapProxy
3
- Version: 3.1.0
3
+ Version: 3.1.1
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
7
7
  Author-email: olt@omniscale.de
8
+ Maintainer: terrestris GmbH & Co. KG
9
+ Maintainer-email: info@terrestris.de
8
10
  License: Apache Software License 2.0
9
11
  Platform: UNKNOWN
10
12
  Classifier: Development Status :: 5 - Production/Stable
@@ -18,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.12
18
20
  Classifier: Topic :: Internet :: Proxy Servers
19
21
  Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
20
22
  Classifier: Topic :: Scientific/Engineering :: GIS
23
+ Description-Content-Type: text/x-rst
21
24
  License-File: LICENSE.txt
22
25
  License-File: COPYING.txt
23
26
  License-File: AUTHORS.txt
@@ -34,6 +37,18 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
34
37
 
35
38
  Changes
36
39
  -------
40
+ 3.1.1 2024-11-15
41
+ ~~~~~~~~~~~~~~~~
42
+
43
+ Maintenance:
44
+
45
+ - Werkzeug version is no longer pinned and can be chosen freely.
46
+
47
+ Fixes:
48
+
49
+ - The permission handling for file locks now also sets permissions on the files not just on the directories.
50
+
51
+
37
52
  3.1.0 2024-10-22
38
53
  ~~~~~~~~~~~~~~~~
39
54
 
@@ -142,13 +157,6 @@ Fixes:
142
157
  - Fix GeoTIFF Headers
143
158
 
144
159
 
145
- 2.0.2 2024-01-10
146
- ~~~~~~~~~~~~~~~~
147
-
148
- Fixes:
149
-
150
- - Revert PR "Fix mixed image format for file, S3 and azureblob caches"
151
-
152
160
 
153
161
  Older changes
154
162
  -------------
@@ -3,7 +3,7 @@ PyYAML>=3.0
3
3
  future
4
4
  jsonschema>=4
5
5
  pyproj>=2
6
- werkzeug==1.0.1
6
+ werkzeug<4
7
7
 
8
8
  [:python_version <= "3.8"]
9
9
  importlib_resources
@@ -1,10 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MapProxy
3
- Version: 3.1.0
3
+ Version: 3.1.1
4
4
  Summary: An accelerating proxy for tile and web map services
5
5
  Home-page: https://mapproxy.org
6
6
  Author: Oliver Tonnhofer
7
7
  Author-email: olt@omniscale.de
8
+ Maintainer: terrestris GmbH & Co. KG
9
+ Maintainer-email: info@terrestris.de
8
10
  License: Apache Software License 2.0
9
11
  Platform: UNKNOWN
10
12
  Classifier: Development Status :: 5 - Production/Stable
@@ -18,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.12
18
20
  Classifier: Topic :: Internet :: Proxy Servers
19
21
  Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
20
22
  Classifier: Topic :: Scientific/Engineering :: GIS
23
+ Description-Content-Type: text/x-rst
21
24
  License-File: LICENSE.txt
22
25
  License-File: COPYING.txt
23
26
  License-File: AUTHORS.txt
@@ -34,6 +37,18 @@ The documentation is available at: http://mapproxy.github.io/mapproxy/latest/
34
37
 
35
38
  Changes
36
39
  -------
40
+ 3.1.1 2024-11-15
41
+ ~~~~~~~~~~~~~~~~
42
+
43
+ Maintenance:
44
+
45
+ - Werkzeug version is no longer pinned and can be chosen freely.
46
+
47
+ Fixes:
48
+
49
+ - The permission handling for file locks now also sets permissions on the files not just on the directories.
50
+
51
+
37
52
  3.1.0 2024-10-22
38
53
  ~~~~~~~~~~~~~~~~
39
54
 
@@ -142,13 +157,6 @@ Fixes:
142
157
  - Fix GeoTIFF Headers
143
158
 
144
159
 
145
- 2.0.2 2024-01-10
146
- ~~~~~~~~~~~~~~~~
147
-
148
- Fixes:
149
-
150
- - Revert PR "Fix mixed image format for file, S3 and azureblob caches"
151
-
152
160
 
153
161
  Older changes
154
162
  -------------
@@ -41,7 +41,7 @@ All coverages are configured by defining the source of the coverage and the SRS.
41
41
  The configuration of the coverage depends on the type. The SRS can allways be configured with the ``srs`` option.
42
42
 
43
43
  .. versionadded:: 1.5.0
44
- MapProxy can autodetect the type of the coverage. You can now use ``coverage`` instead of the ``bbox``, ``polygons`` or ``ogr_datasource`` option.
44
+ MapProxy can autodetect the type of the coverage. You can now use ``datasource`` instead of the ``bbox``, ``polygons`` or ``ogr_datasource`` option.
45
45
  The old options are still supported.
46
46
 
47
47
  Coverage Types
@@ -98,11 +98,12 @@ if sys.platform == 'win32':
98
98
 
99
99
 
100
100
  class TileLocker(object):
101
- def __init__(self, lock_dir, lock_timeout, lock_cache_id, directory_permissions=None):
101
+ def __init__(self, lock_dir, lock_timeout, lock_cache_id, directory_permissions=None, file_permissions=None):
102
102
  self.lock_dir = lock_dir
103
103
  self.lock_timeout = lock_timeout
104
104
  self.lock_cache_id = lock_cache_id
105
105
  self.directory_permissions = directory_permissions
106
+ self.file_permissions = file_permissions
106
107
 
107
108
  def lock_filename(self, tile):
108
109
  return os.path.join(self.lock_dir, self.lock_cache_id + '-' +
@@ -118,4 +119,5 @@ class TileLocker(object):
118
119
  cleanup_lockdir(self.lock_dir, max_lock_time=self.lock_timeout + 10,
119
120
  force=False)
120
121
  return FileLock(lock_filename, timeout=self.lock_timeout,
121
- remove_on_unlock=REMOVE_ON_UNLOCK, directory_permissions=self.directory_permissions)
122
+ remove_on_unlock=REMOVE_ON_UNLOCK, directory_permissions=self.directory_permissions,
123
+ file_permissions=self.file_permissions)
@@ -192,7 +192,8 @@ class BundleV1(object):
192
192
  data = buf.read()
193
193
  tiles_data.append((t.coord, data))
194
194
 
195
- with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
195
+ with FileLock(self.lock_filename, directory_permissions=self.directory_permissions,
196
+ file_permissions=self.file_permissions, remove_on_unlock=True):
196
197
  with self.data().readwrite() as bundle:
197
198
  with self.index().readwrite() as idx:
198
199
  for tile_coord, data in tiles_data:
@@ -236,7 +237,8 @@ class BundleV1(object):
236
237
  if tile.coord is None:
237
238
  return True
238
239
 
239
- with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
240
+ with FileLock(self.lock_filename, directory_permissions=self.directory_permissions,
241
+ file_permissions=self.file_permissions, remove_on_unlock=True):
240
242
  with self.index().readwrite() as idx:
241
243
  x, y = self._rel_tile_coord(tile.coord)
242
244
  idx.remove_tile_offset(x, y)
@@ -634,7 +636,8 @@ class BundleV2(object):
634
636
  data = buf.read()
635
637
  tiles_data.append((t.coord, data))
636
638
 
637
- with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
639
+ with FileLock(self.lock_filename, directory_permissions=self.directory_permissions,
640
+ file_permissions=self.file_permissions, remove_on_unlock=True):
638
641
  with self._readwrite() as fh:
639
642
  for tile_coord, data in tiles_data:
640
643
  self._store_tile(fh, tile_coord, data, dimensions=dimensions)
@@ -646,7 +649,8 @@ class BundleV2(object):
646
649
  return True
647
650
 
648
651
  self._init_index()
649
- with FileLock(self.lock_filename, directory_permissions=self.directory_permissions, remove_on_unlock=True):
652
+ with FileLock(self.lock_filename, directory_permissions=self.directory_permissions,
653
+ file_permissions=self.file_permissions, remove_on_unlock=True):
650
654
  with self._readwrite() as fh:
651
655
  x, y = self._rel_tile_coord(tile.coord)
652
656
  self._update_tile_offset(fh, x, y, 0, 0)
@@ -112,8 +112,8 @@ class GeopackageCache(TileCacheBase):
112
112
 
113
113
  def ensure_gpkg(self):
114
114
  if not os.path.isfile(self.geopackage_file):
115
- with FileLock(self.geopackage_file + '.init.lck',
116
- remove_on_unlock=REMOVE_ON_UNLOCK, directory_permissions=self.directory_permissions):
115
+ with FileLock(self.geopackage_file + '.init.lck', remove_on_unlock=REMOVE_ON_UNLOCK,
116
+ directory_permissions=self.directory_permissions, file_permissions=self.file_permissions):
117
117
  ensure_directory(self.geopackage_file, self.directory_permissions)
118
118
  self._initialize_gpkg()
119
119
  else:
@@ -77,8 +77,8 @@ class MBTilesCache(TileCacheBase):
77
77
 
78
78
  def ensure_mbtile(self):
79
79
  if not os.path.exists(self.mbtile_file):
80
- with FileLock(self.mbtile_file + '.init.lck',
81
- remove_on_unlock=REMOVE_ON_UNLOCK, directory_permissions=self.directory_permissions):
80
+ with FileLock(self.mbtile_file + '.init.lck', remove_on_unlock=REMOVE_ON_UNLOCK,
81
+ directory_permissions=self.directory_permissions, file_permissions=self.file_permissions):
82
82
  if not os.path.exists(self.mbtile_file):
83
83
  ensure_directory(self.mbtile_file, self.directory_permissions)
84
84
  self._initialize_mbtile()
@@ -802,9 +802,24 @@ class WMSSourceConfiguration(SourceConfiguration):
802
802
  lock_dir = self.context.globals.get_path('cache.lock_dir', self.conf)
803
803
  lock_timeout = self.context.globals.get_value('http.client_timeout', self.conf)
804
804
  url = urlparse(self.conf['req']['url'])
805
+
806
+ global_directory_permissions = self.context.globals.get_value('directory_permissions', self.conf,
807
+ global_key='cache.directory_permissions')
808
+ if global_directory_permissions:
809
+ log.info(f'Using global directory permission configuration for concurrent file locks:'
810
+ f' {global_directory_permissions}')
811
+
812
+ global_file_permissions = self.context.globals.get_value('file_permissions', self.conf,
813
+ global_key='cache.file_permissions')
814
+ if global_file_permissions:
815
+ log.info(f'Using global file permission configuration for concurrent file locks:'
816
+ f' {global_file_permissions}')
817
+
805
818
  md5 = hashlib.new('md5', url.netloc.encode('ascii'), usedforsecurity=False)
806
819
  lock_file = os.path.join(lock_dir, md5.hexdigest() + '.lck')
807
- lock = lambda: SemLock(lock_file, concurrent_requests, timeout=lock_timeout) # noqa
820
+ lock = lambda: SemLock(lock_file, concurrent_requests, timeout=lock_timeout, # noqa
821
+ directory_permissions=global_directory_permissions,
822
+ file_permissions=global_file_permissions)
808
823
 
809
824
  coverage = self.coverage()
810
825
  res_range = resolution_range(self.conf)
@@ -963,9 +978,24 @@ class MapnikSourceConfiguration(SourceConfiguration):
963
978
  from mapproxy.util.lock import SemLock
964
979
  lock_dir = self.context.globals.get_path('cache.lock_dir', self.conf)
965
980
  mapfile = self.conf['mapfile']
981
+
982
+ global_directory_permissions = self.context.globals.get_value('directory_permissions', self.conf,
983
+ global_key='cache.directory_permissions')
984
+ if global_directory_permissions:
985
+ log.info(f'Using global directory permission configuration for concurrent file locks:'
986
+ f' {global_directory_permissions}')
987
+
988
+ global_file_permissions = self.context.globals.get_value('file_permissions', self.conf,
989
+ global_key='cache.file_permissions')
990
+ if global_file_permissions:
991
+ log.info(f'Using global file permission configuration for concurrent file locks:'
992
+ f' {global_file_permissions}')
993
+
966
994
  md5 = hashlib.new('md5', mapfile.encode('utf-8'), usedforsecurity=False)
967
995
  lock_file = os.path.join(lock_dir, md5.hexdigest() + '.lck')
968
- lock = lambda: SemLock(lock_file, concurrent_requests) # noqa
996
+ lock = lambda: SemLock(lock_file, concurrent_requests, # noqa
997
+ directory_permissions=global_directory_permissions,
998
+ file_permissions=global_file_permissions)
969
999
 
970
1000
  coverage = self.coverage()
971
1001
  res_range = resolution_range(self.conf)
@@ -1761,9 +1791,16 @@ class CacheConfiguration(ConfigurationBase):
1761
1791
  log.info(f'Using global directory permission configuration for tile locks:'
1762
1792
  f' {global_directory_permissions}')
1763
1793
 
1794
+ global_file_permissions = self.context.globals.get_value('file_permissions', self.conf,
1795
+ global_key='cache.file_permissions')
1796
+ if global_file_permissions:
1797
+ log.info(f'Using global file permission configuration for tile locks:'
1798
+ f' {global_file_permissions}')
1799
+
1764
1800
  lock_timeout = self.context.globals.get_value('http.client_timeout', {})
1765
1801
  locker = TileLocker(lock_dir, lock_timeout, identifier + '_renderd',
1766
- global_directory_permissions)
1802
+ directory_permissions=global_directory_permissions,
1803
+ file_permissions=global_file_permissions)
1767
1804
  # TODO band_merger
1768
1805
  tile_creator_class = partial(RenderdTileCreator, renderd_address,
1769
1806
  priority=priority, tile_locker=locker)
@@ -1781,11 +1818,18 @@ class CacheConfiguration(ConfigurationBase):
1781
1818
  log.info(f'Using global directory permission configuration for tile locks:'
1782
1819
  f' {global_directory_permissions}')
1783
1820
 
1821
+ global_file_permissions = self.context.globals.get_value('file_permissions', self.conf,
1822
+ global_key='cache.file_permissions')
1823
+ if global_file_permissions:
1824
+ log.info(f'Using global file permission configuration for tile locks:'
1825
+ f' {global_file_permissions}')
1826
+
1784
1827
  locker = TileLocker(
1785
1828
  lock_dir=self.lock_dir(),
1786
1829
  lock_timeout=self.context.globals.get_value('http.client_timeout', {}),
1787
1830
  lock_cache_id=cache.lock_cache_id,
1788
- directory_permissions=global_directory_permissions
1831
+ directory_permissions=global_directory_permissions,
1832
+ file_permissions=global_file_permissions
1789
1833
  )
1790
1834
 
1791
1835
  mgr = TileManager(tile_grid, cache, sources, image_opts.format.ext,
@@ -163,6 +163,8 @@ class SeedingConfiguration(object):
163
163
  raise SeedConfigurationError("invalid geometry in coverage '%s'. %s" % (name, ex))
164
164
  except EmptyGeometryError as ex:
165
165
  raise EmptyCoverageError("coverage '%s' contains no geometries. %s" % (name, ex))
166
+ except Exception:
167
+ raise Exception(f"can't load coverage '{name}'")
166
168
 
167
169
  # without extend we have an empty coverage
168
170
  if not coverage.extent.llbbox:
@@ -32,8 +32,7 @@ from mapproxy.util.fs import (
32
32
  )
33
33
  from mapproxy.util.py import reraise_exception
34
34
  from mapproxy.util.times import timestamp_before
35
- from mapproxy.test.helper import Mocker
36
-
35
+ from mapproxy.test.helper import Mocker, assert_permissions
37
36
 
38
37
  is_win = sys.platform == "win32"
39
38
 
@@ -156,6 +155,35 @@ class TestFileLock(Mocker):
156
155
  x.unlock()
157
156
  assert not os.path.exists(self.lock_file)
158
157
 
158
+ def test_file_lock_permissions(self):
159
+ file_permissions = '775'
160
+
161
+ # Test a lock that becomes free during a waiting lock() call.
162
+ class Lock(threading.Thread):
163
+
164
+ def __init__(self, lock_file):
165
+ threading.Thread.__init__(self)
166
+ self.lock_file = lock_file
167
+ self.lock = FileLock(self.lock_file, file_permissions=file_permissions)
168
+
169
+ def run(self):
170
+ self.lock.lock()
171
+ time.sleep(0.2)
172
+ self.lock.unlock()
173
+
174
+ lock_thread = Lock(self.lock_file)
175
+ lock_thread.start()
176
+
177
+ # wait until thread got the locked
178
+ while not lock_thread.lock._locked:
179
+ time.sleep(0.001)
180
+
181
+ # one lock that times out
182
+ assert_locked(self.lock_file)
183
+ assert_permissions(self.lock_file, file_permissions)
184
+
185
+ lock_thread.join()
186
+
159
187
  def _create_lock(self):
160
188
  lock = FileLock(self.lock_file)
161
189
  lock.lock()
@@ -115,10 +115,13 @@ class LockFile:
115
115
 
116
116
  _fp = None
117
117
 
118
- def __init__(self, path):
118
+ def __init__(self, path, file_permissions):
119
119
  self._path = path
120
120
  try:
121
121
  fp = open(path, 'w+')
122
+ if file_permissions:
123
+ permission = int(file_permissions, base=8)
124
+ os.chmod(path, permission)
122
125
  except IOError:
123
126
  raise Exception('Could not create Lock-file, wrong permissions on lock directory?')
124
127
 
@@ -36,13 +36,15 @@ class LockTimeout(Exception):
36
36
 
37
37
 
38
38
  class FileLock(object):
39
- def __init__(self, lock_file, timeout=60.0, step=0.01, remove_on_unlock=False, directory_permissions=None):
39
+ def __init__(self, lock_file, timeout=60.0, step=0.01, remove_on_unlock=False, directory_permissions=None,
40
+ file_permissions=None):
40
41
  self.lock_file = lock_file
41
42
  self.timeout = timeout
42
43
  self.step = step
43
44
  self.remove_on_unlock = remove_on_unlock
44
45
  self._locked = False
45
46
  self.directory_permissions = directory_permissions
47
+ self.file_permissions = file_permissions
46
48
 
47
49
  def __enter__(self):
48
50
  self.lock()
@@ -51,7 +53,7 @@ class FileLock(object):
51
53
  self.unlock()
52
54
 
53
55
  def _try_lock(self):
54
- return LockFile(self.lock_file)
56
+ return LockFile(self.lock_file, self.file_permissions)
55
57
 
56
58
  def lock(self):
57
59
  ensure_directory(self.lock_file, self.directory_permissions)
@@ -116,11 +118,10 @@ def cleanup_lockdir(lockdir, suffix='.lck', max_lock_time=300, force=True):
116
118
  try:
117
119
  if os.path.isfile(name) and name.endswith(suffix):
118
120
  if os.path.getmtime(name) < expire_time:
119
- if os.stat(name).st_uid == os.getuid():
120
- try:
121
- os.unlink(name)
122
- except IOError as ex:
123
- log.warning('could not remove old lock file %s: %s', name, ex)
121
+ try:
122
+ os.unlink(name)
123
+ except IOError as ex:
124
+ log.warning('could not remove old lock file %s: %s', name, ex)
124
125
  except OSError as e:
125
126
  # some one might have removed the file (ENOENT)
126
127
  # or we don't have permissions to remove it (EACCES)
@@ -136,8 +137,9 @@ class SemLock(FileLock):
136
137
  File-lock-based counting semaphore (i.e. this lock can be locked n-times).
137
138
  """
138
139
 
139
- def __init__(self, lock_file, n, timeout=60.0, step=0.01):
140
- FileLock.__init__(self, lock_file, timeout=timeout, step=step)
140
+ def __init__(self, lock_file, n, timeout=60.0, step=0.01, directory_permissions=None, file_permissions=None):
141
+ FileLock.__init__(self, lock_file, timeout=timeout, step=step, directory_permissions=directory_permissions,
142
+ file_permissions=file_permissions)
141
143
  self.n = n
142
144
 
143
145
  def _try_lock(self):
@@ -146,7 +148,7 @@ class SemLock(FileLock):
146
148
  while True:
147
149
  tries += 1
148
150
  try:
149
- return LockFile(self.lock_file + str(i))
151
+ return LockFile(self.lock_file + str(i), self.file_permissions)
150
152
  except LockError:
151
153
  if tries >= self.n:
152
154
  raise
@@ -10,7 +10,7 @@ install_requires = [
10
10
  'pyproj>=2',
11
11
  'jsonschema>=4',
12
12
  'importlib_resources;python_version<="3.8"',
13
- 'werkzeug==1.0.1'
13
+ 'werkzeug<4'
14
14
  ]
15
15
 
16
16
 
@@ -63,11 +63,14 @@ def long_description(changelog_releases=10):
63
63
 
64
64
  setup(
65
65
  name='MapProxy',
66
- version="3.1.0",
66
+ version="3.1.1",
67
67
  description='An accelerating proxy for tile and web map services',
68
68
  long_description=long_description(7),
69
+ long_description_content_type='text/x-rst',
69
70
  author='Oliver Tonnhofer',
70
71
  author_email='olt@omniscale.de',
72
+ maintainer='terrestris GmbH & Co. KG',
73
+ maintainer_email='info@terrestris.de',
71
74
  url='https://mapproxy.org',
72
75
  license='Apache Software License 2.0',
73
76
  packages=find_packages(),
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
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