CommunityNews

CommunityNews

Pie: A toolkit for creating plugins for Go applications

Why is it called pie?

Because if you pronounce API like “a pie”, then all this consuming and serving of APIs becomes a lot more palatable. Also, pies are the ultimate pluggable interface - depending on what’s inside, you can get dinner, dessert, a snack, or even breakfast. Plus, then I get to say that plugins in Go are as easy as… well, you know.

If you have to explain it to your boss, just say it’s an acronym for Plug In Executables. (but it’s not, really)

About Pie

Plugins using this toolkit and the applications managing those plugins communicate via RPC over the plugin application’s Stdin and Stdout.

Functions in this package with the prefix New are intended to be used by the plugin to set up its end of the communication. Functions in this package with the prefix Start are intended to be used by the main application to set up its end of the communication and start a plugin executable.

This thread was posted by one of our members via one of our news source trackers.

/go

Where Next?

Popular Backend topics Top

mafinar
A friend and I implemented a few algorithms in Dart and set them up in a repository. Thought I’d share it here.
New
CommunityNews
Runtime and compiler performance is out of this world. New features include better error handling, a more powerful API, cross-compilation...
New
mudasobwa
Tarearbol provides a handy helper to work with many similar processes under the supervision of Tarearbol.DynamicManager. To build a supe...
New
First poster: bot
An online Zig compiler inspired by Go and Rust. Contribute to gsquire/zig-play development by creating an account on GitHub. https://zi...
New
New
First poster: bot
A little over a year ago I created the rib static site generator in Haskell based on Shake and ghcid. Later that year I built Neuron (...
New
CommunityNews
Rhizome is a paedagogical just-in-time compiler (JIT) for Ruby, implemented in pure Ruby. It’s not really designed to be used. It’s desig...
New
fi_mihej
I’ve released “InterProcessPyObjects” Python package. It provides high-performance and seamless sharing and modification of Python object...
New
crirvine
To my knowledge, up until now, all Business Process Management (BPM) platforms have been Java based. If you are a Java developer and have...
New
fabforms
I would like to announce updates to fabform.io our form backend service for developers
New

Other popular topics Top

Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
AstonJ
I have seen the keycaps I want - they are due for a group-buy this week but won’t be delivered until October next year!!! :rofl: The Ser...
New
Exadra37
I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New
mafinar
Crystal recently reached version 1. I had been following it for awhile but never got to really learn it. Most languages I picked up out o...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New