{"id":15661837,"url":"https://github.com/kennethanceyer/sparrow","last_synced_at":"2026-01-19T09:01:24.167Z","repository":{"id":66098279,"uuid":"201372671","full_name":"KennethanCeyer/sparrow","owner":"KennethanCeyer","description":":bird: Golang env based configure management module which is supported yaml, toml, json","archived":false,"fork":false,"pushed_at":"2020-04-03T16:39:22.000Z","size":42,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T01:54:56.762Z","etag":null,"topics":["config","configuration","environment","golang","json","manager","stage","toml","yml"],"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/KennethanCeyer.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}},"created_at":"2019-08-09T02:23:18.000Z","updated_at":"2021-03-16T10:55:41.000Z","dependencies_parsed_at":"2023-04-13T05:19:13.720Z","dependency_job_id":null,"html_url":"https://github.com/KennethanCeyer/sparrow","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KennethanCeyer/sparrow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KennethanCeyer%2Fsparrow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KennethanCeyer%2Fsparrow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KennethanCeyer%2Fsparrow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KennethanCeyer%2Fsparrow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KennethanCeyer","download_url":"https://codeload.github.com/KennethanCeyer/sparrow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KennethanCeyer%2Fsparrow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28565001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T08:53:44.001Z","status":"ssl_error","status_checked_at":"2026-01-19T08:52:40.245Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["config","configuration","environment","golang","json","manager","stage","toml","yml"],"created_at":"2024-10-03T13:29:13.964Z","updated_at":"2026-01-19T09:01:24.143Z","avatar_url":"https://github.com/KennethanCeyer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003esparrow\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/KennethanCeyer/sparrow/workflows/CI/badge.svg\" alt=\"CI Badge\"\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e:bird: Golang env based configure management module which is supported yaml, toml, json\u003c/p\u003e\n\n## Getting Started\n\n### What is sparrow\n\nsparrow is configure managing tool on Golang. When you need to separate configure file as file (toml, yml, json). This module easily read and parse them to pass the content to Golang code.\n\nAnd sparrow supports environment isolation, When you use multiple stage for production, alpha and local. sparrow will overwrite specific env configuration to general configuration. \n\n## Quick Start\n\n### Installation\n\nIn your terminal\n\n```bash\ngo get github.com/KennethanCeyer/sparrow\n```\n\nIn your code\n\n```go\nimport \"github.com/KennethanCeyer/sparrow\"\n\nvar config map[string]interface{}\n\nerr := sparrow.ReadFile(\"./your_config_path.yml\", \u0026config)\n```\n\n### Example\n\n\n\u003e YAML file\n```yaml\nappName: 'sparrow'\nappVersion: '1.0.0'\ndebug: true\n\n```\n\n\u003e JSON file\n```json\n{\n  \"appName\": \"sparrow\",\n  \"appVersion\": \"1.0.0\",\n  \"debug\": true\n}\n```\n\n\u003e TOML file\n```toml\nappName = \"sparrow\"\nappVersion = \"1.0.0\"\ndebug = true\n```\n\n```go\nimport (\n\t\"github.com/KennethanCeyer/sparrow/sparrow\"\n\t\"log\"\n)\n\ntype Config struct {\n\tAppName    string\n\tAppVersion string\n\tDebug      bool\n}\n\nfunc main() {\nvar ymlConfig Config\n\tvar jsonConfig Config\n\tvar tomlConfig Config\n\tvar err error\n\n\terr = sparrow.ReadFile(\"./config.yml\", \u0026ymlConfig)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = sparrow.ReadFile(\"./config.json\", \u0026jsonConfig)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\terr = sparrow.ReadFile(\"./config.toml\", \u0026tomlConfig)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tlog.Println(\"ymlConfig\", ymlConfig)\n\tlog.Println(\"jsonConfig\", jsonConfig)\n\tlog.Println(\"tomlConfig\", jsonConfig)\n\n\treturn nil\n}\n```\n\n**OUTPUT**\n\n```bash\n2019/08/12 16:54:02 ymlConfig {sparrow 1.0.0 true}\n2019/08/12 16:54:02 jsonConfig {sparrow 1.0.0 true}\n2019/08/12 16:54:02 tomlConfig {sparrow 1.0.0 true}\n```\n\nFor your more information, Please check [the example](./example)\n\n## Roadmap\n\n### Configuration parser\n\n- [x] YAML\n- [x] JSON\n- [x] TOML\n\n### Documentation\n\n- [x] Example\n- [ ] API Guide\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkennethanceyer%2Fsparrow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkennethanceyer%2Fsparrow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkennethanceyer%2Fsparrow/lists"}