Fix .md formating PiperOrigin-RevId: 495019683
diff --git a/docs/third_party.md b/docs/third_party.md index 267d9c9..a515b3b 100644 --- a/docs/third_party.md +++ b/docs/third_party.md
@@ -8,102 +8,112 @@ ## Programming Languages These are projects we know about implementing Protocol Buffers for other -programming languages: * Action Script: -https://code.google.com/p/protobuf-actionscript3/ * Action Script: -https://code.google.com/p/protoc-gen-as3/ * Action Script: -https://github.com/matrix3d/JProtoc * Action Script: -https://github.com/zhongfq/protobuf-as3/ * Ada: -https://github.com/reznikmm/protobuf * C: -https://github.com/protobuf-c/protobuf-c * C: https://koti.kapsi.fi/jpa/nanopb/ -* C: https://github.com/cloudwu/pbc/ * C: https://github.com/haberman/upb/wiki * -C: https://github.com/squidfunk/protobluff * C: -https://github.com/eerimoq/pbtools * C++: -https://github.com/protocolbuffers/protobuf (Google-official implementation) * -C++: https://github.com/yksten/struct2x * C++: https://EmbeddedProto.com * -C/C++: http://spbc.sf.net/ * C#: https://code.google.com/p/protobuf-csharp-port -* C#: https://silentorbit.com/protobuf/ * C#/.NET/WCF/VB: -https://code.google.com/p/protobuf-net/ * Clojure: -http://github.com/ninjudd/clojure-protobuf * Clojure: -https://github.com/clojusc/protobuf * Clojure: https://protojure.readthedocs.io -* Common Lisp: http://github.com/brown/protobuf * Common Lisp: -http://github.com/qitab/cl-protobuf * D: https://github.com/dcarp/protobuf-d * -D: https://github.com/msoucy/dproto * D: -https://github.com/opticron/ProtocolBuffer * Dart: -https://github.com/dart-lang/dart-protobuf (runtime) -https://github.com/dart-lang/dart-protoc-plugin (code generator) * Delphi: -http://sourceforge.net/projects/protobuf-delphi/ * Delphi: -http://fundementals.sourceforge.net/dl.html * Elixir: -https://github.com/jeremyong/exprotoc * Elixir: -https://github.com/tony612/protobuf-elixir * Elixir: -https://github.com/ahamez/protox * Elm: -https://github.com/tiziano88/elm-protobuf * Erlang: -https://github.com/tomas-abrahamsson/gpb * Erlang: http://piqi.org/ * Erlang: -https://github.com/basho/erlang_protobuffs (no longer maintained, use gpb -instead) * Hacklang/HHVM: https://github.com/y3llowcake/proto-hack * GDScript: -https://github.com/oniksan/godobuf (Godot v3 engine plugin) * Go: -https://github.com/golang/protobuf (Google-official implementation) * Go: -https://github.com/akunspy/gopbuf * Go: https://github.com/gogo/protobuf * -GopherJS: https://github.com/johanbrandhorst/protobuf * Haskell: -https://hackage.haskell.org/package/hprotoc * Haskell: -https://github.com/google/proto-lens (Google-unofficial implementation) * -Haskell: https://github.com/awakesecurity/proto3-suite (code generator) -https://github.com/awakesecurity/proto3-wire (binary serializer/deserializer) * -Haxe: https://github.com/Atry/protoc-gen-haxe * Java: -https://github.com/protocolbuffers/protobuf (Google-official implementation) * -Java/Android: https://github.com/square/wire * Java: -https://github.com/HebiRobotics/QuickBuffers/ * Java ME: -https://code.google.com/p/protobuf-javame/ * Java ME: -http://swingme.sourceforge.net/encode.shtml * Javascript: -https://code.google.com/p/protobuf-js/ * Javascript: -http://github.com/sirikata/protojs * Javascript: -https://github.com/dcodeIO/ProtoBuf.js * Javascript: -https://code.google.com/p/protobuf-for-node/ * Javascript: -https://code.google.com/p/protostuff/ * Javascript: -https://github.com/seishun/node-protoc-plugin (Node.js port of plugin.h) * -Javascript: https://github.com/seishun/node-protoc-gen-javascript (Node.js port -of the Google-official implementation) * Javascript: -https://github.com/ButterCam/sisyphus-js * Julia: -https://github.com/tanmaykm/ProtoBuf.jl * Kotlin: -https://github.com/marcoferrer/kroto-plus * Kotlin: -https://github.com/Kotlin/kotlinx.serialization * Kotlin: -https://github.com/ButterCam/sisyphus * Kotlin: -https://github.com/open-toast/protokt * Kotlin Multiplatform: -https://github.com/streem/pbandk * Lua: -https://code.google.com/p/protoc-gen-lua/ * Lua: -http://github.com/indygreg/lua-protobuf * Lua: -https://github.com/Neopallium/lua-pb * Matlab: -https://code.google.com/p/protobuf-matlab/ * Mercury: -https://code.google.com/p/protobuf-mercury/ * Objective C: -https://code.google.com/p/protobuf-objc/ * Objective C: -https://github.com/alexeyxo/protobuf-objc * OCaml: http://piqi.org/ * Perl: -http://groups.google.com/group/protobuf-perl * Perl: -https://metacpan.org/pod/Google::ProtocolBuffers * Perl: -https://metacpan.org/pod/Google::ProtocolBuffers::Dynamic * Perl/XS: -https://code.google.com/p/protobuf-perlxs/ * PHP: -https://code.google.com/p/pb4php/ * PHP: -https://github.com/allegro/php-protobuf/ * PHP: -https://github.com/chobie/php-protocolbuffers * Prolog: -http://www.swi-prolog.org/pldoc/package/protobufs.html * Purescript: -https://github.com/xc-jp/purescript-protobuf * Python: -https://github.com/protocolbuffers/protobuf (Google-official implementation) * -Python: https://github.com/eigenein/protobuf * Python: -https://github.com/danielgtaylor/python-betterproto * R: -http://cran.r-project.org/package=RProtoBuf * Ruby: -https://code.google.com/p/ruby-protobuf/ * Ruby: -http://github.com/mozy/ruby-protocol-buffers * Ruby: -https://github.com/bmizerany/beefcake/tree/master/lib/beefcake * Ruby: -https://github.com/localshred/protobuf * Rust: https://github.com/tokio-rs/prost -* Rust: https://github.com/stepancheg/rust-protobuf/ * Rust: -https://github.com/tafia/quick-protobuf * Scala: -http://github.com/jeffplaisance/scala-protobuf * Scala: -https://code.google.com/p/protobuf-scala * Scala: -https://github.com/SandroGrzicic/ScalaBuff * Scala: https://scalapb.github.io * -Solidity: https://github.com/celer-network/pb3-gen-sol * Swift: -https://github.com/alexeyxo/protobuf-swift * Swift: -https://github.com/apple/swift-protobuf/ * Typescript: -https://github.com/thesayyn/protoc-gen-ts * Typescript: -https://github.com/pbkit/pbkit * Vala: https://launchpad.net/protobuf-vala * -Visual Basic: https://code.google.com/p/protobuf-net/ +programming languages: + +* Action Script: https://code.google.com/p/protobuf-actionscript3/ +* Action Script: https://code.google.com/p/protoc-gen-as3/ +* Action Script: https://github.com/matrix3d/JProtoc +* Action Script: https://github.com/zhongfq/protobuf-as3/ +* Ada: https://github.com/reznikmm/protobuf +* C: https://github.com/protobuf-c/protobuf-c +* C: https://koti.kapsi.fi/jpa/nanopb/ +* C: https://github.com/cloudwu/pbc/ +* C: https://github.com/haberman/upb/wiki +* C: https://github.com/squidfunk/protobluff +* C: https://github.com/eerimoq/pbtools +* C++: https://github.com/protocolbuffers/protobuf (Google-official implementation) +* C++: https://github.com/yksten/struct2x +* C++: https://EmbeddedProto.com +* C/C++: http://spbc.sf.net/ +* C#: https://code.google.com/p/protobuf-csharp-port +* C#: https://silentorbit.com/protobuf/ +* C#/.NET/WCF/VB: https://code.google.com/p/protobuf-net/ +* Clojure: http://github.com/ninjudd/clojure-protobuf +* Clojure: https://github.com/clojusc/protobuf +* Clojure: https://protojure.readthedocs.io +* Common Lisp: http://github.com/brown/protobuf +* Common Lisp: http://github.com/qitab/cl-protobuf +* D: https://github.com/dcarp/protobuf-d +* D: https://github.com/msoucy/dproto +* D: https://github.com/opticron/ProtocolBuffer +* Dart: https://github.com/dart-lang/dart-protobuf (runtime) https://github.com/dart-lang/dart-protoc-plugin (code generator) +* Delphi: http://sourceforge.net/projects/protobuf-delphi/ +* Delphi: http://fundementals.sourceforge.net/dl.html +* Elixir: https://github.com/jeremyong/exprotoc +* Elixir: https://github.com/tony612/protobuf-elixir +* Elixir: https://github.com/ahamez/protox +* Elm: https://github.com/tiziano88/elm-protobuf +* Erlang: https://github.com/tomas-abrahamsson/gpb +* Erlang: http://piqi.org/ +* Erlang: https://github.com/basho/erlang_protobuffs (no longer maintained, use gpb instead) +* Hacklang/HHVM: https://github.com/y3llowcake/proto-hack +* GDScript: https://github.com/oniksan/godobuf (Godot v3 engine plugin) +* Go: https://github.com/golang/protobuf (Google-official implementation) +* Go: https://github.com/akunspy/gopbuf +* Go: https://github.com/gogo/protobuf +* GopherJS: https://github.com/johanbrandhorst/protobuf +* Haskell: https://hackage.haskell.org/package/hprotoc +* Haskell: https://github.com/google/proto-lens (Google-unofficial implementation) +* Haskell: https://github.com/awakesecurity/proto3-suite (code generator) https://github.com/awakesecurity/proto3-wire (binary serializer/deserializer) +* Haxe: https://github.com/Atry/protoc-gen-haxe +* Java: https://github.com/protocolbuffers/protobuf (Google-official implementation) +* Java/Android: https://github.com/square/wire +* Java: https://github.com/HebiRobotics/QuickBuffers/ +* Java ME: https://code.google.com/p/protobuf-javame/ +* Java ME: http://swingme.sourceforge.net/encode.shtml +* Javascript: https://code.google.com/p/protobuf-js/ +* Javascript: http://github.com/sirikata/protojs +* Javascript: https://github.com/dcodeIO/ProtoBuf.js +* Javascript: https://code.google.com/p/protobuf-for-node/ +* Javascript: https://code.google.com/p/protostuff/ +* Javascript: https://github.com/seishun/node-protoc-plugin (Node.js port of plugin.h) +* Javascript: https://github.com/seishun/node-protoc-gen-javascript (Node.js port of the Google-official implementation) +* Javascript: https://github.com/ButterCam/sisyphus-js +* Julia: https://github.com/tanmaykm/ProtoBuf.jl +* Kotlin: https://github.com/marcoferrer/kroto-plus +* Kotlin: https://github.com/Kotlin/kotlinx.serialization +* Kotlin: https://github.com/ButterCam/sisyphus +* Kotlin: https://github.com/open-toast/protokt +* Kotlin Multiplatform: https://github.com/streem/pbandk +* Lua: https://code.google.com/p/protoc-gen-lua/ +* Lua: http://github.com/indygreg/lua-protobuf +* Lua: https://github.com/Neopallium/lua-pb +* Matlab: https://code.google.com/p/protobuf-matlab/ +* Mercury: https://code.google.com/p/protobuf-mercury/ +* Objective C: https://code.google.com/p/protobuf-objc/ +* Objective C: https://github.com/alexeyxo/protobuf-objc +* OCaml: http://piqi.org/ +* Perl: http://groups.google.com/group/protobuf-perl +* Perl: https://metacpan.org/pod/Google::ProtocolBuffers +* Perl: https://metacpan.org/pod/Google::ProtocolBuffers::Dynamic +* Perl/XS: https://code.google.com/p/protobuf-perlxs/ +* PHP: https://code.google.com/p/pb4php/ +* PHP: https://github.com/allegro/php-protobuf/ +* PHP: https://github.com/chobie/php-protocolbuffers +* Prolog: http://www.swi-prolog.org/pldoc/package/protobufs.html +* Purescript: https://github.com/xc-jp/purescript-protobuf +* Python: https://github.com/protocolbuffers/protobuf (Google-official implementation) +* Python: https://github.com/eigenein/protobuf +* Python: https://github.com/danielgtaylor/python-betterproto +* R: http://cran.r-project.org/package=RProtoBuf +* Ruby: https://code.google.com/p/ruby-protobuf/ +* Ruby: http://github.com/mozy/ruby-protocol-buffers +* Ruby: https://github.com/bmizerany/beefcake/tree/master/lib/beefcake +* Ruby: https://github.com/localshred/protobuf +* Rust: https://github.com/tokio-rs/prost +* Rust: https://github.com/stepancheg/rust-protobuf/ +* Rust: https://github.com/tafia/quick-protobuf +* Scala: http://github.com/jeffplaisance/scala-protobuf +* Scala: https://code.google.com/p/protobuf-scala +* Scala: https://github.com/SandroGrzicic/ScalaBuff +* Scala: https://scalapb.github.io +* Solidity: https://github.com/celer-network/pb3-gen-sol +* Swift: https://github.com/alexeyxo/protobuf-swift +* Swift: https://github.com/apple/swift-protobuf/ +* Typescript: https://github.com/thesayyn/protoc-gen-ts +* Typescript: https://github.com/pbkit/pbkit +* Vala: https://launchpad.net/protobuf-vala +* Visual Basic: https://code.google.com/p/protobuf-net/ ## RPC Implementations