{"id":29111313,"url":"https://github.com/mpapenbr/goirsdk","last_synced_at":"2026-03-02T18:10:11.911Z","repository":{"id":186908846,"uuid":"653708346","full_name":"mpapenbr/goirsdk","owner":"mpapenbr","description":"Go implementation for the iRacing Telemetry API","archived":false,"fork":false,"pushed_at":"2025-05-10T08:47:50.000Z","size":94,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-10T09:30:51.280Z","etag":null,"topics":["golang","golang-module","iracing","iracing-api","windows"],"latest_commit_sha":null,"homepage":"","language":"Go","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/mpapenbr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-06-14T15:07:02.000Z","updated_at":"2025-05-10T08:47:46.000Z","dependencies_parsed_at":"2023-11-11T10:21:51.480Z","dependency_job_id":"cb279d97-af37-4d92-8983-41ffd486e638","html_url":"https://github.com/mpapenbr/goirsdk","commit_stats":null,"previous_names":["mpapenbr/goirsdk"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/mpapenbr/goirsdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Fgoirsdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Fgoirsdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Fgoirsdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Fgoirsdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mpapenbr","download_url":"https://codeload.github.com/mpapenbr/goirsdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mpapenbr%2Fgoirsdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262566852,"owners_count":23329692,"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":["golang","golang-module","iracing","iracing-api","windows"],"created_at":"2025-06-29T09:07:10.282Z","updated_at":"2026-03-02T18:10:06.890Z","avatar_url":"https://github.com/mpapenbr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# goirsdk\n\n\u003cdiv align=\"center\"\u003e\n\n[![Build Status](https://img.shields.io/github/checks-status/mpapenbr/goirsdk/main?color=black\u0026style=for-the-badge\u0026logo=github)][github-actions]\n[![Security: bandit](https://img.shields.io/badge/Security-GoSec-lightgrey?style=for-the-badge\u0026logo=springsecurity)](https://github.com/securego/gosec)\n[![Dependencies Status](https://img.shields.io/badge/Dependencies-Up%20to%20Date-brightgreen?style=for-the-badge\u0026logo=dependabot)][dependabot-pulls]\n[![Semantic Versioning](https://img.shields.io/badge/versioning-semantic-black?style=for-the-badge\u0026logo=semver)][github-releases]\n[![License](https://img.shields.io/github/license/mpapenbr/goirsdk?color=red\u0026style=for-the-badge)][project-license]\n[![Go v1.22](https://img.shields.io/badge/Go-%20v1.22-black?style=for-the-badge\u0026logo=go)][gomod-file]\n\nGo module for iRacing Telemetry API access\n\n\u003c/div\u003e\n\n## Sample usage\n\nStart the iRacing simulator and wait until the simulation is up and running.\n\n```console\ncd sample\ngo run sample.go\n```\n\nThe [sample] connects to the iRacing telemetry data and prints out the iRacing session time every second.\n\nSee [variables] for an overview of available telemetry data\n\n## Initial Setup\n\nThis section is intended to help developers and contributors get a working copy of\n`goirsdk` on their end\n\n\u003cdetails\u003e\n\u003csummary\u003e\n    Clone this repository\n\u003c/summary\u003e\u003cbr\u003e\n\n```sh\ngit clone https://github.com/mpapenbr/goirsdk\ncd goirsdk\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n    Option: Do you own setup\n\u003c/summary\u003e\u003cbr\u003e\n\nInstall `golangci-lint` from the [official website][golangci-install] for your OS\n\n\u003c/details\u003e\n\u003cbr\u003e\n\n## Local Development\n\nThis section will guide you to setup a fully-functional local copy of `goirsdk`\non your end and teach you how to use it! Make sure you have installed\n[golangci-lint][golangci-install] before following this section!\n\n**Note:** This section relies on the usage of [Makefile][makefile-official]. If you\ncan't (or don't) use Makefile, you can follow along by running the internal commands\nfrom [`goirsdk's` Makefile][makefile-file] (most of which are\nOS-independent)!\n\n### Installing dependencies\n\nTo install all dependencies associated with `goirsdk`, run the\ncommand\n\n```sh\nmake install\n```\n\n### Using Code Formatters\n\nCode formatters format your code to match pre-decided conventions. To run automated code\nformatters, use the Makefile command\n\n```sh\nmake codestyle\n```\n\n### Using Code Linters\n\nLinters are tools that analyze source code for possible errors. This includes typos,\ncode formatting, syntax errors, calls to deprecated functions, potential security\nvulnerabilities, and more!\n\nTo run pre-configured linters, use the command\n\n```sh\nmake lint\n```\n\n## Additional Resources\n\n### Makefile help\n\n\u003cdetails\u003e\n\u003csummary\u003e\n    Tap for a list of Makefile commands\n\u003c/summary\u003e\u003cbr\u003e\n\n| Command |                             Description                             | Prerequisites |\n| :-----: | :-----------------------------------------------------------------: | :-----------: |\n| `help`  | Generate help dialog listing all Makefile commands with description |      NA       |\n\n| `install` | Fetch project dependencies | NA |\n| `codestyle` | Run code-formatters | golangci-lint |\n| `lint` | Check codestyle and run linters | golangci-lint |\n\n\u003cbr\u003e\n\u003c/details\u003e\n\nOptionally, to see a list of all Makefile commands, and a short description of what they\ndo, you can simply run\n\n```sh\nmake\n```\n\nWhich is equivalent to;\n\n```sh\nmake help\n```\n\nBoth of which will list out all Makefile commands available, and a short description\nof what they do!\n\n## Releases\n\nYou can check out a list of previous releases on the [Github Releases][github-releases]\npage.\n\n### Semantic versioning with Release Drafter\n\n\u003cdetails\u003e\n    \u003csummary\u003e\n        What is Semantic Versioning?\n    \u003c/summary\u003e\u003cbr\u003e\n\nSemantic versioning is a versioning scheme aimed at making software management easier.\nFollowing semantic versioning, version identifiers are divided into three parts;\n\n```sh\n    \u003cmajor\u003e.\u003cminor\u003e.\u003cpatch\u003e\n```\n\n\u003e MAJOR version when you make incompatible API changes [breaking changes]\u003cbr\u003e\n\u003e MINOR version when you add functionality in a backwards compatible manner [more features]\u003cbr\u003e\n\u003e PATCH version when you make backwards compatible bug fixes [bug fixes and stuff]\u003cbr\u003e\n\nFor a more detailed description, head over to [semver.org][semver-link]\n\n\u003c/details\u003e\n\n[Release Drafter][release-drafter] automatically updates the release version as pull\nrequests are merged.\n\nLabels allowed;\n\n-   `major`: Affects the `\u003cmajor\u003e` version number for semantic versioning\n-   `minor`, `enhancement`, `update`, `feature`: Affects the `\u003cminor\u003e` version number for semantic versioning\n-   all other labels affect the `\u003cpatch\u003e` version number\n\nWhenever a pull request with one of these labels is merged to the `master` branch,\nthe corresponding version number will be bumped by one digit!\n\n### List of Labels\n\nPull requests once merged, will be classified into categories by\n[release-drafter][release-drafter] based on pull request labels\n\nThis is managed by the [`release-drafter.yml`][release-drafter-config] config file.\n\n|                        **Label**                        |      **Title in Releases**      |\n| :-----------------------------------------------------: | :-----------------------------: |\n|                       `security`                        |         :lock: Security         |\n|           `enhancement`, `feature`, `update`            |        :rocket: Updates         |\n|                 `bug`, `bugfix`, `fix`                  |         :bug: Bug Fixes         |\n|                 `documentation`, `docs`                 |      :memo: Documentation       |\n| `wip`, `in-progress`, `incomplete`, `partial`, `hotfix` | :construction: Work in Progress |\n|              `dependencies`, `dependency`               |     :package: Dependencies      |\n|      `refactoring`, `refactor`, `tests`, `testing`      | :test_tube: Tests and Refactor  |\n|                `build`, `ci`, `pipeline`                |   :robot: CI/CD and Pipelines   |\n\nThe labels `bug`, `enhancement`, and `documentation` are automatically created by Github\nfor repositories. [Dependabot][dependabot-link] will implicitly create the\n`dependencies` label with the first pull request raised by it.\n\nThe remaining labels can be created as needed!\n\u003cbr\u003e\n\n## Credits\n\n\u003cdiv align=\"center\"\u003e\u003cbr\u003e\n\n`goirsdk` is powered by a template generated using [`cookiecutter-go`][cookiecutter-go-link] which is based on [`go-template`][go-template-link]\n\n[![cookiecutter-go-link](https://img.shields.io/badge/cookiecutter--go-black?style=for-the-badge\u0026logo=go)][cookiecutter-go-link]\n[![go-template](https://img.shields.io/badge/go--template-black?style=for-the-badge\u0026logo=go)][go-template-link]\n\n\u003c/div\u003e\n\n[makefile-file]: ./Makefile\n[project-license]: ./LICENSE\n[github-actions]: ../../actions\n[github-releases]: ../../releases\n[precommit-config]: ./.pre-commit-config.yaml\n[gomod-file]: ../main/go.mod\n[github-actions-tests]: ../../actions/workflows/tests.yml\n[dependabot-pulls]: ../../pulls?utf8=%E2%9C%93\u0026q=is%3Apr%20author%3Aapp%2Fdependabot\n[semver-link]: https://semver.org\n[pre-commit]: https://pre-commit.com\n[github-repo]: https://github.com/new\n[gitlab-repo]: https://gitlab.com/new\n[dependabot-link]: https://dependabot.com\n[githooks]: https://git-scm.com/docs/githooks\n[goreleaser]: https://goreleaser.com/intro/\n[python-install]: https://www.python.org/downloads\n[release-drafter-config]: ./.github/release-drafter.yml\n[makefile-official]: https://www.gnu.org/software/make\n[pip-install]: https://pip.pypa.io/en/stable/installation\n[codecov-docs]: https://docs.codecov.com/docs#basic-usage\n[go-template-link]: https://github.com/notsatan/go-template\n[golangci-install]: https://golangci-lint.run/usage/install\n[cookiecutter-link]: https://github.com/cookiecutter/cookiecutter\n[cookiecutter-go-link]: https://github.com/mpapenbr/cookiecutter-go\n[release-drafter]: https://github.com/marketplace/actions/release-drafter\n[creating-secrets]: https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository\n[linting-golang]: https://freshman.tech/linting-golang/\n[sample]: ./examples/sample.go\n[variables]: ./variables.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpapenbr%2Fgoirsdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmpapenbr%2Fgoirsdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmpapenbr%2Fgoirsdk/lists"}