{"id":15033188,"url":"https://github.com/makevoid/comma_api_rb","last_synced_at":"2025-10-30T21:30:36.157Z","repository":{"id":35121587,"uuid":"201828335","full_name":"makevoid/comma_api_rb","owner":"makevoid","description":"Query the Comma and Athena (device) API via Ruby - status: WIP - #api-client #openpilot","archived":false,"fork":false,"pushed_at":"2023-01-18T18:29:57.000Z","size":182,"stargazers_count":0,"open_issues_count":4,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-02T13:33:55.532Z","etag":null,"topics":["api","api-client","comma-api","openpilot","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/makevoid.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-11T23:59:12.000Z","updated_at":"2020-06-07T06:31:13.000Z","dependencies_parsed_at":"2023-02-10T16:40:13.502Z","dependency_job_id":null,"html_url":"https://github.com/makevoid/comma_api_rb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makevoid%2Fcomma_api_rb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makevoid%2Fcomma_api_rb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makevoid%2Fcomma_api_rb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/makevoid%2Fcomma_api_rb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/makevoid","download_url":"https://codeload.github.com/makevoid/comma_api_rb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239065764,"owners_count":19575773,"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","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":["api","api-client","comma-api","openpilot","ruby"],"created_at":"2024-09-24T20:20:20.572Z","updated_at":"2025-10-30T21:30:35.794Z","avatar_url":"https://github.com/makevoid.png","language":"Ruby","readme":"# comma-api-rb\n\nUnofficial API Client for the Comma API (api.comma.ai)\n\n### Install Gem // Configure Gem Bundle\n\nInstall Gem: `gem i comma-api-rb`\n\nRequire it (`require \"comma-api-rb\"`)\n\n---\n\nUse Bundler:\n\n```rb\ngem \"comma-api-rb\", require: \"comma-api-rb\"\n```\n\nsuggestion: use `Bundler.require :default #, :production, :dev...` to automatically require the comma api gem\n\n\n### Configuration\n\nSet the `COMMA_JWT_TOKEN` environment variable with your Comma API JWT token\n\n```\nCOMMA_JWT_TOKEN=...\n```\n\n### Usage\n\n#### Comma API\n\n\n```rb\nme = CommaAPI.me()\nputs(\"me:\", me) #=\u003e {\"email\":\"makevoid@example.com\",\"id\":\"12345....\",\"points\":2708,\"prime\":null,\"regdate\":1563123456,\"superuser\":false,\"upload_video\":false,\"username\":\"antani12345\"}\n```\n\n#### Athena API\n\nYour EON needs to be on for these calls to work\n\n```rb\nstate = AthenaAPI.carState()\nputs(\"carState:\", carState) #=\u003e { ... }\n## access carState as hash/dict\n# carstate = state[\"carState\"]\n# wheelSpeedRL = carstate[\"wheelSpeeds\"][\"rl\"]\n# steeringTorque = carstate[\"steeringTorque\"]\n# steeringAngle = carstate[\"steeringAngle\"]\n# brake = data.carState[\"brake\"]\n# # puts wheelSpeedRL\n\n# soon: access carstate via methods (getters, call without `()`, optional)\nstate = AthenaAPI.carState.speed()\nstate = AthenaAPI.carState.brake()\nstate = AthenaAPI.carState.steering.angle()\nstate = AthenaAPI.carState.steering.torque()\n#\n```\n\n\nSee more in the examples contained in the `example` (duh) dir.\n\nenjoy :)\n\n---\n\nHave fun with OP!\n\n@makevoid\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakevoid%2Fcomma_api_rb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmakevoid%2Fcomma_api_rb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmakevoid%2Fcomma_api_rb/lists"}