A Go interface to ZeroMQ version 3

Related tags

Messaging zmq3
Overview

A Go interface to ZeroMQ version 3.

Go Report Card GoDoc

For ZeroMQ version 4, see: http://github.com/pebbe/zmq4

For ZeroMQ version 2, see: http://github.com/pebbe/zmq2

Including all examples of ØMQ - The Guide.

Keywords: zmq, zeromq, 0mq, networks, distributed computing, message passing, fanout, pubsub, pipeline, request-reply

See also

  • Mangos — An implementation in pure Go of the SP ("Scalable Protocols") protocols
  • go-nanomsg — Language bindings for nanomsg in Go
  • goczmq — A Go interface to CZMQ

Requirements

zmq3 is just a wrapper for the ZeroMQ library. It doesn't include the library itself. So you need to have ZeroMQ installed, including its development files. On Linux and Darwin you can check this with ($ is the command prompt):

$ pkg-config --modversion libzmq
3.2.5

The Go compiler must be able to compile C code. You can check this with:

$ go env CGO_ENABLED
1

You can't do cross-compilation. That would disable C.

Install

go get github.com/pebbe/zmq3

Docs

Issues
  • Compile issue: undefined reference to `zmq_poll'

    Compile issue: undefined reference to `zmq_poll'

    I downloaded and built libzmq 3.2.2 from source. Running pkg-config --cflags libzmq returns -I/usr/local/include. I have a zmq.h file there and the version reads as follows:

    define ZMQ_VERSION_MAJOR 3

    define ZMQ_VERSION_MINOR 2

    define ZMQ_VERSION_PATCH 2

    Similarly, running pkg-config --libs-only-L libzmq returns -L/usr/local/lib and I have the following files there:

    /usr/local/lib/libzmq.a
    /usr/local/lib/libzmq.la
    /usr/local/lib/libzmq.so
    /usr/local/lib/libzmq.so.3
    /usr/local/lib/libzmq.so.3.0.0

    I previously had version 2.x.x installed through apt-get but I uninstalled that version.

    Here's the full list of errors when I try to compile my code that uses zmq3 package:

    /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_poll': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/polling.go:41: undefined reference tozmq_poll' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_poll': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/polling.go:56: undefined reference tozmq_poll' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_getsockopt': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/socketget.go:43: undefined reference tozmq_getsockopt' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_getsockopt': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/socketget.go:59: undefined reference tozmq_getsockopt' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_setsockopt': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/socketset.go:44: undefined reference tozmq_setsockopt' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_setsockopt': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/socketset.go:69: undefined reference tozmq_setsockopt' /var/tmp/go-link-fvuXsH/000001.o: In function get_event': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:16: undefined reference tozmq_msg_data' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_bind': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:61: undefined reference tozmq_bind' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_close': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:76: undefined reference tozmq_close' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_connect': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:92: undefined reference tozmq_connect' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_ctx_get': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:109: undefined reference tozmq_ctx_get' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_ctx_new': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:122: undefined reference tozmq_ctx_new' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_ctx_set': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:139: undefined reference tozmq_ctx_set' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_disconnect': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:155: undefined reference tozmq_disconnect' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_msg_init': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:170: undefined reference tozmq_msg_init' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_msg_recv': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:188: undefined reference tozmq_msg_recv' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_proxy': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:205: undefined reference tozmq_proxy' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_send': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:224: undefined reference tozmq_send' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_socket': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:240: undefined reference tozmq_socket' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_socket_monitor': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:258: undefined reference tozmq_socket_monitor' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_C2func_zmq_unbind': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:274: undefined reference tozmq_unbind' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_bind': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:311: undefined reference tozmq_bind' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_close': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:322: undefined reference tozmq_close' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_connect': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:334: undefined reference tozmq_connect' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_ctx_get': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:347: undefined reference tozmq_ctx_get' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_ctx_new': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:356: undefined reference tozmq_ctx_new' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_ctx_set': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:369: undefined reference tozmq_ctx_set' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_disconnect': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:381: undefined reference tozmq_disconnect' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_msg_close': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:392: undefined reference tozmq_msg_close' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_msg_data': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:402: undefined reference tozmq_msg_data' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_msg_init': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:413: undefined reference tozmq_msg_init' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_msg_recv': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:427: undefined reference tozmq_msg_recv' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_proxy': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:440: undefined reference tozmq_proxy' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_send': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:455: undefined reference tozmq_send' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_socket': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:467: undefined reference tozmq_socket' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_socket_monitor': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:481: undefined reference tozmq_socket_monitor' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_strerror': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:492: undefined reference tozmq_strerror' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_unbind': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:504: undefined reference tozmq_unbind' /var/tmp/go-link-fvuXsH/000001.o: In function _cgo_e99ae710c4d9_Cfunc_zmq_version': /home/ezbercih/code/go/src/github.com/pebbe/zmq3/zmq3.go:515: undefined reference tozmq_version' collect2: error: ld returned 1 exit status crypto/tls.extensionStatusRequest: /home/ezbercih/go/pkg/tool/linux_amd64/6l: running gcc failed: unsuccessful exit status 0x100

    Any suggestions?

    Thanks!

    opened by ezbercih 10
  • zmq sockets crash with goroutines

    zmq sockets crash with goroutines

    I'm using websockets with zmq running on top of it.

    go version go1.3.3 linux/amd64 libzmq Version: 3.2.4

    The error in question is:

    Assertion failed: ok (mailbox.cpp:84)
    SIGABRT: abort
    PC=0x3721c35877
    signal arrived during cgo execution
    

    I looked up the mailbox.cpp error and the general consensus is that it has to do with different threads trying to use the same zmq socket.

    I have a coroutine running and it communicates with the other coroutines via channels, thus other coroutines do not directly access the zmq socket.

    The trace is as follows:

    goroutine 22 [syscall]:
    runtime.cgocall(0x402790, 0x7fa0ba589b10)
        /usr/local/go/src/pkg/runtime/cgocall.c:143 +0xe5 fp=0x7fa0ba589ae8 sp=0x7fa0ba589aa0
    github.com/pebbe/zmq3._C2func_zmq_send(0x12c4c80, 0xc20a78a380, 0x7d, 0x7fa000000001, 0x4784e0, 0xc20808600d, 0xc20a78a380)
        github.com/pebbe/zmq3/_obj/_cgo_defun.c:365 +0x36 fp=0x7fa0ba589b10 sp=0x7fa0ba589ae8
    github.com/pebbe/zmq3.(*Socket).SendBytes(0xc208025410, 0xc20a78a380, 0x7d, 0x80, 0x1, 0x7fa0ba589c08, 0x0, 0x0)
        /data/Projects/messaging/src/github.com/pebbe/zmq3/zmq3.go:549 +0xf0 fp=0x7fa0ba589ba8 sp=0x7fa0ba589b10
    github.com/pebbe/zmq3.(*Socket).Send(0xc208025410, 0xc20a78a280, 0x7d, 0x1, 0x7d, 0x0, 0x0)
        /data/Projects/messaging/src/github.com/pebbe/zmq3/zmq3.go:536 +0x76 fp=0x7fa0ba589bf0 sp=0x7fa0ba589ba8
    github.com/pebbe/zmq3.(*Socket).sendMessage(0xc208025410, 0x1, 0x7fa0ba589f50, 0x1, 0x1, 0x0, 0x0, 0x0)
        /data/Projects/messaging/src/github.com/pebbe/zmq3/utils.go:59 +0x5f8 fp=0x7fa0ba589e98 sp=0x7fa0ba589bf0
    github.com/pebbe/zmq3.(*Socket).SendMessageDontwait(0xc208025410, 0x7fa0ba589f50, 0x1, 0x1, 0xa5, 0x0, 0x0)
        /data/Projects/messaging/src/github.com/pebbe/zmq3/utils.go:25 +0x65 fp=0x7fa0ba589ee0 sp=0x7fa0ba589e98
    plug.(*Dealer).Recv(0xc2080282b0)
        /data/Projects/messaging/src/plug/dealer.go:72 +0x2a7 fp=0x7fa0ba589fa0 sp=0x7fa0ba589ee0
    runtime.goexit()
        /usr/local/go/src/pkg/runtime/proc.c:1445 fp=0x7fa0ba589fa8 sp=0x7fa0ba589fa0
    created by main.main
        /data/Projects/messaging/src/wsServer.go:25 +0x25f
    

    Any help would be appreciated.

    opened by Irooniam 8
  • Supplying Flag to utils.SendMessage

    Supplying Flag to utils.SendMessage

    Hi there, Is there any reason why we can't suppli Flag(DONTWAIT) to utils.SendMessage functions. If there is no particular reson, perhaps I can supply a pull request.

    Thanks, Dragomir

    opened by Dragomir-Ivanov 7
  • Build problem on OS X Mavericks

    Build problem on OS X Mavericks

    $ go version
    go version go1.1.2 darwin/amd64
    [email protected] ~ $ clang --version
    Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
    Target: x86_64-apple-darwin13.0.1
    Thread model: posix
    $ CC=clang go get github.com/pebbe/zmq3
    # github.com/pebbe/zmq3
    zmq3.go:446: cannot use _Ctype_size_t(size) (type C.size_t) as type C.ulong in function argument
    
    opened by mdpye 7
  • Compile error: 'zmq_event_t' has no member named 'data'

    Compile error: 'zmq_event_t' has no member named 'data'

    Hi,

    First of all, I'd like to thank you for the nice work you've done.

    I'm trying to use the api but it is not compiling on my machine (ubuntu). I cloned libzmq repository and built it, which means I'm running libzmq 3.2.

    This error is thrown in the C function get_event declared on zmq3.go

    Best regards, Manuel Felício

    opened by mfelicio 7
  • Package naming

    Package naming

    Hello again, Is there any reason to name the package with the full version name, e.g. "zmq4" instead of just "zmq". I can't imagine one to use two versions of zmq in the same project.

    Thanks, Dragomir

    opened by Dragomir-Ivanov 6
  • Invalid argument (session_base.cpp:490)

    Invalid argument (session_base.cpp:490)

    Hi. I'm trying to write a simple client listening to an epgm channel. But when I execute the code, I get the following error:

    Invalid argument (session_base.cpp:490)
    signal: aborted (core dumped)
    

    When I add the line:

    msg, _ := socket.Recv(0)
    

    Am I establishing the context and socket correctly? Any ideas on how I can begin debugging this?

    Here is my code:

    package main
    
    import (
        "fmt"
        zmq "github.com/pebbe/zmq3"
    )
    
    func main() {
        context, _ := zmq.NewContext()
        socket, _ := context.NewSocket(zmq.SUB)
    
        err := socket.Connect("epgm://address")
        if err != nil {
            panic(err.Error())
        }
        socket.SetSubscribe("")
    
        msg, _ := socket.Recv(0)
    
        fmt.Println(msg)
    
        socket.Close()
        context.Term()
    }
    

    Thanks for reading. Karl

    opened by karlkempe 6
  • Trouble installing

    Trouble installing

    I get the following when trying to get the zmq3 package. I am running ubuntu 14.04 and installed libzmq3-dev and also tried compiling from source. I run ldconfig for good measure, still the same error.

    $ go get github.com/pebbe/zmq3

    In file included from src/github.com/pebbe/zmq3/errors.go:5:0: zmq3.h:2:2: error: #error "You need ZeroMQ version 3 to build this" #error "You need ZeroMQ version 3 to build this"

    opened by scragg0x 5
  • clang compile error on OS X 10.9

    clang compile error on OS X 10.9

    Hi Peter,

    I'm trying to get the zmq3 bindings up and running on a OS X 10.9 but I'm having some problems. I've already got zmq 3.2.4 installed via HomeBrew but I'm getting an error when I try to get the library (with go get ...). I've included the error below.

    clang: error: argument unused during compilation: '-fno-eliminate-unused-debug-types'

    Any ideas?

    Thanks in advance,

    Andy

    opened by abargh 5
  • Install issues

    Install issues

    On running CGO_CFLAGS=-I/usr/local/include CGO_LDFLAGS=-L/usr/local/lib go get github.com/pebbe/zmq3 I get the following. I am quite new to Go (but not ZMQ) and I see these on my output:

    ../../../../whirlwind/go/src/github.com/pebbe/zmq3/reactor.go:10: undefined: State ../../../../whirlwind/go/src/github.com/pebbe/zmq3/reactor.go:11: undefined: State ../../../../whirlwind/go/src/github.com/pebbe/zmq3/reactor.go:21: undefined: Socket ../../../../whirlwind/go/src/github.com/pebbe/zmq3/reactor.go:23: undefined: Poller ../../../../whirlwind/go/src/github.com/pebbe/zmq3/reactor.go:55: undefined: Socket ../../../../whirlwind/go/src/github.com/pebbe/zmq3/reactor.go:55: undefined: State ../../../../whirlwind/go/src/github.com/pebbe/zmq3/reactor.go:62: undefined: Socket ../../../../whirlwind/go/src/github.com/pebbe/zmq3/utils.go:17: undefined: Socket ../../../../whirlwind/go/src/github.com/pebbe/zmq3/utils.go:78: undefined: Socket ../../../../whirlwind/go/src/github.com/pebbe/zmq3/utils.go:78: too many errors

    I am running go version go1.1.1 darwin/amd64 and zeromq-3.2.3. Thanks for any help already.

    Suhail

    opened by ski 5
  • ZeroMQ, Threads and GO

    ZeroMQ, Threads and GO

    This is probably more a comment rather an issue, but might cause some issues I'm not aware of at this moment. Reading the zeromq documentation, there a section "Multithreading with ØMQ": http://zguide.zeromq.org/page:all#Multithreading-with-MQ

    If you need to start more than one proxy in an application, for example, you will want to run each in their own thread. It is easy to make the error of creating the proxy frontend and backend sockets in one thread, and then passing the sockets to the proxy in another thread. This may appear to work at first but will fail randomly in real use.

    Remember: Do not use or close sockets except in the thread that created them.

    In GO there's no control over threads. GO runtime scheduler assigns routines to various threads and it is basically a certainty that ZMQ sockets will be used in various threads. There's an option to lock go routine to specific thread (runtime.LockOSThread()), but that means ZMQ sockets cannot be used in more go routines, which is very restrictive considering IMHO.

    So, does it even make sense to try to use ZMQ in GO? What is your opinion about this?

    opened by igm 4
  • jeromq::push very slow with zmq3::pull

    jeromq::push very slow with zmq3::pull

    Using default options, zmq3 is about 1/10th the speed of jeromq::pull or c::pull.

    I am running out of ideas how to explain this:

    I have a producer using jeromq to push messages.

    All consumers are NOP for now, they just pull the messages.

    It works fine for clients written in jeromq and the provided benchmarking tool written in c.

    However, if I connect using zmq3 the producer starts to stall as it dead locks on send. The go process is more or less idle.

    Any ideas?

    opened by sixtus 1
Releases(v1.0.4)
Owner
Peter Kleiweg
Peter Kleiweg
A Go interface to ZeroMQ version 3

A Go interface to ZeroMQ version 3. For ZeroMQ version 4, see: http://github.com/pebbe/zmq4 For ZeroMQ version 2, see: http://github.com/pebbe/zmq2 In

Peter Kleiweg 131 Nov 25, 2021
Go (golang) bindings for the 0mq (zmq, zeromq) C API

NOTE: These gozmq bindings are in maintenance mode. Only critical bugs will be fixed. Henceforth I would suggest using @pebbe's actively maintained bi

Alec Thomas 470 Jun 24, 2022
Transpiled version of the CCXT exchange library to Go (Golang)

CCXT Go Transpiled CCXT exchange library from their original JavaScript source to Go (Golang). Features support 100+ cryptocurrency exchanges with a u

null 44 Jul 1, 2022
go broker interface,you can use kafka,redis,pulsar etc.

broker go broker interface,you can use kafka,redis,pulsar etc. pulsar in docker run pulsar in docker docker run -dit \ --name pulsar-sever \ -p 6650:

go-god 11 May 25, 2022
A Go interface to ZeroMQ version 2

A Go interface to ZeroMQ version 2. Requires ZeroMQ version 2.1 or 2.2 For ZeroMQ version 4, see: http://github.com/pebbe/zmq4 For ZeroMQ version 3, s

Peter Kleiweg 18 May 26, 2021
A Go interface to ZeroMQ version 3

A Go interface to ZeroMQ version 3. For ZeroMQ version 4, see: http://github.com/pebbe/zmq4 For ZeroMQ version 2, see: http://github.com/pebbe/zmq2 In

Peter Kleiweg 131 Nov 25, 2021
Bump-version - Bump a given semantic version, following a given version fragment

bump-version Bump a given semantic version, following a given version fragment.

Weslei Juan Novaes Pereira 3 Feb 7, 2022
Go (golang) bindings for the 0mq (zmq, zeromq) C API

NOTE: These gozmq bindings are in maintenance mode. Only critical bugs will be fixed. Henceforth I would suggest using @pebbe's actively maintained bi

Alec Thomas 470 Jun 24, 2022
Let's implement some basic ZeroMQ publisher and subscriber in Golang. Utilize Envoy as a proxy.

Envy proxy with ZeroMQ Solution tested on DigitalOcean Droplet. In case of re-creation VM follow this article. Introduction Let's implement some basic

Jakub Wołynko 0 Jan 25, 2022
A tool to determine the highest version number that's smaller than a target version number

semver-highest A tool to determine the highest version number that's smaller than a target version number. Installation go install github.com/marten-s

Marten Seemann 1 Oct 13, 2021
dont-interface calculates how many interface{} are declared or used in your project?

dont-interface calculates how many interface{} are declared or used in your project?

Ray Eldath 17 Jun 9, 2022
Go library to interface with NEAR nodes' JSON-RPC interface

StreamingFast Solana library for Go Go library to interface with NEAR nodes' JSON-RPC interface Contributing Issues and PR in this repo related strict

StreamingFast 1 Nov 9, 2021
Recursively searches a map[string]interface{} structure for another map[string]interface{} structure

msirecurse Recursively searches a map[string]interface{} structure for existence of a map[string]interface{} structure Motivation I wrote this package

Fred Moyer 1 Mar 3, 2022
Go Version Manager

gvm By Josh Bussdieker (jbuss, jaja, jbussdieker) while working at Moovweb Currently lovingly maintained by Benjamin Knigge Pull requests and other an

Moovweb 7.4k Jun 25, 2022
A node.js version management utility for Windows. Ironically written in Go.

The npm/Microsoft/Google recommended Node.js version manager for Windows. This is not the same thing as nvm. The original nvm is a completely separate

Corey Butler 21.8k Jun 29, 2022
The pure golang implementation of nanomsg (version 1, frozen)

mangos NOTE: This is the legacy version of mangos (v1). Users are encouraged to use mangos v2 instead if possible. No further development is taking pl

nanomsg 1.5k Jun 22, 2022
libsvm go version

libsvm golang version libsvm golang version derived work based on LIBSVM 3.14. Info this lib based on LIBSVM java version, just translate java to go.

Xianjie 71 Jan 23, 2022
This is a Golang wrapper for working with TMDb API. It aims to support version 3.

This is a Golang wrapper for working with TMDb API. It aims to support version 3. An API Key is required. To register for one, head over to themoviedb

Cyro Dubeux 53 Jun 25, 2022
"go build" wrapper to add version info to Golang applications

govvv The simple Go binary versioning tool that wraps the go build command. Stop worrying about -ldflags and go get github.com/ahmetb/govvv now. Build

Ahmet Alp Balkan 525 Jun 22, 2022
Go Version Manager

gvm By Josh Bussdieker (jbuss, jaja, jbussdieker) while working at Moovweb Currently lovingly maintained by Benjamin Knigge Pull requests and other an

Moovweb 7.4k Jun 23, 2022
A live-updating version of the UNIX wc command.

lwc A live-updating version of the UNIX wc command. Installation You can get a prebuilt binary for every major platform from the Releases page. Just e

Tim De Pauw 27 Mar 5, 2022
Speak HTTP like a local. (the simple, intuitive HTTP console, golang version)

http-gonsole This is the Go port of the http-console. Speak HTTP like a local Talking to an HTTP server with curl can be fun, but most of the time it'

mattn 65 Jul 14, 2021
Markdown version of Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine

The big BNT162b2 archive All vaccine data here is sourced from this World Health Organization document. This describes the RNA contents of the BNT162b

null 156 May 4, 2022
Go version of Plan9 Acme Editor

Overview Go port of Rob Pike's Acme editor. Derived from ProjectSerenity but now increasingly divergent. ProjectSerenity was itself a transliteration

Robert Kroeger 320 Jun 21, 2022
Golang Version Manager

g 注意:master分支可能处于开发之中并非稳定版本,请通过tag下载稳定版本的源代码,或通过release下载已编译的二进制可执行文件。 g是一个Linux、macOS、Windows下的命令行工具,可以提供一个便捷的多版本go环境的管理和切换。 特性 支持列出可供安装的go版本号 支持列出已安

voidint 698 Jun 30, 2022
High-precision indoor positioning framework, version 3.

The Framework for Internal Navigation and Discovery (FIND) is like indoor GPS for your house or business, using only a simple smartphone or laptop. Th

Zack 4.3k Jun 28, 2022
Go tool for major version upgrades

GOMAJOR $ gomajor help GoMajor is a tool for major version upgrades Usage: gomajor <command> [arguments] The commands are: get upgrad

Ilia Choly 66 Jun 17, 2022
Metrics dashboards on terminal (a grafana inspired terminal version)

Grafterm Visualize metrics dashboards on the terminal, like a simplified and minimalist version of Grafana for terminal. Features Multiple widgets (gr

Xabier Larrakoetxea Gallego 763 Jun 24, 2022
Sentinel Go version (Reliability & Resilience)

Sentinel: The Sentinel of Your Microservices Introduction As distributed systems become increasingly popular, the reliability between services is beco

Alibaba 2k Jun 24, 2022