https://github.com/rabbitmq/amqp091-go
Score: 33.97970305508032
Last synced: about 17 hours ago
JSON representation
Repository metadata:
An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: `streadway/amqp`
- Host: GitHub
- URL: https://github.com/rabbitmq/amqp091-go
- Owner: rabbitmq
- License: other
- Created: 2021-06-09T11:03:48.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2026-05-13T12:18:48.000Z (5 days ago)
- Last Synced: 2026-05-13T12:36:37.323Z (5 days ago)
- Language: Go
- Homepage:
- Size: 1.29 MB
- Stars: 2,001
- Watchers: 30
- Forks: 168
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Owner metadata:
- Name: RabbitMQ
- Login: rabbitmq
- Email: info@rabbitmq.com
- Kind: organization
- Description:
- Website: https://rabbitmq.com
- Location: Worldwide
- Twitter: rabbitmq
- Company:
- Icon url: https://avatars.githubusercontent.com/u/96669?v=4
- Repositories: 155
- Last Synced at: 2023-03-11T04:16:40.485Z
- Profile URL: https://github.com/rabbitmq
GitHub Events
Total
- Create event: 8
- Delete event: 10
- Fork event: 23
- Issue comment event: 39
- Issues event: 15
- Pull request event: 21
- Pull request review comment event: 9
- Pull request review event: 14
- Push event: 30
- Watch event: 363
- Total: 532
Last Year
- Create event: 5
- Delete event: 7
- Fork event: 8
- Issue comment event: 10
- Issues event: 3
- Pull request event: 9
- Pull request review comment event: 9
- Pull request review event: 9
- Push event: 20
- Watch event: 114
- Total: 194
Committers metadata
Last synced: 4 days ago
Total Commits: 690
Total Committers: 129
Avg Commits per committer: 5.349
Development Distribution Score (DDS): 0.681
Commits in past year: 34
Committers in past year: 9
Avg Commits per committer in past year: 3.778
Development Distribution Score (DDS) in past year: 0.706
| Name | Commits | |
|---|---|---|
| Sean Treadway | s****n@s****m | 220 |
| Michael Klishin | m****l@c****g | 62 |
| Aitor Pérez Cedres | 1****t | 51 |
| Luke Bakken | l****e@b****o | 50 |
| Fabian Holler | f****r@s****e | 19 |
| Gerhard Lazu | g****d@l****k | 15 |
| Ben Hood | 0****2@g****m | 15 |
| Tiago Peczenyj | t****j@w****m | 15 |
| Peter Bourgon | p****r@b****g | 14 |
| Chunyi Lyu | c****u@p****o | 12 |
| Dom Dwyer | d****m@i****m | 10 |
| Daniele | d****5@g****m | 10 |
| Andy Grunwald | a****d@g****m | 8 |
| DmitriyMV | c****o@g****m | 7 |
| Suchit Dhakate | s****e@b****m | 7 |
| dependabot[bot] | 4****] | 5 |
| raisul | r****m@v****m | 4 |
| Andreas Krennmair | a****k@s****t | 4 |
| Mirah Gary | m****y@v****m | 4 |
| Mordy Ovits | m****s@y****m | 4 |
| Oleksandr Redko | o****b@g****m | 4 |
| Tetsuya Morimoto | t****o@g****m | 4 |
| hodbn | h****n | 3 |
| yywing | 3****6@q****m | 3 |
| Pon Umapathy Kailash S (umapathy) | u****y@c****m | 3 |
| Patrick | p****l@g****m | 3 |
| NawafSwe | n****9@h****m | 3 |
| Mahmud Ridwan | m****@h****e | 3 |
| Kyle Purdon | k****n@g****m | 3 |
| Ivan Trubach | m****h@i****m | 3 |
| and 99 more... | ||
Issue and Pull Request metadata
Last synced: about 2 months ago
Total issues: 86
Total pull requests: 117
Average time to close issues: about 1 month
Average time to close pull requests: 19 days
Total issue authors: 70
Total pull request authors: 46
Average comments per issue: 2.9
Average comments per pull request: 1.92
Merged pull request: 91
Bot issues: 0
Bot pull requests: 3
Past year issues: 3
Past year pull requests: 3
Past year average time to close issues: 23 minutes
Past year average time to close pull requests: about 1 hour
Past year issue authors: 3
Past year pull request authors: 3
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.0
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- Zerpet (8)
- lukebakken (5)
- parsibox (3)
- jxsl13 (2)
- LucasZhanye (2)
- gabo1208 (2)
- fadams (1)
- alarbada (1)
- anisharaz (1)
- khalil-farashiani (1)
- hajsf (1)
- laststem (1)
- xf0e (1)
- samartha-kar23 (1)
- sapk (1)
Top Pull Request Authors
- Zerpet (30)
- lukebakken (21)
- AndrewWinterman (4)
- dependabot[bot] (3)
- peczenyj (3)
- korolev-d-l (2)
- hjr265 (2)
- edercarloscosta (2)
- Gsantomaggio (2)
- thinkdb1 (2)
- cd365 (2)
- ikavgo (2)
- t2y (2)
- Raisul191491 (2)
- sapk (2)
Top Issue Labels
- bug (17)
- enhancement (7)
- help wanted (2)
- good first issue (1)
- documentation (1)
Top Pull Request Labels
- enhancement (4)
- dependencies (3)
- documentation (1)
Package metadata
- Total packages: 13
- Total downloads: unknown
- Total docker downloads: 2,199,539,141
- Total dependent packages: 1,239 (may contain duplicates)
- Total dependent repositories: 3,372 (may contain duplicates)
- Total versions: 119
proxy.golang.org: github.com/rabbitmq/amqp091-go
Package amqp091 is an AMQP 0.9.1 client with RabbitMQ extensions Understand the AMQP 0.9.1 messaging model by reviewing these links first. Much of the terminology in this library directly relates to AMQP concepts. Most other broker clients publish to queues, but in AMQP, clients publish Exchanges instead. AMQP is programmable, meaning that both the producers and consumers agree on the configuration of the broker, instead of requiring an operator or system configuration that declares the logical topology in the broker. The routing between producers and consumer queues is via Bindings. These bindings form the logical topology of the broker. In this library, a message sent from publisher is called a "Publishing" and a message received to a consumer is called a "Delivery". The fields of Publishings and Deliveries are close but not exact mappings to the underlying wire format to maintain stronger types. Many other libraries will combine message properties with message headers. In this library, the message well known properties are strongly typed fields on the Publishings and Deliveries, whereas the user defined headers are in the Headers field. The method naming closely matches the protocol's method name with positional parameters mapping to named protocol message fields. The motivation here is to present a comprehensive view over all possible interactions with the server. Generally, methods that map to protocol methods of the "basic" class will be elided in this interface, and "select" methods of various channel mode selectors will be elided for example Channel.Confirm and Channel.Tx. The library is intentionally designed to be synchronous, where responses for each protocol message are required to be received in an RPC manner. Some methods have a noWait parameter like Channel.QueueDeclare, and some methods are asynchronous like Channel.Publish. The error values should still be checked for these methods as they will indicate IO failures like when the underlying connection closes. Clients of this library may be interested in receiving some of the protocol messages other than Deliveries like basic.ack methods while a channel is in confirm mode. The Notify* methods with Connection and Channel receivers model the pattern of asynchronous events like closes due to exceptions, or messages that are sent out of band from an RPC call like basic.ack or basic.flow. Any asynchronous events, including Deliveries and Publishings must always have a receiver until the corresponding chans are closed. Without asynchronous receivers, the synchronous methods will block. It's important as a client to an AMQP topology to ensure the state of the broker matches your expectations. For both publish and consume use cases, make sure you declare the queues, exchanges and bindings you expect to exist prior to calling Channel.PublishWithContext or Channel.Consume. When Dial encounters an amqps:// scheme, it will use the zero value of a tls.Config. This will only perform server certificate and host verification. Use DialTLS when you wish to provide a client certificate (recommended), include a private certificate authority's certificate in the cert chain for server validity, or run insecure by not verifying the server certificate. DialTLS will use the provided tls.Config when it encounters an amqps:// scheme and will dial a plain connection when it encounters an amqp:// scheme. SSL/TLS in RabbitMQ is documented here: http://www.rabbitmq.com/ssl.html In order to be notified when a connection or channel gets closed, both structures offer the possibility to register channels using Channel.NotifyClose and Connection.NotifyClose functions: No errors will be sent in case of a graceful connection close. In case of a non-graceful closure due to e.g. network issue, or forced connection closure from the Management UI, the error will be notified synchronously by the library. The library sends to notification channels just once. After sending a notification to all channels, the library closes all registered notification channels. After receiving a notification, the application should create and register a new channel. To avoid deadlocks in the library, it is necessary to consume from the channels. This could be done inside a different goroutine with a select listening on the two channels inside a for loop like: It is strongly recommended to use buffered channels to avoid deadlocks inside the library. Using Channel.NotifyPublish allows the caller of the library to be notified, through a go channel, when a message has been received and confirmed by the broker. It's advisable to wait for all Confirmations to arrive before calling Channel.Close or Connection.Close. It is also necessary to consume from this channel until it gets closed. The library sends synchronously to the registered channel. It is advisable to use a buffered channel, with capacity set to the maximum acceptable number of unconfirmed messages. It is important to consume from the confirmation channel at all times, in order to avoid deadlocks in the library. This exports a Client object that wraps this library. It automatically reconnects when the connection fails, and blocks all pushes until the connection succeeds. It also confirms every outgoing message, so none are lost. It doesn't automatically ack each message, but leaves that to the parent process, since it is usage-dependent. Try running this in one terminal, and rabbitmq-server in another. Stop & restart RabbitMQ to see how the queue reacts.
- Homepage: https://github.com/rabbitmq/amqp091-go
- Documentation: https://pkg.go.dev/github.com/rabbitmq/amqp091-go#section-documentation
- Licenses: BSD-2-Clause
- Latest release: v1.11.0 (published 27 days ago)
- Last Synced: 2026-05-17T00:30:53.800Z (2 days ago)
- Versions: 19
- Dependent Packages: 1,239
- Dependent Repositories: 3,372
- Docker Downloads: 2,199,539,141
-
Rankings:
- Docker downloads count: 0.096%
- Dependent repos count: 0.138%
- Dependent packages count: 0.138%
- Average: 1.071%
- Stargazers count: 2.214%
- Forks count: 2.766%
proxy.golang.org: github.com/RabbitMQ/amqp091-go
- Homepage:
- Documentation: https://pkg.go.dev/github.com/RabbitMQ/amqp091-go#section-documentation
- Licenses: other
- Latest release: v1.11.0 (published 27 days ago)
- Last Synced: 2026-04-30T21:31:13.333Z (18 days ago)
- Versions: 19
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Stargazers count: 2.004%
- Forks count: 2.492%
- Average: 5.823%
- Dependent packages count: 8.456%
- Dependent repos count: 10.341%
proxy.golang.org: github.com/rabbitmq/amqp091-gO
- Homepage:
- Documentation: https://pkg.go.dev/github.com/rabbitmq/amqp091-gO#section-documentation
- Licenses: other
- Latest release: v1.10.0 (published about 2 years ago)
- Last Synced: 2026-04-20T23:17:15.023Z (28 days ago)
- Versions: 18
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.515%
- Average: 6.733%
- Dependent repos count: 6.952%
proxy.golang.org: github.com/rabbitMq/amqp091-go
- Homepage:
- Documentation: https://pkg.go.dev/github.com/rabbitMq/amqp091-go#section-documentation
- Licenses: other
- Latest release: v1.11.0 (published 27 days ago)
- Last Synced: 2026-05-11T08:24:49.046Z (8 days ago)
- Versions: 19
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 7.105%
- Average: 7.559%
- Dependent repos count: 8.013%
proxy.golang.org: github.com/Rabbitmq/amqp091-go
- Homepage:
- Documentation: https://pkg.go.dev/github.com/Rabbitmq/amqp091-go#section-documentation
- Licenses: other
- Latest release: v1.11.0 (published 27 days ago)
- Last Synced: 2026-04-24T19:18:10.967Z (24 days ago)
- Versions: 19
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
proxy.golang.org: github.com/rabbitMQ/amqp091-go
- Homepage:
- Documentation: https://pkg.go.dev/github.com/rabbitMQ/amqp091-go#section-documentation
- Licenses:
- Latest release: v1.10.0 (published about 2 years ago)
- Last Synced: 2026-05-06T23:01:37.027Z (12 days ago)
- Versions: 18
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 7.576%
- Average: 8.47%
- Dependent repos count: 9.364%
ubuntu-23.10: golang-github-rabbitmq-amqp091-go
- Homepage: https://github.com/rabbitmq/amqp091-go
- Licenses:
- Latest release: 1.8.1-2 (published 3 months ago)
- Last Synced: 2026-03-10T05:03:30.079Z (2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
debian-13: golang-github-rabbitmq-amqp091-go
- Homepage: https://github.com/rabbitmq/amqp091-go
- Documentation: https://packages.debian.org/trixie/golang-github-rabbitmq-amqp091-go
- Licenses:
- Latest release: 1.10.0-1 (published 3 months ago)
- Last Synced: 2026-03-13T19:18:02.354Z (2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-23.04: golang-github-rabbitmq-amqp091-go
- Homepage: https://github.com/rabbitmq/amqp091-go
- Licenses:
- Latest release: 1.5.0-2 (published 3 months ago)
- Last Synced: 2026-03-11T20:19:06.324Z (2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-24.10: golang-github-rabbitmq-amqp091-go
- Homepage: https://github.com/rabbitmq/amqp091-go
- Licenses:
- Latest release: 1.10.0-1 (published 3 months ago)
- Last Synced: 2026-03-08T16:51:35.567Z (2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
guix: go-github-com-rabbitmq-amqp091-go
Go RabbitMQ Client Library
- Homepage: https://github.com/rabbitmq/amqp091-go
- Documentation: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/golang-web.scm#n16026
- Licenses: bsd-2
- Latest release: 1.11.0 (published 22 days ago)
- Last Synced: 2026-04-27T09:13:09.899Z (22 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
debian-12: golang-github-rabbitmq-amqp091-go
- Homepage: https://github.com/rabbitmq/amqp091-go
- Documentation: https://packages.debian.org/bookworm/golang-github-rabbitmq-amqp091-go
- Licenses:
- Latest release: 1.5.0-2 (published 3 months ago)
- Last Synced: 2026-03-13T00:13:22.197Z (2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
ubuntu-24.04: golang-github-rabbitmq-amqp091-go
- Homepage: https://github.com/rabbitmq/amqp091-go
- Licenses:
- Latest release: 1.9.0-1 (published 3 months ago)
- Last Synced: 2026-03-06T10:24:35.812Z (2 months ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 0.0%
- Dependent packages count: 0.0%
- Average: 100%
Dependencies
- go.uber.org/goleak v1.1.12
- github.com/davecgh/go-spew v1.1.0
- github.com/kr/pretty v0.1.0
- github.com/kr/pty v1.1.1
- github.com/kr/text v0.1.0
- github.com/pmezard/go-difflib v1.0.0
- github.com/stretchr/objx v0.1.0
- github.com/stretchr/testify v1.7.0
- github.com/yuin/goldmark v1.3.5
- go.uber.org/goleak v1.1.12
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
- golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
- golang.org/x/lint v0.0.0-20190930215403-16217165b5de
- golang.org/x/mod v0.4.2
- golang.org/x/net v0.0.0-20190311183353-d8887717615a
- golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3
- golang.org/x/net v0.0.0-20190620200207-3b0461eec859
- golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4
- golang.org/x/sync v0.0.0-20190423024810-112230192c58
- golang.org/x/sync v0.0.0-20210220032951-036812b2e83c
- golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
- golang.org/x/sys v0.0.0-20190412213103-97732733099d
- golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
- golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44
- golang.org/x/sys v0.0.0-20210510120138-977fb7262007
- golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
- golang.org/x/text v0.3.0
- golang.org/x/text v0.3.3
- golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
- golang.org/x/tools v0.0.0-20190311212946-11955173bddd
- golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e
- golang.org/x/tools v0.1.5
- golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
- golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898
- golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
- gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
- gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127
- gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
- actions/checkout v3 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/autobuild v2 composite
- github/codeql-action/init v2 composite
- actions/checkout v3 composite
- actions/setup-go v3 composite
- golangci/golangci-lint-action v3 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-go v3 composite
- rabbitmq * docker