A tool to generate a table of waypoints for a treasure hunt.
Project description
| 3.12 | 3.13 |
|---|---|
Waypoint Weaver
Waypoint Weaver is a Python tool that generates coordinate tables for scavenger hunts and treasure hunts. It takes a set of predefined waypoints and can mix them with random coordinates to create engaging outdoor adventures.
The assumption behind this tool is that, at every station of the treasure hunt, there is a riddle that will somehow lead to an integer solution. This tool will create a table with two columns. One containing integer codes (with the real and decoy solutions) and the other containing coordinates leading to the next station (or to a random location).
In addition, this tool assumes that there are multiple teams that each start at a different station, but which should all end up at the same final location. To this end, a separate table for each team is generated, where the solution at the last station is mapped to the common destination.
Next to the team tables, two overview tables are generated for the organizers. First, the route indicating in which order the stations are passed. Second, the starting station and coordinate for each team.
Features
- Generate coordinate tables from YAML configuration
- Mix fixed waypoints with random coordinates
- Create separate coordinate tables for different teams
- Export tables in Excel, markdown, and csv format
Installation
pip install waypoint_weaver
Usage
Generate an example config file using:
waypoint-weaver get-config
You can specify a destination for the config file via -o <path>. The default value is config.yaml. The configuration will look something like this with inline comments explaining the options
# Destination where all teams should end up
destination_coord: "52.4927985225051, 13.37875885386036"
# Coordinates of the waypoints
# Each coordinate consists of 3 parts:
# - name: A note to help the organizer identify the waypoint
# - coordinate: The latitude and longitude of the current waypoint
# - solution: The solution to the riddle at the current waypoint
# Caution! The solution will point to the next waypoint in the list (not the current coordinate). This is a bit confusing.
# The order of the waypoints is assumed to be the order in which they will be visited. The last waypoint will wrap around to the first waypoint.
# You cannot have more teams than waypoints.
coordinates:
- name: By the swing
coordinate: "52.49278232538021, 13.3821449269073"
solution: 23341
- name: In front of the bike store
coordinate: "52.492830925278916, 13.382977953891166"
solution: 33885
- name: At the pontoon
coordinate: "52.49201148456069, 13.383314498071314"
solution: 17446
# Random coordinates are drawn uniformly at random from the given ranges.
# The number of random coordinates is determined by the count.
# The coordinates are used to create decoy waypoints.
# Solution numbers are not assigned to random coordinates.
random_coords:
lat:
min: 52.48680325805024
max: 52.498326422108214
lon:
min: 13.372276871074952
max: 13.380066006044846
range:
min: 10_000
max: 100_000
count: 100
After adapting the configuration to your setting, you can generate waypoint tables for your treasure hunt teams via
waypoint-weaver create -c config.yaml
assuming your config is in the same directory with name config.yaml. This will store the tables as waypoints.xlsx in the current directory. You can change the output location via -o. Furthermore, you can switch between three output formats using the -f param:
xls: The default which stores the output as an excel file.csv: Stores the tables as a set of csv files in a subdirectory at the specified location.md: Stores the tables as a set of markdown files in a subdirectory at the specified location.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file waypoint_weaver-0.2.0.tar.gz.
File metadata
- Download URL: waypoint_weaver-0.2.0.tar.gz
- Upload date:
- Size: 36.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.5.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bd9713418253a0e6de2a2d13a99f48ad340e319b13cf4baaf6d20b7dfdfab59
|
|
| MD5 |
664e3fa5a3b3e4933566d3884968a62a
|
|
| BLAKE2b-256 |
b097d8767f01d31668e215d20e97c4a4d70fe73f0591ec0d8aaff48f7dd514d1
|
File details
Details for the file waypoint_weaver-0.2.0-py3-none-any.whl.
File metadata
- Download URL: waypoint_weaver-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.5.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f2447662a20e49e430cd37736e5d4c2312df105fbaa2203d3b3c4fcaf107936
|
|
| MD5 |
f3010aea6589e63b1b098aac72534350
|
|
| BLAKE2b-256 |
3d8942c63eced5c6a161157857021fc509e86a4dd6ab9c9d21afc0d488577f7a
|