{"id":17224824,"url":"https://github.com/pseudomuto/iceberg-rest-go","last_synced_at":"2026-01-25T01:02:58.725Z","repository":{"id":251744046,"uuid":"838315249","full_name":"pseudomuto/iceberg-rest-go","owner":"pseudomuto","description":"A Go client library for working with Iceberg Rest catalogs","archived":false,"fork":false,"pushed_at":"2024-08-14T20:09:13.000Z","size":74,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-28T15:45:17.663Z","etag":null,"topics":["client","data","go","iceberg"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pseudomuto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-08-05T11:48:21.000Z","updated_at":"2024-10-19T12:18:38.000Z","dependencies_parsed_at":"2024-08-14T22:08:05.512Z","dependency_job_id":null,"html_url":"https://github.com/pseudomuto/iceberg-rest-go","commit_stats":null,"previous_names":["pseudomuto/iceberg-rest-go"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/pseudomuto/iceberg-rest-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudomuto%2Ficeberg-rest-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudomuto%2Ficeberg-rest-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudomuto%2Ficeberg-rest-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudomuto%2Ficeberg-rest-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pseudomuto","download_url":"https://codeload.github.com/pseudomuto/iceberg-rest-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pseudomuto%2Ficeberg-rest-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28740399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T22:12:27.248Z","status":"ssl_error","status_checked_at":"2026-01-24T22:12:10.529Z","response_time":89,"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":["client","data","go","iceberg"],"created_at":"2024-10-15T04:12:04.740Z","updated_at":"2026-01-25T01:02:58.700Z","avatar_url":"https://github.com/pseudomuto.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iceberg-rest-go\n\n[![CI Status][ci-svg]][ci-url]\n\nA Go client library for interacting with an [Iceberg Rest Catalog].\n\n## Getting Started\n\n```\ngo get https://github.com/pseudomuto/iceberg-rest-go\n\n// Or simply\nimport \"github.com/pseudomuto/iceberg-rest-go\"\n```\n\nThe test cases are the best place to look for examples, but just as a quick demo, here's how you can use this library.\n\n**Getting a Namespace**\n\n```go\nfunc main() {\n  client, err := NewClient(\"http://localhost:8181\")\n  if err != nil {\n    log.Fatal(err)\n  }\n\n  ns := Namespaces{\"data\", \"testing\"}\n  res, err := client.LoadNamespaceMetadataWithResponse(ctx, NamespaceString(ns))\n  if err != nil {\n    log.Fatal(err)\n  }\n\n  fmt.Println(\"Namespace properties:\")\n  for k, v := range *nsResp.JSON200.Properties {\n    fmt.Printf(\"Key: %s, Value: %s\\n\", k, v)\n  }\n}\n```\n\n## Contributing\n\nThis library is (largely) auto-generated from the [OpenAPI spec] for the Rest catalog. Running `make update-api` will\nfetch the latest version and perform a few updates to the downloaded file to make it work correctly (see the Makefile\nfor changes).\n\nOnce there's a new version, running `make generate` will generate the new Go code in _client.gen.go_.\n\n`make help` is your friend.\n\n### Testing\n\nThe tests all run against a running rest server (`make catalog`) and record their results in _tests/testdata/_ so future\ntest runs won't require a live server.\n\nIf you need to create a new test, create a new test file, run `make catalog` and then `make test` which will record the\ninteraction. To re-record, simply delete the JSON file and run again (ensuring the catalog is running). You may need to\nrestart the catalog server to ensure there's no existing data preventing the test from succeeding (it's ephemeral).\n\n\u003e Each test should be completely independent so that we can re-record one test without depending on ordering from any of\nthe others.\n\n[Iceberg Rest Catalog]: https://iceberg.apache.org/concepts/catalog/#catalog-implementations\n[OpenAPI spec]: https://github.com/apache/iceberg/raw/main/open-api/rest-catalog-open-api.yaml\n[ci-svg]: https://github.com/pseudomuto/iceberg-rest-go/actions/workflows/ci.yaml/badge.svg?branch=main\n[ci-url]: https://github.com/pseudomuto/iceberg-rest-go/actions/workflows/ci.yaml\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpseudomuto%2Ficeberg-rest-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpseudomuto%2Ficeberg-rest-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpseudomuto%2Ficeberg-rest-go/lists"}