# API to generate `.rs` files
This API does not require `protoc` command present in `$PATH`.
```rust
extern crate protoc_rust;
fn main() {
protobuf_codegen_pure::Codegen::new()
.out_dir("src/protos")
.inputs(&["protos/a.proto", "protos/b.proto"])
.include("protos")
.run()
.expect("Codegen failed.");
}
```
And in `Cargo.toml`:
```toml
[build-dependencies]
protobuf-codegen-pure = "2"
```
It is advisable that `protobuf-codegen-pure` build-dependecy version be the same as
`protobuf` dependency.
The alternative is to use [`protoc-rust`](https://docs.rs/protoc-rust/=2) crate
which uses `protoc` command for parsing (so it uses the same parser
Google is using in their protobuf implementations).
# Version 2
This is documentation for version 2 of the crate.
In version 3, this API is moved to
[`protobuf-codegen` crate](https://docs.rs/protobuf-codegen/%3E=3.0.0-alpha).