monkey VS dapr

Compare monkey vs dapr and see what are their differences.

monkey

Monkey patching in Go (by bouk)

dapr

Dapr is a portable, event-driven, runtime for building distributed applications across cloud and edge. (by dapr)
Our great sponsors
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • SaaSHub - Software Alternatives and Reviews
monkey dapr
8 27
2,370 14,999
- 4.2%
0.0 9.7
over 1 year ago 3 days ago
Go Go
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

monkey

Posts with mentions or reviews of monkey. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-16.
  • is there an easy (python like way) to do mocks?
    reddit.com/r/golang | 2021-10-16
    I discovered this lib a few days ago. https://github.com/bouk/monkey it allows you to monkey patch entire functions, replacing them by whatever you want. Perfect for mocking. It's simple to use. The program is hard patching the code using assembly to replace the function address at runtime. You should not use this lib out of your tests since it's absolutely not safe. It's only compatible with linux and windows. But it works great!
  • Oops!
  • Monkey Patching in Go (2015)
    news.ycombinator.com | 2021-08-22
  • I do not give anyone permissions to use this tool for any purpose. Don’t use it. I’m not interested in changing this license. Please don’t ask.
  • Project includes a dependancy that has a license that forbids its use
    news.ycombinator.com | 2021-08-22
    From the explaining blog post [0]

    > If you’re not interested in how it works and you just want to do monkey patching, then you can find the library here.

    Also

    > Wrapping it up in a nice library

    > I took the above code and put it in an easy to use library. It supports 32 bit, reversing patches, and patching instance methods. I wrote a couple of examples and put those in the README.

    Then in the README[1]:

    > Make sure you read the notes at the bottom of the README if you intend to use this library.

    Either the author is confused or has decided that he doesn't want to maintain an hack. Anyway license is pretty clear.

    There was an HN thread[2] when it was released.

    [0] https://bou.ke/blog/monkey-patching-in-go/

    [1] https://github.com/bouk/monkey

    [2] https://news.ycombinator.com/item?id=9290917

    news.ycombinator.com | 2021-08-22
    "This is as unsafe as it sounds and I don't recommend anyone do it outside of a testing environment."

    [1]: https://github.com/bouk/monkey#i-thought-that-monkeypatching...

  • is Test_xxx func safe to access shared data?
    reddit.com/r/golang | 2021-06-25
    WRT monkeypatch, again, this is a "global" thing and assuming you are talking about bouk's monkeypatch library the author makes the note that
  • Go partial mocks?
    reddit.com/r/golang | 2021-05-10
    For example: https://github.com/bouk/monkey

dapr

Posts with mentions or reviews of dapr. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-08.
  • Show HN: Scaffoldly – Serverless APIs on AWS, in Minutes
    news.ycombinator.com | 2021-10-21
    Very cool project. It reminds me a bit of https://dapr.io (even though they're obviously quite different).

    One tiny note on the docs - I found it surprisingly hard to find the github repo for the project listed in the docs. I was expecting to find a GitHub link under contributing but only saw a slack channel. I eventually spotted a link in the Roadmap section.

  • Do you guys use frameworks with Go for backend development?
    reddit.com/r/golang | 2021-10-08
    https://dapr.io/ might be a fit sometimes
  • From Monolith to Microservices and Beyond
    dev.to | 2021-10-05
    Projects like Dapr aim to be the Holy Grail for application development. Their goal is to help developers build resilient services that run in the cloud. By codifying best practices for building microservices into independent and agnostic building blocks that can be used only if necessary, they allow services to be built using any language or framework and run anywhere.
  • Running Dapr on Kubernetes
    dev.to | 2021-09-07
    If you want to find out more about Dapr, the best place to start is the official documentation.
  • When You Merge Pull Requests You Lose Knowledge
    dev.to | 2021-08-24
    Discussion with halspang and artursouza at dapr / dapr “Write reminders in multiple partitions #3297“
  • Project includes a dependancy that has a license that forbids its use
    news.ycombinator.com | 2021-08-22
    > … I don't recommend anyone do it outside of a testing environment.

    … which is exactly dow it is used in dapr

    > This is only used in the test (and thus not.compiled and distributed in our binaries).

    (source: https://github.com/dapr/dapr/issues/3563#issuecomment-901563...)

    news.ycombinator.com | 2021-08-22
  • Hacker News top posts: Aug 22, 2021
    Project includes a dependancy that has a license that forbids its use\ (13 comments)

What are some alternatives?

When comparing monkey and dapr you can also consider the following projects:

tye - Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.

go-micro - A Go framework for distributed systems development

Nomad - Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications. Nomad is easy to operate and scale and has native Consul and Vault integrations.

gomock - GoMock is a mocking framework for the Go programming language.

Mmock - Mmock is an HTTP mocking application for testing and fast prototyping

Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

openrasp - 🔥Open source RASP solution

buildpacks-jvm - Heroku's official Cloud Native Buildpacks for the JVM ecosystem.

passerine - A small extensible programming language designed for concise expression with little code.

go-txdb - Immutable transaction isolated sql driver for golang

gock - HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽

minimock - Powerful mock generation tool for Go programming language