Pure Cache (no restrictive code of conduct)
Find a file
2026-06-30 06:05:59 -06:00
assets/screenshots v0.1 Release: Add version label, CLI flag, and changelog 2026-06-24 19:05:11 -05:00
.gitignore Initial release: Pure Caches geocaching app for Librem 5 2026-06-15 19:40:44 -05:00
cache_browser.py v0.1 Release: Add version label, CLI flag, and changelog 2026-06-24 19:05:11 -05:00
CONTRIBUTING.md no coc pls, also updated dependencies since i am a single dev and cannot support so far back 2026-06-22 11:23:06 -06:00
geocaching-browser.desktop Initial release: Pure Caches geocaching app for Librem 5 2026-06-15 19:40:44 -05:00
geocaching.png Initial release: Pure Caches geocaching app for Librem 5 2026-06-15 19:40:44 -05:00
gpx-editor.desktop Convert GPX Editor to Tkinter GUI 2026-06-16 14:21:55 -05:00
gpx_editor.py Add GPL-3.0 license headers to all Python source files 2026-06-22 18:02:00 -05:00
gpx_parser.py Add GPL-3.0 license headers to all Python source files 2026-06-22 18:02:00 -05:00
LICENSE Initial release: Pure Caches geocaching app for Librem 5 2026-06-15 19:40:44 -05:00
README.md Merge https://gitlab.com/libre-projects/pure-cache 2026-06-30 06:05:59 -06:00
VERSION.md v0.1 Release: Add version label, CLI flag, and changelog 2026-06-24 19:05:11 -05:00

Pure Caches (no coc) 🗺️

A privacy-focused geocaching app for Librem 5 and PureOS users.

License: GPL v3 Platform: Librem 5


🏴‍☠️ Why This Exists

The Librem 5 is more than a phone—it's a statement. A declaration that privacy matters, that you own your device, and that freedom isn't negotiable.

But finding geocaching tools that align with those values can be challenging. Many apps are built for platforms that don't prioritize user freedom, or they require cloud accounts and constant connectivity.

Pure Caches offers a different path.

Built from the ground up for Librem 5 and PureOS, this app lets you:

  • Browse your downloaded GPX cache files
  • View cache details (name, coordinates, D/T rating, hints)
  • Navigate to caches with your favorite maps app
  • Keep all your data local—no cloud, no accounts required
  • Respect the Four Software Freedoms—run, study, share, improve

This is geocaching, on your own terms. 🗺️


📦 Features

What It Does Now

  • GPX Parsing: Reads Groundspeak-format GPX files (the kind you download from Geocaching.com with Premium membership)
  • Cache Browser: Lists all your caches with key info (coordinates, difficulty, terrain, type, container size)
  • Distance Calculation: Shows how far each cache is from your current location
  • Desktop Integration: Appears in your PureOS application menu
  • 100% Offline: No internet required after you download your GPX files

GPX Editor (Separate Tool)

  • GUI Interface: Touch-friendly Tkinter interface perfect for Librem 5's small screen
  • Create Waypoints: Build new GPX files from scratch (perfect for saving personal locations like churches, viewpoints, or trailheads)
  • Edit Existing Files: Load and modify any GPX file (update descriptions, fix coordinates, add personal notes)
  • Geocache or Personal: Supports full Groundspeak metadata for geocaches, or simple waypoints for any location
  • Navigate Anywhere: Exported GPX files work with Gnome Maps, Pure Cache browser, or any GPS app

Run it with: ./gpx_editor.py (opens graphical interface)

What's Coming

  • Map integration (using OSRM or other open mapping tools)
  • Field note logging (local storage, exportable)
  • Cache filtering (by type, difficulty, found/unfound)
  • Compass navigation
  • Trackable support

📸 Screenshots

Pure Cache in action — running native on PureOS:

Cache List

Cache list sorted by distance
Your caches, sorted by distance from your location. Shows coordinates, D/T rating, cache type, and container size.

Cache Details

Cache details view
Full cache information including description, hints, and recent logs. This is "What Goes Down Will Come Up" near Pontiac, IL.

Map Integration

Gnome Maps showing cache location
Tap navigate to open the cache coordinates in your favorite maps app (Gnome Maps shown).


🚀 Installation

Prerequisites

  • Librem 5 running PureOS (Crimson+) (or any GNU+Linux system with Python 3.13.12+)
  • GPX files from Geocaching.com (Premium membership required for pocket queries)
  • Python 3 with xml.etree.ElementTree (included in standard library)

Quick Install

  1. Clone the repo:

    git clone https://git.kescher.at/tmg1gnm2/pure-cache-no-coc
    cd pure-cache-no-coc
    
  2. Make it executable:

    chmod +x cache_browser.py gpx_parser.py
    
  3. Run it:

    ./cache_browser.py
    

Desktop Integration

The included .desktop file will automatically integrate with PureOS if you install to the right location:

sudo cp geocaching-browser.desktop /usr/share/applications/
sudo desktop-file-install /usr/share/applications/geocaching-browser.desktop

Now it'll appear in your application menu as "Geocaching Browser".


📖 How to Use

1. Get Your GPX Files

  • Log into Geocaching.com on your computer
  • Create a Pocket Query (Premium feature) for your area
  • Download the GPX files
  • Save them to ~/Documents/GPX/ (or set GPX_DIR environment variable)

2. Run the App

cd pure-cache-no-coc
./cache_browser.py

3. Browse Your Caches

  • Use arrow keys or mouse to navigate
  • Press Enter on a cache to see details
  • Press N to navigate (opens your default maps app)
  • Press Q to quit

4. Go Find Them!

  • Follow the coordinates in your maps app
  • Bring a pen (for the logbook!)
  • Trade SWAG if you want
  • Log your find when you get home

🛠️ Configuration

Environment Variables

Variable Default Description
GPX_DIR ~/Documents/GPX Path to your GPX files directory

Example:

export GPX_DIR=/home/youruser/MyGeocaches/
./cache_browser.py

🤝 Contributing

This is a community project. If you're a Librem 5 user, a geocacher, or both—I want your help.

Ways to Contribute

  • 🐛 Report bugs (open an issue on git.kescher.at)
  • 💡 Suggest features (what would make your caching life better?)
  • 🔧 Submit code (PRs welcome! See CONTRIBUTING.md)
  • 📝 Improve docs (clearer instructions help everyone)
  • 🌍 Translate (help Librem users worldwide)

Philosophy

This project follows the Four Software Freedoms:

  1. Freedom to run the program as you wish
  2. Freedom to study how it works and change it
  3. Freedom to redistribute copies
  4. Freedom to distribute modified versions

Any contribution must respect these freedoms. No proprietary code. No telemetry. No DRM.

See CONTRIBUTING.md for details.


📜 License

GNU General Public License v3.0 (GPL-3.0)

This means:

  • You can use it, modify it, share it
  • Any modified versions must also be GPL-3.0
  • Source code must remain available
  • No proprietary derivatives
  • No tivoization (hardware that locks out modified software)

See LICENSE for the full text.


🙏 Acknowledgments

  • Groundspeak for creating geocaching and building the community
  • Purism for building the Librem 5 and championing digital freedom
  • The Free Software Foundation for the GPL and the Four Freedoms
  • Every geocacher who hides a cache and shares the adventure
  • Groundspeak continues to maintain the Geocaching platform that makes this hobby possible worldwide

📬 Contact


🗺️ Happy Caching!

"The best things in life are hidden, waiting to be found."

Whether you're hunting traditional caches in your local park, solving mystery caches across the state, or logging virtual caches on your travels—may your GPS be accurate and your finds be many.

Built with freedom in mind. 🐺⚔️


Pure Caches is not affiliated with Groundspeak Inc. Geocaching® is a registered trademark of Groundspeak Inc.