{"id":13571067,"url":"https://github.com/kubernetes/gengo","last_synced_at":"2025-05-12T15:38:20.409Z","repository":{"id":10767030,"uuid":"66899748","full_name":"kubernetes/gengo","owner":"kubernetes","description":"gengo library for code generation.","archived":false,"fork":false,"pushed_at":"2025-02-07T20:07:55.000Z","size":1453,"stargazers_count":562,"open_issues_count":5,"forks_count":201,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-22T05:02:06.438Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubernetes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-08-30T02:38:59.000Z","updated_at":"2025-04-09T09:59:09.000Z","dependencies_parsed_at":"2023-02-10T15:01:05.697Z","dependency_job_id":"4ace8617-6d34-4b74-889a-b4c9af03732b","html_url":"https://github.com/kubernetes/gengo","commit_stats":{"total_commits":390,"total_committers":84,"mean_commits":4.642857142857143,"dds":0.6948717948717948,"last_synced_commit":"2b36238f13e9b8aebe4c286c2ffb2fc71f4be3c5"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes%2Fgengo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes%2Fgengo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes%2Fgengo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes%2Fgengo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubernetes","download_url":"https://codeload.github.com/kubernetes/gengo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250478287,"owners_count":21437132,"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":[],"created_at":"2024-08-01T14:00:58.116Z","updated_at":"2025-04-23T17:23:20.329Z","avatar_url":"https://github.com/kubernetes.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# gengo\n\n[![Travis Widget]][Travis] [![GoDoc Widget]][GoDoc]  [![GoReport]][GoReportStatus]\n\n[Travis]: https://travis-ci.org/kubernetes/gengo\n[Travis Widget]: https://travis-ci.org/kubernetes/gengo.svg?branch=master\n[GoDoc]: https://godoc.org/k8s.io/gengo\n[GoDoc Widget]: https://godoc.org/k8s.io/gengo?status.svg\n[GoReport]: https://goreportcard.com/badge/github.com/kubernetes/gengo\n[GoReportStatus]: https://goreportcard.com/report/github.com/kubernetes/gengo\n\nNOTE: [`k8s.io/gengo/v2`](https://github.com/kubernetes/gengo/tree/master/v2) is the current development module.\n\nA package for generating things based on go files. This mechanism was first used\nin [Kubernetes code-generator](https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/code-generator) and is split out here for ease of reuse and maintainability.\n\n`go get k8s.io/gengo/...`\n\n## Examples\n\nA set generator, deep-copy generator, defaulter generator and go-to-protobuf\ngenerator are included here. Also, import-boss will enforce arbitrary rules about\nimport trees.\n\n## args/\n\nPackage args defines common arguments for a generator binary.\n\n## generator/\n\nPackage generator defines interfaces for code generators to implement, and\nmachinery that will execute those code generators.\n\n## types/\n\nPackage types contains the type system definition. It is modeled after Go's type\nsystem, but it's intended that you could produce these types by parsing\nsomething else, if you want to write the parser/converter.\n\nWe don't directly use the go types in the go typecheck library because they are\nbased on implementing differing interfaces. A struct-based format is more\nconvenient input for template driven output.\n\n## parser/\n\nPackage parser parses go source files.\n\n## namer/\n\nPackage namer defines a naming system, for:\n* helping you reference go objects in a syntactically correct way\n* keeping track of what you reference, for importing the right packages\n* and defining parallel tracks of names, for making public interfaces and\n  private implementations.\n\n## Contributing\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for instructions on how to contribute.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes%2Fgengo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubernetes%2Fgengo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes%2Fgengo/lists"}