{"id":17273671,"url":"https://github.com/prasadg193/yaml2go","last_synced_at":"2025-04-14T08:22:19.426Z","repository":{"id":84558486,"uuid":"197762313","full_name":"PrasadG193/yaml2go","owner":"PrasadG193","description":"Converts YAML specs into Go Lang type definitions","archived":false,"fork":false,"pushed_at":"2019-11-08T06:19:09.000Z","size":251,"stargazers_count":122,"open_issues_count":10,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-27T22:01:37.091Z","etag":null,"topics":["convert-yaml-specs","go","golang","yaml","yaml-parser","yaml-to-go","yaml2go","yamltogo"],"latest_commit_sha":null,"homepage":"https://yaml2go.prasadg.dev","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/PrasadG193.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-07-19T11:37:31.000Z","updated_at":"2024-12-13T14:20:28.000Z","dependencies_parsed_at":"2023-03-10T21:15:20.936Z","dependency_job_id":null,"html_url":"https://github.com/PrasadG193/yaml2go","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrasadG193%2Fyaml2go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrasadG193%2Fyaml2go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrasadG193%2Fyaml2go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PrasadG193%2Fyaml2go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PrasadG193","download_url":"https://codeload.github.com/PrasadG193/yaml2go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248844160,"owners_count":21170519,"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":["convert-yaml-specs","go","golang","yaml","yaml-parser","yaml-to-go","yaml2go","yamltogo"],"created_at":"2024-10-15T08:51:56.211Z","updated_at":"2025-04-14T08:22:19.376Z","avatar_url":"https://github.com/PrasadG193.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yaml2go\n\n[![Build Status](https://travis-ci.org/PrasadG193/yaml2go.svg?branch=master)](https://travis-ci.org/PrasadG193/yaml2go)\n\nConverts YAML specs into Go type definitions\n\n![https://github.com/PrasadG193/yaml2go](./yaml2go.png)\n\n## Installation\n\n### Binary Installation\n\nPre-compiled binaries are available on the releases page. You can download the correct binary depending on your system arch, put it into `$PATH` and hit `yaml2go help`\n\n### Install From Source\n\nBuild binary using go build\n\n```bash\n$ go get -u github.com/PrasadG193/yaml2go\n$ go build -o yaml2go github.com/PrasadG193/yaml2go/cmd/cli\n```\n\n## Usage\n\n#### Show help\n\n```bash\nyaml2go --help\nyaml2go converts YAML specs to Go type definitions\n\nUsage:\n    yaml2go \u003c /path/to/yamlspec.yaml\n\nExamples:\n    yaml2go \u003c test/example1.yaml\n    yaml2go \u003c test/example1.yaml \u003e example1.go\n```\n\n#### Convert yaml spec to Go struct\n\n```bash\n$ yaml2go \u003c example.yaml\n```\ne.g\n\n```bash\n$ cat example1.yaml\nkind: test\nmetadata:\n  name: cluster\n  nullfield:\n  nestedstruct:\n  - nested:\n      underscore_field: value\n      field1:\n      - 44.5\n      - 43.6\n      field2:\n      - true\n      - false\n    nested2:\n      - nested3:\n          field1:\n          - 44\n          - 43\n          fieldt:\n          - true\n          - false\n          field3: value\nabc:\n  - def:\n    - black\n    - white\narray1:\n  - \"string1\"\n  - \"string2\"\narray2:\n  - 2\n  - 6\narray3:\n  - 3.14\n  - 5.12\nis_underscore: true\n```\n\n```bash\n$ GOPATH/bin/yaml2go \u003c example1.yaml\n// Yaml2Go\ntype Yaml2Go struct {\n        Kind         string    `yaml:\"kind\"`\n        Metadata     Metadata  `yaml:\"metadata\"`\n        Abc          []Abc     `yaml:\"abc\"`\n        Array1       []string  `yaml:\"array1\"`\n        Array2       []int     `yaml:\"array2\"`\n        Array3       []float64 `yaml:\"array3\"`\n        IsUnderscore bool      `yaml:\"is_underscore\"`\n}\n\n// Metadata\ntype Metadata struct {\n        Name         string         `yaml:\"name\"`\n        Nullfield    interface{}    `yaml:\"nullfield\"`\n        Nestedstruct []Nestedstruct `yaml:\"nestedstruct\"`\n}\n\n// Nested3\ntype Nested3 struct {\n        Field1 []int  `yaml:\"field1\"`\n        Fieldt []bool `yaml:\"fieldt\"`\n        Field3 string `yaml:\"field3\"`\n}\n\n// Abc\ntype Abc struct {\n        Def []string `yaml:\"def\"`\n}\n\n// Nestedstruct\ntype Nestedstruct struct {\n        Nested  Nested    `yaml:\"nested\"`\n        Nested2 []Nested2 `yaml:\"nested2\"`\n}\n\n// Nested\ntype Nested struct {\n        UnderscoreField string    `yaml:\"underscore_field\"`\n        Field1          []float64 `yaml:\"field1\"`\n        Field2          []bool    `yaml:\"field2\"`\n}\n\n// Nested2\ntype Nested2 struct {\n        Nested3 Nested3 `yaml:\"nested3\"`\n}\n```\n\n## Contributing\n\nWe love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:\n- Reporting a bug\n- Discussing the current state of the code\n- Submitting a fix\n- Proposing new features\n\n## Credits\nThe Go Gopher is originally by [Renee French](http://reneefrench.blogspot.com/)\n\nThis artwork is borrowed from an awesome artwork collection by [Egon Elbre](https://github.com/egonelbre/gophers)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasadg193%2Fyaml2go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprasadg193%2Fyaml2go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprasadg193%2Fyaml2go/lists"}