pycapnp
capnproto-dotnetcore
pycapnp | capnproto-dotnetcore | |
---|---|---|
1 | 1 | |
450 | 141 | |
1.8% | - | |
7.2 | 0.0 | |
23 days ago | 10 months ago | |
Cython | C# | |
BSD 2-clause "Simplified" License | GNU General Public License v3.0 or later |
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.
pycapnp
-
Cap'n Proto 0.9
While it is technically not 1.0, I have yet to see a breakage and I have been using it since 0.7.
The language maturity one, I can concur though. The rust implementation has been fine, but pycapnp was plagued with memory leaks until recently, and curre tly has performance problems[1] that makes it unsuitable for my use case.
As for the level 2+ protocol, it looks cool on paper, but it looks like a lot of added complexity to address an advanced use case.
The language itself has generics and sum types, which makes it much better at modelling the problem domain than protobuf.
[1]: https://github.com/capnproto/pycapnp/issues/256
capnproto-dotnetcore
-
Cap'n Proto 0.9
Apparently at C# implementation supports promise pipelining: https://github.com/c80k/capnproto-dotnetcore#features
It is missing many nice-to-have features however and is also apparently unmaintained, with the last release 16 months ago...
What are some alternatives?
drpc - drpc is a lightweight, drop-in replacement for gRPC
Cap'n Proto - Cap'n Proto serialization/RPC system - core tools and C++ library
twirp - A simple RPC framework with protobuf service definitions
Sandstorm - Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.