README.md
# Protein for Elixir
***Multi-platform remote procedure call (RPC) system based on Protocol Buffers***
Features:
- Implement RPC services and clients for Elixir and Ruby platforms
- Call remote services using unified, simple client API
- Call to services for an immediate response or push non-blocking requests to async services
- Define services via unified, configurable DSL
- Define service input/outputs using the widely acclaimed Google Protocol Buffers format
- Transport your calls via HTTP or AMQP transports
Packages:
- [Protein for Elixir](http://github.com/surgeventures/protein-elixir)
- [Protein for Ruby](http://github.com/surgeventures/protein-ruby)
## Getting Started
Add `protein` as a dependency to your project in `mix.exs`:
```elixir
defp deps do
[{:protein, "~> x.x.x"}]
end
```
Then run `mix deps.get` to fetch it.
## Documentation
Visit documentation on [HexDocs](https://hexdocs.pm/protein) for a complete API reference.