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

Comments
  • 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 a5-pickle 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 133 Sep 24, 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 468 Dec 9, 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 49 Oct 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 Sep 8, 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 133 Sep 24, 2022
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 468 Dec 9, 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 8.1k Jan 9, 2023
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 25.1k Jan 2, 2023
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 Dec 7, 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 72 Sep 27, 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 64 Dec 27, 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 529 Dec 16, 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 8.1k Jan 2, 2023