{"id":27437198,"url":"https://github.com/kurrent-io/kurrentdb-client-go","last_synced_at":"2025-04-14T20:19:24.497Z","repository":{"id":284792455,"uuid":"956072696","full_name":"kurrent-io/KurrentDB-Client-Go","owner":"kurrent-io","description":"KurrentDB Go Client","archived":false,"fork":false,"pushed_at":"2025-04-11T16:44:27.000Z","size":1482,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-14T20:19:19.709Z","etag":null,"topics":["client-libraries","event-sourcing","eventsourcing","eventstore","go","grpc","kurrentdb","stream-processing"],"latest_commit_sha":null,"homepage":"https://www.kurrent.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kurrent-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2025-03-27T16:48:32.000Z","updated_at":"2025-04-11T16:44:31.000Z","dependencies_parsed_at":"2025-03-27T18:34:57.268Z","dependency_job_id":null,"html_url":"https://github.com/kurrent-io/KurrentDB-Client-Go","commit_stats":null,"previous_names":["kurrent-io/kurrentdb-client-go"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurrent-io%2FKurrentDB-Client-Go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurrent-io%2FKurrentDB-Client-Go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurrent-io%2FKurrentDB-Client-Go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kurrent-io%2FKurrentDB-Client-Go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kurrent-io","download_url":"https://codeload.github.com/kurrent-io/KurrentDB-Client-Go/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248952356,"owners_count":21188427,"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":["client-libraries","event-sourcing","eventsourcing","eventstore","go","grpc","kurrentdb","stream-processing"],"created_at":"2025-04-14T20:19:23.820Z","updated_at":"2025-04-14T20:19:24.489Z","avatar_url":"https://github.com/kurrent-io.png","language":"Go","readme":"\u003ca href=\"https://kurrent.io\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"KurrentLogo-White.png\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"KurrentLogo-Black.png\"\u003e\n    \u003cimg alt=\"Kurrent\" src=\"KurrentLogo-Plum.png\" height=\"50%\" width=\"50%\"\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n# KurrentDB Go Client\n\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/kurrent-io/KurrentDB-Client-Go)](https://pkg.go.dev/github.com/kurrent-io/KurrentDB-Client-Go)\n[![CI](https://github.com/kurrent-io/KurrentDB-Client-Go/actions/workflows/ci.yml/badge.svg)](https://github.com/kurrent-io/KurrentDB-Client-Go/actions/workflows/ci.yml)\n[![LTS](https://github.com/kurrent-io/KurrentDB-Client-Go/actions/workflows/lts.yml/badge.svg)](https://github.com/kurrent-io/KurrentDB-Client-Go/actions/workflows/lts.yml)\n[![Previous LTS](https://github.com/kurrent-io/KurrentDB-Client-Go/actions/workflows/previous-lts.yml/badge.svg)](https://github.com/kurrent-io/KurrentDB-Client-Go/actions/workflows/previous-lts.yml)\n\nKurrentDB is a database that's engineered for modern software applications and event-driven architectures. Its\nevent-native design simplifies data modeling and preserves data integrity while the integrated streaming engine solves\ndistributed messaging challenges and ensures data consistency.\n\n\"KurrentDB Client Go\" is the client for talking to [KurrentDB](https://kurrent.io/).\n\nThe fastest way to add this client to a project is to run `go get github.com/kurrent-io/KurrentDB-Client-Go@latest` with\ngo, See [INSTALL.md](/INSTALL.md) for detailed installation instructions and troubleshooting.\n\n### Documentation\n\n* [API Reference](https://pkg.go.dev/github.com/kurrent.io/KurrentDB-Client-Go?tab=doc)\n* [Samples](https://github.com/kurrent-io/KurrentDB-Client-Go/tree/main/samples)\n\n## Communities\n\n[Join our global community](https://www.kurrent.io/community) of developers.\n\n- [Discuss](https://discuss.kurrent.io/)\n- [Discord (Kurrent)](https://discord.gg/Phn9pmCw3t)\n- [Discord (ddd-cqrs-es)](https://discord.com/invite/sEZGSHNNbH)\n\n## Contributing\n\nDevelopment is done on the `main` branch.\nWe attempt to do our best to ensure that the history remains clean and to do so, we generally ask contributors to squash\ntheir commits into a set or single logical commit.\n\n- [Create an issue](https://github.com/kurrent-io/KurrentDB-Client-Go/issues)\n- [Documentation](https://docs.kurrent.io/)\n- [Contributing guide](https://github.com/kurrent-io/KurrentDB-Client-Go/blob/main/CONTRIBUTING.md)\n\n## Building the client\n\nThe client is built using the [Go](https://golang.org/) programming language. To build the client, you need to have Go\ninstalled on your machine. You can download it from the official Go website.\nOnce you have Go installed, you can build the client by running the following command in the root directory of the\nproject:\n\n```bash\nmake build\n```\n\nThe build scripts: `build.sh` and `build.ps1` are also available for Linux and Windows respectively to simplify the\nbuild process.\n\n### Running the tests\n\nTesting requires [Docker](https://www.docker.com/) and [Docker Compose](https://www.docker.com/) to be installed.\n\nStart all required KurrentDB services using the provided `docker-compose` configuration:\n\n```bash\nmake start-kurrentdb\n```\n\nTo stop the services, you can run:\n\n```bash\nmake stop-kurrentdb\n```\n\nYou can launch the tests as follows:\n\n```\nmake test\n```\n\nAlternatively, you can run the tests using the `go test` command:\n\n```bash\ngo test ./...\n```\n\nBy default, the test suite uses the Docker image: `docker.kurrent.io/eventstore/eventstoredb-ee:lts`. To run the tests\nwith a different image, set the environment variables listed below.\n\nFor example, to use the commercial image\n`docker.kurrentio/eventstore-ee/eventstoredb-commercial:23.10.5-commercialb-bookworm-slim`, configure your environment\nwith:\n\n| Variable Name                | Example Value                     |\n|------------------------------|-----------------------------------|\n| `EVENTSTORE_DOCKER_REGISTRY` | docker.kurrentio/eventstore-ee    |\n| `EVENTSTORE_DOCKER_IMAGE`    | eventstoredb-commercial           |\n| `EVENTSTORE_DOCKER_TAG`      | 23.10.5-commercialb-bookworm-slim |\n\nThese variables combine to form the complete image reference used during testing.\n\n## More resources\n\n- [Release notes](https://kurrent.io/blog/release-notes)\n- [Beginners Guide to Event Sourcing](https://kurrent.io/event-sourcing)\n- [Articles](https://kurrent.io/blog)\n- [Webinars](https://kurrent.io/webinars)\n- [Contact us](https://kurrent.io/contact)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurrent-io%2Fkurrentdb-client-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkurrent-io%2Fkurrentdb-client-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkurrent-io%2Fkurrentdb-client-go/lists"}