{"id":15290611,"url":"https://github.com/djthorpe/gopi","last_synced_at":"2025-10-19T17:14:25.797Z","repository":{"id":33151006,"uuid":"36790939","full_name":"djthorpe/gopi","owner":"djthorpe","description":"Raspberry Pi Go Language Interface","archived":false,"fork":false,"pushed_at":"2023-02-25T00:54:38.000Z","size":20956,"stargazers_count":103,"open_issues_count":5,"forks_count":14,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-13T10:12:05.903Z","etag":null,"topics":["golang","golang-driver","golang-library","gopi","gpio","gpio-library","i2c","i2c-bus","lirc","opengl-library","opengles","openvg","openvg-library","raspberry-pi","raspberry-pi-library","raspberry-pi-mouse","spi"],"latest_commit_sha":null,"homepage":"http://gopi.mutablelogic.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"kachayev/aleph","license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djthorpe.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":"2015-06-03T08:39:10.000Z","updated_at":"2025-02-25T04:15:15.000Z","dependencies_parsed_at":"2024-06-18T17:09:16.524Z","dependency_job_id":"1e71e6dd-430e-49da-b6cc-170372fbd06b","html_url":"https://github.com/djthorpe/gopi","commit_stats":null,"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"purl":"pkg:github/djthorpe/gopi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djthorpe%2Fgopi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djthorpe%2Fgopi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djthorpe%2Fgopi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djthorpe%2Fgopi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djthorpe","download_url":"https://codeload.github.com/djthorpe/gopi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djthorpe%2Fgopi/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261791876,"owners_count":23210219,"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-driver","golang-library","gopi","gpio","gpio-library","i2c","i2c-bus","lirc","opengl-library","opengles","openvg","openvg-library","raspberry-pi","raspberry-pi-library","raspberry-pi-mouse","spi"],"created_at":"2024-09-30T16:08:46.210Z","updated_at":"2025-10-19T17:14:20.753Z","avatar_url":"https://github.com/djthorpe.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Read me first\n\n| ![GOPI](https://raw.githubusercontent.com/djthorpe/gopi/master/etc/images/gopi-800x388.png) |  Go Language Application Framework |\n| :--- | :--- |\n\n\n[![CircleCI](https://circleci.com/gh/djthorpe/gopi/tree/v3.svg?style=svg)](https://circleci.com/gh/djthorpe/gopi/tree/v3)\n\nThis repository contains an application framework for the Go language, which will allow you to develop applications which utilize a number of features of your computer. It's targetted at the Raspberry Pi presently. The following features are intended to be supported:\n\n* The GPIO, I2C and SPI interfaces\n* Font loading and rendering in bitmap and vector forms\n* Infrared transmission and receiving, for example for remote controls\n* Network microservices, announcement and discovery using mDNS and gRPC\n\nIt would also be great to support the following features in the future:\n\n* Image and video encoding/decoding, including utilizing hardware\n  acceleration\n* GPU acceleration for 2D graphics\n* 3D graphics\n* Audio devices\n* Input devices like the mouse, keyboard and touchscreen\n* Display and display surfaces, bitmaps and vector graphics\n* Connected cameras\n* User interface widgets and layout\n* Building for Darwin \\(Macintosh\\) targets\n\n## Requirements\n\nThe tested requirements are currently:\n\n* Any Raspberry Pi \\(v2, v3, v4, Zero and Zero W have been tested\\)\n* Raspbian GNU/Linux 9 \\(other distributions may work, but not tested\\)\n* Go 1.13\n\nIn order to use the library, you'll need to have a working version of Go on your Raspberry Pi, which you can [download](https://golang.org/dl/). Then retrieve the library on your device, using:\n\n```bash\ngo get github.com/djthorpe/gopi/v3\n```\n\nSome libraries will need to be installed for building, RPC and Media services.\nIn order to satisfy these dependencies,\n\n```bash\nsudo apt install make protobuf-compiler libprotobuf-dev\n```\n\nOther dependencies will be satisfied when running the `make` command.\n\n## Getting Started\n\nIn order to get started, build some of the examples in the \"cmd\" folder. They can be built with the makefile.\n\n* `make all` will build the example commands into the `build` folder;\n* `make test` runs all tests for the `pkg` folder;\n* `make debian` will create `.deb` packages which can be distributed;\n* `make clean` removes build intermediate files.\n\nFuller documentation of the examples and developing your own code against this \nframework will be available in [documentation](https://gopi.mutablelogic.com/).\n\n## License\n\n\u003e _Copyright 2016-2020 David Thorpe All Rights Reserved_\n\u003e\n\u003e Redistribution and use in source and binary forms, with or without \n\u003e modification, are permitted with some conditions. \n\nThis repository is released under the BSD License. Please see the file [LICENSE.md](LICENSE.md) for a copy of this license and for a list of the conditions for redistribution and use.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjthorpe%2Fgopi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjthorpe%2Fgopi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjthorpe%2Fgopi/lists"}