https://github.com/dunglas/mercure
🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
https://github.com/dunglas/mercure
api async-api golang graphql hacktoberfest hypermedia mercure push realtime realtime-api server-sent-events streaming-api subscriptions web-api websocket
Last synced: 5 days ago
JSON representation
🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications
- Host: GitHub
- URL: https://github.com/dunglas/mercure
- Owner: dunglas
- License: agpl-3.0
- Created: 2018-07-14T13:47:14.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-03-31T03:39:34.000Z (13 days ago)
- Last Synced: 2025-04-01T06:11:36.803Z (12 days ago)
- Topics: api, async-api, golang, graphql, hacktoberfest, hypermedia, mercure, push, realtime, realtime-api, server-sent-events, streaming-api, subscriptions, web-api, websocket
- Language: Go
- Homepage: https://mercure.rocks
- Size: 8.02 MB
- Stars: 4,878
- Watchers: 63
- Forks: 328
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). (Messaging / Search and Analytic Databases)
- zero-alloc-awesome-go - Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). (Messaging / Search and Analytic Databases)
- awesome-ccamel - dunglas/mercure - 🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications (Go)
- awesome-go - mercure - Server-sent live updates: protocol and reference implementation - ★ 359 (Messaging)
- awesome-go-extra - mercure - efficient solution for real-time communications|2981|231|13|2018-07-14T13:47:14Z|2022-08-12T22:14:57Z| (Messaging / Advanced Console UIs)
- awesome-go-zh - Mercure
- awesome-go - Mercure - Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events). Stars:`4.9K`. (Messaging / Search and Analytic Databases)
README
_Protocol and Reference Implementation_
Mercure is a protocol for pushing data updates to web browsers and other HTTP clients in a convenient, fast, reliable, and battery-efficient way.
It is especially useful to publish async and real-time updates of resources served through web APIs, to reactive web and mobile apps.[](docs/ecosystem/awesome.md)
[](https://artifacthub.io/packages/search?repo=mercure)
[](https://pkg.go.dev/github.com/dunglas/mercure)
[](https://github.com/dunglas/mercure/actions/workflows/ci.yml)
[](https://coveralls.io/github/dunglas/mercure?branch=master)
[](https://goreportcard.com/report/github.com/dunglas/mercure)
- [Getting started](https://mercure.rocks/docs/getting-started)
- [Full documentation](https://mercure.rocks/docs)
- [Demo](https://demo.mercure.rocks/)[The protocol](https://mercure.rocks/spec) is maintained in this repository and is also available as [an Internet-Draft](https://datatracker.ietf.org/doc/draft-dunglas-mercure/).
A reference, production-grade, implementation of [**a Mercure hub**](https://mercure.rocks/docs/hub/install) (the server) is also available in this repository.
It's free software (AGPL) written in Go. It is provided along with a library that can be used in any Go application to implement the Mercure protocol directly (without a hub) and [an official Docker image](https://hub.docker.com/r/dunglas/mercure).In addition, a managed and high-scalability version of the Mercure.rocks hub is [available on Mercure.rocks](https://mercure.rocks/pricing).
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md).
## License and Copyright
See [license information](https://mercure.rocks/docs/hub/license).
## Credits
Created by [Kévin Dunglas](https://dunglas.fr). Graphic design by [Laury Sorriaux](https://github.com/ginifizz).
Sponsored by [Les-Tilleuls.coop](https://les-tilleuls.coop).