Harvit harvests data from different sources (e.g websites, APIs), converts and transforms it.

harvit

Go Doc Conventional Commits License

Harvit harvests data from different sources (e.g websites, APIs), converts and transforms it.

Contents

Requirements

Usage

Harvit uses a plan in yaml format (see example) to define the data source, fields and the transformer to be performed.

$ ./harvit harvest [command options] plan
NAME:
   harvit harvest - Let's harvest some data!

USAGE:
   harvit harvest [command options] plan

OPTIONS:
   --debug     whether running in PROD or DEBUG mode (default: false) [$HARVIT_DEBUG]
   --help, -h  show help (default: false)

Example

$ ./harvit harvest | jq

plan.yml

source: https://mgjules.dev
type: website
fields:
  - name: firstJobName
    type: raw
    selector: "#experience > div:nth-child(2) > ul > li:nth-child(1) > div.flex.flex-wrap.items-center.justify-between > h3"
  - name: secondJobStartYear
    type: datetime
    selector: "#experience > div:nth-child(2) > ul > li:nth-child(2) > div.flex.flex-wrap.items-center.justify-between > span"
    regex: \d{2}/(\d{4})\s→
    format: Y
  - name: secondJobEndDateTime
    type: datetime
    selector: "#experience > div:nth-child(2) > ul > li:nth-child(2) > div.flex.flex-wrap.items-center.justify-between > span"
    regex: →\s(?:[a-zA-Z]+|(\d{2}/\d{4}))
    format: m/Y
    timezone: Indian/Mauritius
  - name: topLinks
    type: text
    selector: "body > div.relative.px-4.pt-4.sm\\:pt-16.print\\:pt-0.sm\\:px-6.lg\\:px-8 > div.max-w-4xl.mx-auto.text-lg > div:nth-child(2) > div.flex.flex-wrap.items-center.justify-center.gap-x-4.gap-y-2.print\\:hidden > a > div > span"
  - name: experiencePlaces
    type: text
    selector: "#experience > div:nth-child(2) > ul > li > div.flex.flex-wrap.items-center.justify-between > h3"
  - name: contributionsYears
    type: datetime
    selector: "#contributions > div:nth-child(2) > ul > li > div > span"
    regex: (\d{4})
    format: Y
  - name: contributionsYearsNumbers
    type: number
    selector: "#contributions > div:nth-child(2) > ul > li > div > span"
    regex: (\d{4})
  - name: interestsTitle
    type: text
    selector: "#interests > div:nth-child(2) > ul > li > span"
transformer: transformers/sample.js

transformers/sample.js

data['interestsTitle'] = data['interestsTitle'].map(v => v === 'Space Exploration' ? 'SpaceX' : v);

Result

{
  "contributionsYears": [
    "2022-01-01T00:00:00+04:00",
    "2021-01-01T00:00:00+04:00",
    "2020-01-01T00:00:00+04:00",
    "2020-01-01T00:00:00+04:00",
    "2019-01-01T00:00:00+04:00",
    "2019-01-01T00:00:00+04:00",
    "2019-01-01T00:00:00+04:00",
    "2019-01-01T00:00:00+04:00"
  ],
  "contributionsYearsNumbers": [
    2022,
    2021,
    2020,
    2020,
    2019,
    2019,
    2019,
    2019
  ],
  "experiencePlaces": [
    "Ringier SA",
    "Bocasay",
    "La Sentinelle Digital Ltd",
    "Expat-Blog Ltd",
    "Noveo IT Ltd"
  ],
  "firstJobName": "<h3 class=\"my-0\">Ringier SA</h3>",
  "interestsTitle": [
    "SpaceX",
    "Artificial Intelligence",
    "Skateboarding",
    "Anime",
    "Gaming",
    "Movie"
  ],
  "secondJobEndDateTime": "2021-02-01T00:00:00+04:00",
  "secondJobStartYear": "2020-01-01T00:00:00+04:00",
  "topLinks": [
    "Developer",
    "Github",
    "LinkedIn",
    "Mail",
    "Mauritius"
  ]
}

License

Harvit is Apache 2.0 licensed.

Stability

This project follows SemVer strictly and is not yet v1.

Breaking changes might be introduced until v1 is released.

This project follows the Go Release Policy. Each major version of Go is supported until there are two newer major releases.

Owner
Michaël Giovanni Jules
A Gopher who creates little minions; the industry calls them microservices.
Michaël Giovanni Jules
Comments
  • chore(deps): bump github.com/samber/lo from 1.20.0 to 1.36.0

    chore(deps): bump github.com/samber/lo from 1.20.0 to 1.36.0

    Bumps github.com/samber/lo from 1.20.0 to 1.36.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.36.0

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    v1.35.0

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    v1.34.0

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    v1.33.0

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    v1.32.0

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave
    • TupleX.Unpack()

    v1.31.0

    ... (truncated)

    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.36.0 (2022-11-28)

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    1.35.0 (2022-11-15)

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    1.34.0 (2022-11-12)

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    1.33.0 (2022-10-14)

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    1.32.0 (2022-10-10)

    Adding:

    • lo.ChannelToSlice
    • lo.CountValues
    • lo.CountValuesBy
    • lo.MapEntries
    • lo.Sum
    • lo.Interleave

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/samber/lo from 1.20.0 to 1.37.0

    chore(deps): bump github.com/samber/lo from 1.20.0 to 1.37.0

    Bumps github.com/samber/lo from 1.20.0 to 1.37.0.

    Release notes

    Sourced from github.com/samber/lo's releases.

    v1.37.0

    Adding:

    • lo.PartialX
    • lo.Transaction

    Improvement:

    • lo.Associate / lo.SliceToMap: faster memory allocation

    Chore:

    • Remove *_test.go files from releases, in order to cleanup dev dependencies

    v1.36.0

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    v1.35.0

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    v1.34.0

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    v1.33.0

    Adding:

    • lo.ChannelMerge

    Improving:

    • helpers with callbacks/predicates/iteratee now have named arguments, for easier autocompletion

    v1.32.0

    ... (truncated)

    Changelog

    Sourced from github.com/samber/lo's changelog.

    1.37.0 (2022-12-15)

    Adding:

    • lo.PartialX
    • lo.Transaction

    Improvement:

    • lo.Associate / lo.SliceToMap: faster memory allocation

    Chore:

    • Remove *_test.go files from releases, in order to cleanup dev dependencies

    1.36.0 (2022-11-28)

    Adding:

    • lo.AttemptWhile
    • lo.AttemptWhileWithDelay

    1.35.0 (2022-11-15)

    Adding:

    • lo.RandomString
    • lo.BufferWithTimeout (alias to lo.BatchWithTimeout)
    • lo.Buffer (alias to lo.Batch)

    Change:

    • lo.Slice: avoid panic caused by out-of-bounds

    Deprecation:

    • lo.BatchWithTimeout
    • lo.Batch

    1.34.0 (2022-11-12)

    Improving:

    • lo.Union: faster and can receive more than 2 lists

    Adding:

    • lo.FanIn (alias to lo.ChannelMerge)
    • lo.FanOut

    Deprecation:

    • lo.ChannelMerge

    1.33.0 (2022-10-14)

    Adding:

    • lo.ChannelMerge

    Improving:

    ... (truncated)

    Commits
    • d0af59f bump v1.37.0
    • 259951a bump v1.37.0
    • 5e108ed chore(ci): add release script + cleanup dependencies before release (#284)
    • 565be2e Revert "chore: comment benchmarks, in order to remove go-funk dependency"
    • 1a60415 chore: rename ci workflows
    • 28eaf62 chore: comment benchmarks, in order to remove go-funk dependency
    • 6438444 adding Transaction
    • a6aabb4 Merge branch 'master' of github.com:samber/lo
    • 7eb64a6 update changelog
    • 0ed7b6e fix: set map capacity in Associate (#282)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.13

    chore(deps): bump github.com/imdario/mergo from 0.3.12 to 0.3.13

    Bumps github.com/imdario/mergo from 0.3.12 to 0.3.13.

    Release notes

    Sourced from github.com/imdario/mergo's releases.

    Merging same-type slices supported, YAML upgraded to v3 (only used in tests), and more flexibility for transformers

    What's Changed

    New Contributors

    Full Changelog: https://github.com/imdario/mergo/compare/0.3.12...v0.3.13

    Commits
    • 1949787 Update README.md
    • 80c13e1 Merge pull request #212 from imdario/dcc/issue-206
    • f86e6f6 Upgrade yaml to v3
    • 39ebbbb Merge pull request #210 from heaths/issue209
    • fd7d2bc Merge pull request #211 from zaquestion/transformer_valid_destination
    • 8109749 add test for deepMerge panic
    • 4bed36e add test for keeping zero values with transformer
    • ab6b270 fix: gate transformers on valid non-nil destinations
    • 200f90d Support slices of same type
    • fd3dfc9 Merge pull request #191 from marcauberer/master
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/go-playground/validator/v10 from 10.11.0 to 10.11.1

    chore(deps): bump github.com/go-playground/validator/v10 from 10.11.0 to 10.11.1

    Bumps github.com/go-playground/validator/v10 from 10.11.0 to 10.11.1.

    Release notes

    Sourced from github.com/go-playground/validator/v10's releases.

    Release 10.11.1

    What was fixed?

    Corrected/Enhanced is boolean check to take the field type into consideration. Thanks @​V-R-Dighe for the PR

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/uptrace/opentelemetry-go-extra/otelzap from 0.1.12 to 0.1.17

    chore(deps): bump github.com/uptrace/opentelemetry-go-extra/otelzap from 0.1.12 to 0.1.17

    Bumps github.com/uptrace/opentelemetry-go-extra/otelzap from 0.1.12 to 0.1.17.

    Release notes

    Sourced from github.com/uptrace/opentelemetry-go-extra/otelzap's releases.

    v0.1.17

    Please refer to CHANGELOG.md for details

    v0.1.16

    Please refer to CHANGELOG.md for details

    v0.1.15

    Please refer to CHANGELOG.md for details

    v0.1.14

    Please refer to CHANGELOG.md for details

    v0.1.13

    Please refer to CHANGELOG.md for details

    Changelog

    Sourced from github.com/uptrace/opentelemetry-go-extra/otelzap's changelog.

    0.1.17 (2022-10-07)

    0.1.16 (2022-09-05)

    Bug Fixes

    • change SugaredLoggerWithCtx.Desuger to return LoggerWithCtx (12f061e)
    • copy skipCaller in With. Fixes #62 (4b58eac)
    • otelzap: do not panic on invalid input (#69) (a41206e)

    Features

    • otelzap: add extra fields option (aa0e1a0)
    • otelzap: make the caller depth configurable (38a6a03)

    0.1.15 (2022-07-25)

    Bug Fixes

    • otelzap: add missing DebugwContext function (ea2b33a)
    • otelzap: fix WithTraceIDField for Debugw-like API (c937b65)

    0.1.14 (2022-05-28)

    Bug Fixes

    • import error (8838b79)
    • set span kind to client for otelgorm (0250bbd)

    0.1.13 (2022-05-08)

    Features

    • upgrade to opentelemetry-go v1.7.0 (bfa8f4e)
    Commits
    • fcc6618 Merge pull request #80 from uptrace/release/v0.1.17
    • 1b3ba2d chore: fix build
    • 72d4b41 chore: release v0.1.17 (release.sh)
    • 5bee28b chore: update release script
    • 8bc87a8 chore: update dependencies
    • 6b6a44f chore: add some comments
    • 3221d18 Merge pull request #75 from uptrace/release/v0.1.16
    • 846fe38 chore: release v0.1.16 (release.sh)
    • 4b58eac fix: copy skipCaller in With. Fixes #62
    • 12f061e fix: change SugaredLoggerWithCtx.Desuger to return LoggerWithCtx
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • chore(deps): bump github.com/magefile/mage from 1.13.0 to 1.14.0

    chore(deps): bump github.com/magefile/mage from 1.13.0 to 1.14.0

    Bumps github.com/magefile/mage from 1.13.0 to 1.14.0.

    Release notes

    Sourced from github.com/magefile/mage's releases.

    v1.14.0 - Faster Than Ever

    What's Changed

    New Contributors

    Full Changelog: https://github.com/magefile/mage/compare/v1.13.0...v1.14.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Memlog - A Kafka log structure inspired in-memory and append-only data structure

Benchmark with log size 1000 go test -bench=. -cpu 1,2,4,8,16 -benchmem goos: darwin goarch: amd64 pkg: github.com/embano1/memlog cpu: Intel(R) Core(T

Dec 25, 2022
nanoQ — high-performance brokerless Pub/Sub for streaming real-time data

nanoQ — high-performance brokerless Pub/Sub for streaming real-time data nanoQ is a very minimalistic (opinionated/limited) Pub/Sub transport library.

Nov 9, 2022
⚡️ A lightweight service that will build and store your go projects binaries, Integrated with Github, Gitlab, Bitbucket and Bitbucket Server.
⚡️ A lightweight service that will build and store your go projects binaries, Integrated with Github, Gitlab, Bitbucket and  Bitbucket Server.

Rabbit A lightweight service that will build and store your go projects binaries. Rabbit is a lightweight service that will build and store your go pr

Nov 19, 2022
Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.

Cadence Visit cadenceworkflow.io to learn about Cadence. This repo contains the source code of the Cadence server. To implement workflows, activities

Jan 9, 2023
The Xiaomi message push service is a system-level channel on MIUI and is universal across the platform, which can provide developers with stable, reliable, and efficient push services.

Go-Push-API MiPush、JiPush、UMeng MiPush The Xiaomi message push service is a system-level channel on MIUI and is universal across the platform, which c

Oct 20, 2022
May 11, 2023
⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol.

APNS/2 APNS/2 is a go package designed for simple, flexible and fast Apple Push Notifications on iOS, OSX and Safari using the new HTTP/2 Push provide

Jan 1, 2023
Asynq: simple, reliable, and efficient distributed task queue in Go
Asynq: simple, reliable, and efficient distributed task queue in Go

Asynq Overview Asynq is a Go library for queueing tasks and processing them asynchronously with workers. It's backed by Redis and is designed to be sc

Dec 30, 2022
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.

Beaver A Real Time Messaging Server. Beaver is a real-time messaging server. With beaver you can easily build scalable in-app notifications, realtime

Jan 1, 2023
Build event-driven and event streaming applications with ease

Commander ?? Commander is Go library for writing event-driven applications. Enabling event sourcing, RPC over messages, SAGA's, bidirectional streamin

Dec 19, 2022
Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins

Emitter The emitter package implements a channel-based pubsub pattern. The design goals are to use Golang concurrency model instead of flat callbacks

Jan 4, 2023
Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io)

Glue - Robust Go and Javascript Socket Library Glue is a real-time bidirectional socket library. It is a clean, robust and efficient alternative to so

Nov 25, 2022
Declare AMQP entities like queues, producers, and consumers in a declarative way. Can be used to work with RabbitMQ.

About This package provides an ability to encapsulate creation and configuration of RabbitMQ([AMQP])(https://www.amqp.org) entities like queues, excha

Dec 28, 2022
Abstraction layer for simple rabbitMQ connection, messaging and administration
Abstraction layer for simple rabbitMQ connection, messaging and administration

Jazz Abstraction layer for quick and simple rabbitMQ connection, messaging and administration. Inspired by Jazz Jackrabbit and his eternal hatred towa

Dec 12, 2022
Server-sent live updates: protocol and reference implementation
Server-sent live updates: protocol and reference implementation

Protocol and Reference Implementation Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients in a convenient, fast

Jan 1, 2023
A tiny wrapper around NSQ topic and channel :rocket:

Event Bus NSQ A tiny wrapper around go-nsq topic and channel. Protect nsq calls with gobreaker. Installation go get -u github.com/rafaeljesus/nsq-even

Sep 27, 2022
A tiny wrapper over amqp exchanges and queues 🚌 ✨

Rabbus ?? ✨ A tiny wrapper over amqp exchanges and queues. In memory retries with exponential backoff for sending messages. Protect producer calls wit

Dec 18, 2022
RabbitMQ wire tap and swiss army knife
RabbitMQ wire tap and swiss army knife

rabtap - RabbitMQ wire tap Swiss army knife for RabbitMQ. Tap/Pub/Sub messages, create/delete/bind queues and exchanges, inspect broker. Contents Feat

Dec 28, 2022
RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue

RapidMQ RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue in the Go programming langu

Sep 27, 2022