{"id":15330259,"url":"https://github.com/wolfstudy/pulsar-client-go","last_synced_at":"2025-10-09T23:31:33.811Z","repository":{"id":57486014,"uuid":"171416992","full_name":"wolfstudy/pulsar-client-go","owner":"wolfstudy","description":"A Go client library for Apache Pulsar","archived":false,"fork":true,"pushed_at":"2019-11-08T16:32:14.000Z","size":3208,"stargazers_count":44,"open_issues_count":35,"forks_count":14,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-01-27T16:40:20.619Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pulsar.apache.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Comcast/pulsar-client-go","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wolfstudy.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}},"created_at":"2019-02-19T06:18:21.000Z","updated_at":"2021-11-24T07:03:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wolfstudy/pulsar-client-go","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wolfstudy/pulsar-client-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfstudy%2Fpulsar-client-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfstudy%2Fpulsar-client-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfstudy%2Fpulsar-client-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfstudy%2Fpulsar-client-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wolfstudy","download_url":"https://codeload.github.com/wolfstudy/pulsar-client-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wolfstudy%2Fpulsar-client-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002312,"owners_count":26083340,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-10-01T09:52:19.260Z","updated_at":"2025-10-09T23:31:32.975Z","avatar_url":"https://github.com/wolfstudy.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"pulsar-client-go\n=========\n\nA Go client library for the [Apache Pulsar](https://pulsar.incubator.apache.org/) project.\n\n[![GoDoc](https://godoc.org/github.com/Comcast/pulsar-client-go?status.svg)](https://godoc.org/github.com/Comcast/pulsar-client-go) \n[![Build Status](https://travis-ci.org/michaelliao/openweixin.svg?branch=master)](https://travis-ci.org/michaelliao/openweixin)\n\n## Alternatives\n\nThe Pulsar project contains a [Go client library](https://pulsar.incubator.apache.org/docs/latest/clients/go/) that is a wrapper for the Pulsar C++ client library.\n\nIn comparison, this library is 100% Go (no cgo required). Outside the Go standard library, it has a single dependency on the [`golang/protbuf`](/Gopkg.toml) library.\n\n## Status \u0026 Goals\n\n**Status**\n\nThis client is a work-in-progress and as such does not support all Pulsar features. It supports Pulsar 2.0 along with 1.22.\n\nThe following is an incomplete list of features that are not yet implemented:\n\n* Batch frame support\n* Payload compression support\n* Partitioned topics support\n* Athenz authentication support\n* Encryption support\n\n**Goals**\n\n* 100% Go\n* Simplicity\n\n## Installation\n\n```shell\ngo get -u github.com/Comcast/pulsar-client-go\n```\n\n_Note: The package name is `pulsar`_\n\n## Example\n\nAn example of a producer and consumer can be seen in the included [cli](https://github.com/Comcast/pulsar-client-go/blob/master/cli/main.go) application.\n\n## Contributions\n\nContributions are welcome. Please create an issue before beginning work on major contributions. Refer to the [CONTRIBUTING.md](/docs/en/CONTRIBUTING.md) doc for more information.\n\n# Local Development\n\n## Integration Tests\n\nIntegration tests are provided that connect to a Pulsar sever.\nThey are best run against a local instance of Pulsar, since they expect the standalone properties to exist.\nSee below for instructions on installing Pulsar locally.\n\nIntegration tests will be run when provided the `pulsar` flag with the address of the Pulsar server to connect to. Example:\n\n    go test -v -pulsar \"localhost:6650\"\n\n## Protobuf\n\nThe `Makefile` target `api/PulsarApi.pb.go` will generate the required .go files\nusing the Pulsar source's .proto files.\n\nUsage:\n\n```shell\n$ make api/PulsarApi.pb.go\n```\n\n## Local Pulsar\n\nNotes on installing Pulsar locally.\n\nPrereqs:\n\n * For Java8 on OSX, use these instructions [stackoverflow](https://stackoverflow.com/questions/24342886/how-to-install-java-8-on-mac)\n * Checkout source from github\n\n\t```shell\n\tgit clone git@github.com:apache/incubator-pulsar.git\n\t```\n\n * Switch to desired tag, eg `v1.22.1-incubating`\n * Install Maven\n\n\t```shell\n\tbrew install maven\n\t```\n\n * Compile ([full instructions](https://github.com/apache/incubator-pulsar#build-pulsar))\n\n\t```shell\n\tmvn install -DskipTests\n\t```\n\nLaunch Pulsar from Pulsar directory:\n\n```shell\n./bin/pulsar standalone --wipe-data --advertised-address localhost\n```\n\n## Local Pulsar + TLS\n\nThe `Makefile` has various targets to support certificate generation, Pulsar TLS configuration, and topic setup:\n\n* Generate certificates for use by brokers, admin tool, and applications:\n\n\t```shell\n\tmake certificates\n\t```\n\n\tThis will create `broker`, `admin`, and `app` private/public pairs in the certs directory.\n\n* Generate configuration files for running Pulsar standalone and `pulsar-admin` with TLS enabled using generated certificates:\n\n\t```shell\n\tmake pulsar-tls-conf\n\t```\n\n\tThis will generate `pulsar-conf/standalone.tls.conf` and `pulsar-conf/client.tls.conf` files that can be used as the configurations\n\tfor the standalone server and `pulsar-admin` tools respectively. They'll use the certificates in the `certs` directory. The files should\n\tbe placed in the appropriate locations for use with those tools (probably the `conf` directory within the Pulsar directory). It's recommended\n\tto use symbolic-links to easily switch between configurations.\n\n* Setup sample topic on standalone server with TLS enabled:\n\n\t```shell\n\tmake standalone-tls-ns\n\t```\n\n\tThis will create a `sample/standalone/ns1` topic. The `app` certificate will have `produce`, `consume` rights on the topic.\n\n# License\n\nLicensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfstudy%2Fpulsar-client-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwolfstudy%2Fpulsar-client-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwolfstudy%2Fpulsar-client-go/lists"}