{"id":23983980,"url":"https://github.com/friedrichfroebel/gc2oc","last_synced_at":"2026-06-10T01:31:24.719Z","repository":{"id":80367049,"uuid":"269151633","full_name":"FriedrichFroebel/gc2oc","owner":"FriedrichFroebel","description":"Retrieve GC -\u003e OC code mappings","archived":false,"fork":false,"pushed_at":"2020-07-20T12:41:53.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T00:32:51.839Z","etag":null,"topics":["geocaching","okapi","opencaching"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FriedrichFroebel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-03T17:27:10.000Z","updated_at":"2020-07-20T12:41:55.000Z","dependencies_parsed_at":"2023-06-06T09:31:06.321Z","dependency_job_id":null,"html_url":"https://github.com/FriedrichFroebel/gc2oc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FriedrichFroebel/gc2oc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedrichFroebel%2Fgc2oc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedrichFroebel%2Fgc2oc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedrichFroebel%2Fgc2oc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedrichFroebel%2Fgc2oc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FriedrichFroebel","download_url":"https://codeload.github.com/FriedrichFroebel/gc2oc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FriedrichFroebel%2Fgc2oc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34133404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geocaching","okapi","opencaching"],"created_at":"2025-01-07T12:29:24.676Z","updated_at":"2026-06-10T01:31:24.700Z","avatar_url":"https://github.com/FriedrichFroebel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mapper for Geocaching.com and Opencaching.de\n\nThis is a collection of tools to retrieve the GC -\u003e OC code mappings used on the Opencaching.de site.\n\n## Usage\n\n### Requirements\n\nMake sure you have\n\n* Python 3 (at least version 3.6)\n* [requests](https://github.com/requests/requests)\n* [GitPython](https://github.com/gitpython-developers/GitPython) (only when pushing changes)\n\ninstalled on your device.\n\n### Preparations\n\n1. Retrieve an OKAPI key and [download a database snapshot](https://www.opencaching.de/okapi/services/replicate/fulldump.html).\n2. Unpack the downloaded file into a directory starting with `fulldump` (to ignore it on commit by default).\n3. Rename the `configuration-example.py` file to `configuration.py`. Edit the file and change the parameters to match your setup.\n4. Run `python3 -m load_fulldump` to load the data from the fulldump into the database.\n\n### Running\n\n1. Run `python3 -m perform_update` to update the database. This needs to be executed at least every 10 days, but should not be used with less than 5 minutes apart.\n2. Run `python3 -m export_csv` to create the CSV file with the mapping.\n\n### Uploading\n\n1. Run `python3 -m upload_changes` to push the changes to the Git repository.\n\nPlease note that this performs a forced push of a re-initialized repository, overwriting the existing Git history. This is done for privacy reasons, as deactivated accounts with their cache data being deleted due to GDPR would still be mappable otherwise. For this reason you should make sure that the remote branch is not protected so it does not deny forced pushes (should be no problem with the default setup on GitHub).\n\n## Development Tasks\n\n### Code Style\n\nAfter installing [black](https://github.com/psf/black), you should be able to run `black .` from the root directory of this repository to apply auto-formatting.\n\nTo check formatting itself, use `flake8 --max-line-length 88 *.py` after installing [flake8](https://gitlab.com/pycqa/flake8).\n\n## License\n\nThe tools inside this repository are licensed under the MIT License (see the `LICENSE.md` file for details).\n\nThe actual data retrieved from the OKAPI follows the [Opencaching.de data license](https://www.opencaching.de/articles.php?page=impressum\u0026locale=EN), which means you can use them under the terms of the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Germany (CC BY-NC-ND 3.0 DE) license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedrichfroebel%2Fgc2oc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffriedrichfroebel%2Fgc2oc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffriedrichfroebel%2Fgc2oc/lists"}