Telepact is a thin but powerful RPC framework built on JSON.
- ✨ Plain JSON is the default - Clients never need to worry about Telepact libraries or generated code. Tool optionality is real, not theoretical.
- 🎯 JSON as a Query Language - No need to invent a second query language. Telepact has simple built-in options to trim responses according to client needs.
- ⚡ Binary without the toolchain tax - Have you ever seen an efficient binary protocol
that didn't require code generation? With Telepact, binary encodings are negotiated
opaquely at runtime, so any client that wants binary can have it from any Telepact server
with a simple flag.
- (Made possible with MessagePack ❤️)
- 🔗 Hypermedia without HTTP - API calls can return functions with pre-filled arguments. Who said links had to be urls?
- ⚖️ An API schema you can trust - No more out-of-band documentation. No more API schemas hidden from clients. Telepact puts the API schema front and center, powering doc introspection, integration simulations, and code generation.
Modern innovations, without the tradeoffs 🚀
No query params. No binary field ids. No required client libraries.
It's just JSON in, and JSON out.
Schema:
- fn.helloWorld: {}
->:
- Ok_:
msg: stringRequest:
[{}, {"fn.helloWorld": {}}]Response:
[{}, {"Ok_": {"msg": "Hello world!"}}]Check out the full-stack example.
Start with the docs landing page for guides, examples, library references, SDK tools, version information, and further reading. The published docs are available at telepact.github.io/telepact.
Telepact is licensed under the Apache License, Version 2.0. See LICENSE for the full license text. See NOTICE for additional information regarding copyright ownership.