caravan-rpc (Ruby) — Pre-release placeholder
Runtime SDK for the Caravan application-definition compiler.
Status: 0.0.1 pre-release placeholder. This release reserves the RubyGems name. The functional SDK lands at 0.1.0.
Install
gem install caravan-rpc -v 0.0.1
or in a Gemfile:
gem "caravan-rpc", "~> 0.0.1"
What is Caravan?
Caravan is an application-definition compiler. The same source code deploys across packaging (inproc / container / lambda) × placement (compose / Fargate / Lambda / Batch) × composition (oss-local / cloud-managed) axes by yaml-line changes alone — no source-code edits.
Read the thesis for the full pitch and the PoC RPC SDK spec for what this package will become.
When 0.1.0 ships
require "caravan/rpc"
class Embedder
def (text); end
end
# provider side
class LocalEmbedder < Embedder
def (text)
# ...
end
end
Caravan::Rpc.provide(Embedder, LocalEmbedder.new)
# caller side — dispatches inproc / http / lambda per CARAVAN_RPC_PEERS
= Caravan::Rpc.client(Embedder)
vec = .("hello")
The 0.0.1 placeholder provides require-clean stubs but Caravan::Rpc.client raises NotImplementedError — it's not functional yet.
Roadmap
- 0.0.1 (this release): reserve RubyGems name, require-clean stubs.
- 0.1.0: functional runtime.
wagon,provide,clientwork withCARAVAN_RPC_PEERSenv-var dispatch. See development_plan.md.
License
Apache-2.0. See LICENSE.