monkey VS arduino-cli

Compare monkey vs arduino-cli and see what are their differences.


Monkey patching in Go (by bouk)
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 arduino-cli
8 12
2,370 3,079
- 1.9%
0.0 9.3
over 1 year ago 9 days ago
Go Go
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
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.


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? | 2021-10-16
    I discovered this lib a few days ago. 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) | 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 | 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.


    > 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.



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


  • is Test_xxx func safe to access shared data? | 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? | 2021-05-10
    For example:


Posts with mentions or reviews of arduino-cli. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-11.
  • Is there any good alternatives for the Arduino IDE that works under pure Wayland environment?? | 2021-09-11
    The Arduino folks also make the Arduino-CLI if you like typing at the shell like me:
  • What's your preferred alternative to the Arduino IDE and what's a good guide on using it? | 2021-08-26
    I use arduino-cli, a plain text editor (vim) and Makefiles. I really hate these bloated IDEs.
  • Project includes a dependancy that has a license that forbids its use | 2021-08-22
  • What are startups / companies doing some amazing work with Go? | 2021-08-13
  • In your experience, what is the most well documented embedded framework? | 2021-06-30
    Have you tried the Arduino IDE 2.0 ot the Arduino CLI? they are much more powerful than the basic IDE (Which is for beginners)
  • is there any other way to load codes on uno without the IDE? | 2021-05-15
    There is the 'arduino cli' which lets you do all the IDE stuff from a command line.
  • Is there a way to use python gui to edit and upload an Arduino file to a microcontroller?
  • The Arduino IDE 2.0 (beta) | 2021-05-11
    > I'm sure you can still develop in VSCode with third-party plugins.

    The Arduino IDE 2.0 uses the ArduinoCLI as backend and they comunicate through a gRPC API, most functionalities are implemented only in the latter. It's technically feasible to create a VSCode plugin. :)

    > (To be honest though, I would have been happy enough if they built it in Emacs, even if similar objections apply.)

    Never used Emacs but I think it should be doable to integrate the ArduinoCLI as a plugin, if you want to take a try at it I suggest you read the docs. The gRPC is still not 100% stable though, I made a big refactoring in the initialization steps recently that still needs to be merged.

  • Compile Arduino sketches in Yocto/BitBake with arduino-cli | 2021-04-06
    I created some BitBake recipes to compile Arduino sketches using arduino-cli during a Yocto/Bitbake build. The (perhaps less convenient) alternatives would be to:
  • Arduino CLI - What and Why? | 2021-03-28
    Hey everyone, I've made a video about the Arduino CLI:

What are some alternatives?

When comparing monkey and arduino-cli you can also consider the following projects:

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

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

ghw - Golang hardware discovery/inspection library

chainlink - node of the decentralized oracle network, bridging on and off-chain computation

hoverfly - Lightweight service virtualization/API simulation tool for developers and testers

httpmock - HTTP mocking for Golang

go-txdb - Immutable transaction isolated sql driver for golang

arduino-ide - Arduino IDE

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

minimock - Powerful mock generation tool for Go programming language

emgo - Emgo: Bare metal Go (language for programming embedded systems)

counterfeiter - A tool for generating self-contained, type-safe test doubles in go