{"id":35763420,"url":"https://github.com/mikedbjones/maprun-results","last_synced_at":"2026-01-07T00:03:27.403Z","repository":{"id":39411199,"uuid":"503832564","full_name":"mikedbjones/maprun-results","owner":"mikedbjones","description":"Combine and merge results from Maprun","archived":false,"fork":false,"pushed_at":"2025-06-28T23:41:10.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-29T00:26:03.271Z","etag":null,"topics":["aws-eventbridge","aws-lambda","ftplib","maprun","pandas","python","requests","wordpress"],"latest_commit_sha":null,"homepage":"https://explorerevents.co.uk/peak-raid-maprun-2024-results/","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/mikedbjones.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,"zenodo":null}},"created_at":"2022-06-15T15:57:13.000Z","updated_at":"2025-06-28T23:41:13.000Z","dependencies_parsed_at":"2025-06-29T00:22:51.178Z","dependency_job_id":"be3c93c2-648b-4910-8650-fb23164aca58","html_url":"https://github.com/mikedbjones/maprun-results","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mikedbjones/maprun-results","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedbjones%2Fmaprun-results","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedbjones%2Fmaprun-results/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedbjones%2Fmaprun-results/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedbjones%2Fmaprun-results/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikedbjones","download_url":"https://codeload.github.com/mikedbjones/maprun-results/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikedbjones%2Fmaprun-results/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28230233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-06T02:00:07.049Z","response_time":56,"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":["aws-eventbridge","aws-lambda","ftplib","maprun","pandas","python","requests","wordpress"],"created_at":"2026-01-07T00:01:20.730Z","updated_at":"2026-01-07T00:03:27.390Z","avatar_url":"https://github.com/mikedbjones.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# maprun-results\n\nThis project automatically downloads separate results from multiple [Maprun events](https://maprunners.weebly.com/), then combines points and time scores for each competitor. It then ranks competitors by overall number of points and time taken. The combined results in CSV and HTML format are stored locally, and optionally uploaded to a website using FTP, or to a Wordpress site using  `requests`. If you run, or take part in, a Maprun series of events such as the [Peak Raid Series](https://explorerevents.co.uk/), this tool can be useful in creating and viewing combined series results.\n\n## Usage\n### Local\nFirst, configure `events_info.json`, specifying:\n- `\"file\"`: json filename containing custom event names and results URLs (see `peak_raid_2024.json` for an example)\n- `\"html_name\"`: name for html and csv files\n- `\"html_title\"`: html title\n- `\"upload_type\"`: \"wordpress\" or \"ftp\"\n\nEnsure that, together with `events_info.json`, the events file itself (eg `peak_raid_2024.json`) is present in the local directory.\n\nOptionally, export the following environment variables to enable FTP/Wordpress upload:\n- `UPLOAD_ADDRESS` (eg \"ftp.mywebsitehost.com\")\n- `UPLOAD_DIRECTORY` (eg \"/public_html/maprun-results/\")\n- `UPLOAD_USERNAME`\n- `UPLOAD_PASSWORD`\n- `WORDPRESS_URL`\n- `WORDPRESS_USERNAME`\n- `WORDPRESS_PASSWORD`\n\nIn bash, this would be achieved using:\n```\nexport UPLOAD_ADDRESS=\"ftp.mywebsitehost.com\"\n```\nRepeat for the others.\n\nNow, in a python virtual environment, run the following commands:\n```\npip install -r requirements.txt\npython results.py\n```\nThis will produce CSV and HTML files locally, which will also be uploaded to the specified upload location, if specified. This script could be run on a local machine with a cron schedule if desired. Or set it to run in the cloud (see AWS Lambda example below) and forget about it :smile:!\n\n### AWS Lambda\n#### Create and upload Docker image\nRun the following commands to build the Docker image and upload to AWS ECR:\n```\naws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin [aws-account-id].dkr.ecr.us-east-1.amazonaws.com\ndocker build -t maprun-results .\ndocker tag maprun-results:latest [aws-account-id].dkr.ecr.us-east-1.amazonaws.com/maprun-results:latest\ndocker push [aws-account-id].dkr.ecr.us-east-1.amazonaws.com/maprun-results:latest\n```\n#### Create Lambda function\n- Configure an AWS Lambda function with this ECR image\n- Set the environment variables\n- Increase the timeout to at least 1 minute\n#### Create EventBridge schedule\nFinally configure an EventBridge schedule (eg once per hour), that will trigger the Lambda function. In the schedule target, copy and paste from `events_info.json`.\n\n## Example combined results\n\nThe repository is deployed on AWS for regular updates to [Peak Raid series](https://explorerevents.co.uk/) combined results: [https://explorerevents.co.uk/peak-raid-maprun-2024-results/](https://explorerevents.co.uk/peak-raid-maprun-2024-results/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikedbjones%2Fmaprun-results","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikedbjones%2Fmaprun-results","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikedbjones%2Fmaprun-results/lists"}