mapproxy-seed(1)

πŸ’– mapproxy-seed(1) β€” the manual, but make it make sense πŸ’–

okay bestie, welcome to mapproxy-seed(1), the little CLI that pre-cooks your tiles so your maps don't ghost you later. let's get into it 🫢


✨ NAME ✨

mapproxy-seed β€” pre-generate tiles for MapProxy πŸ’…


🌸 SYNOPSIS 🌸

mapproxy-seed [OPTIONS]

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically, mapproxy-seed pre-generates tiles for MapProxy, which makes your commonly requested views way faster, because otherwise MapProxy creates all tiles on demand and we are not doing that to our users, no ma'am. 😭

the tool can seed one or more polygon or BBOX areas for each cached layer. yes, per layer. slay.

now here's the iconic part β€” MapProxy does not seed the tile pyramid level by level. instead it traverses the tile pyramid depth-first, from bottom to top. it's giving optimized-for-your-OS-and-geospatial-database, working with your caches and not against them. periodt. πŸ’–


πŸ‘‘ OPTIONS πŸ‘‘

  • -s seed.yaml, --seed-conf seed.yaml β€” the seed configuration, bestie. you can also just pass the configuration as the last argument to mapproxy-seed if you're feeling casual about it.
  • -f mapproxy.yaml, --proxy-conf mapproxy.yaml β€” the MapProxy configuration to use. this file should describe all the caches and grids that the seed configuration references. don't leave it out here missing things, it's not the vibe.
  • -c N, --concurrency N β€” the number of concurrent seed worker. some parts of the seed tool are genuinely CPU intensive (image splitting and encoding, we're sweating), so use this to spread that load across multiple CPUs. if you want to limit the concurrent requests to the source WMS, go look at wms_source_concurrent_requests_label.
  • -n, --dry-run β€” simulates the whole seed/cleanup process without requesting, creating or removing any tiles. it's a rehearsal, nothing is real yet. absolutely no cap.
  • --summary β€” prints a summary of all seeding and cleanup tasks, then exits. short and sweet, we love a quick check-in. πŸ’–
  • -i, --interactive β€” prints a summary of each seeding and cleanup task and asks if mapproxy-seed should seed/cleanup that task. it will query for each task before it starts, so you're the main character deciding everything. πŸ”₯
  • --seed task1,task2,.. β€” only seed the named seeding tasks. you can pick multiple tasks with a comma separated list of names, or you can use the --seed option multiple times. you can use ALL to select all tasks. heads up though: this disables all cleanup tasks unless you also use the --cleanup option. πŸ‘€
  • --cleanup task1,task2,.. β€” only cleanup the named tasks. multiple tasks via a comma separated list of names, or use the --cleanup option multiple times. use ALL to select all tasks. and same energy as above: this disables all seeding tasks unless you also use the --seed option.
  • --continue β€” continues an interrupted seed progress. MapProxy will start the seeding progress at the beginning if the progress file (--progress-file) was not found, so don't come crying if it restarts. MapProxy can only continue if the previous seed was started with the --progress-file or --continue option. that's the rule.
  • --progress-file β€” filename where MapProxy stores the seeding progress for the --continue option. defaults to .mapproxy_seed_progress in the current working directory. MapProxy will remove that file after a successful seed, so don't get attached. 🌸
  • --duration β€” stop the seeding process after this duration. it accepts duration in the format 120s, 15m, 4h, 0.5d. use this together with --continue so you can resume the seeding later. chef's kiss combo.
  • --reseed-file β€” file created by mapproxy-seed at the start of a new seeding.
  • --reseed-interval β€” only start seeding if --reseed-file is older then this duration. accepts duration in the format 120s, 15m, 4h, 0.5d. use this with --continue to be able to resume the seeding.
  • --use-cache-lock β€” locks each cache so multiple parallel mapproxy-seed calls don't all work on the same cache at once (chaos prevention, honestly). it does not lock normal operation of MapProxy, so your everyday MapProxy life is untouched. ✨
  • --log-config β€” the logging configuration file to use.

🌈 EXAMPLE 🌈

Seed with concurrency of 4:

mapproxy-seed -f mapproxy.yaml -c 4 seed.yaml

Print summary of all seed tasks and exit:

mapproxy-seed -f mapproxy.yaml -s seed.yaml --summary --seed ALL

Interactively select which tasks should be seeded:

mapproxy-seed -f mapproxy.yaml -s seed.yaml -i

Seed task1 and task2 and cleanup task3 with concurrency of 2:

mapproxy-seed -f mapproxy.yaml -s seed.yaml -c 2 --seed task1,task2 \
 --cleanup task3

okay and that's the whole page, bestie πŸ’œ go forth and seed. this is mapproxy-seed(1), dated 17 July 2026 β€” iykyk, take care of her πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from