[`fav_core`](https://crates.io/crates/fav_core) is the core library of [`fav`](https://github.com/kingwingfly/fav)(A cli tool to download remote resources and keep a local state in protobuf).
[`fav_utils`](https://crates.io/crates/fav_utils) provides the utils for [`fav_cli`](https://crates.io/crates/fav_cli), which now only support [bilibili](https://www.bilibili.com)(Like Chinese Youtube). You can see it as a example for using this crate.
All you need is to define data structures with [`protobuf`](https://protobuf.dev) like [this example](https://github.com/kingwingfly/fav/blob/dev/fav_utils/proto/bili.proto).
And impl traits in `fav_core` like `Res`, `Set`, `Sets`, `Status`, `Attr` to defined resources, and `AuthOps`, `SetOps`, `SetsOps` to operate resources.
After that, many `Ext` method will be available for you to use, helping you **batchly** operating resource, getting subset of resource, and so on.
Examples can be find [here](https://github.com/kingwingfly/fav).
To derive trait for code generated by protobuf, see [example](https://github.com/kingwingfly/fav/blob/dev/fav_utils/build.rs).