| # etcd-watcher |
| |
| [](https://github.com/officialpycasbin/etcd-watcher/actions/workflows/release.yml) |
| [](https://coveralls.io/github/officialpycasbin/etcd-watcher) |
| [](https://pypi.org/project/etcd-watcher/) |
| [](https://pypi.org/project/etcd-watcher/) |
| [](https://pypi.org/project/etcd-watcher/) |
| [](https://pypi.org/project/etcd-watcher/) |
| [](https://discord.gg/S5UjpzGZjN) |
| |
| Etcd Watcher is the [Etcd](https://github.com/coreos/etcd) watcher for [pycasbin](https://github.com/casbin/pycasbin). With this library, Casbin can synchronize the policy with the database in multiple enforcer instances. |
| |
| ## Installation |
| |
| pip install etcd-watcher |
| |
| ## Simple Example |
| |
| ```python |
| import casbin |
| from etcd_watcher import new_watcher |
| |
| def update_callback_func(event): |
| ... |
| |
| watcher = new_watcher(endpoints=["localhost", 2379], keyname="/casbin") |
| watcher.set_update_callback(update_callback_func) |
| |
| e = casbin.Enforcer( |
| get_examples("rbac_model.conf"), get_examples("rbac_policy.csv") |
| ) |
| |
| e.set_watcher(watcher) |
| # update_callback_func will be called |
| e.save_policy() |
| ``` |
| |
| ## Getting Help |
| |
| - [Casbin](https://github.com/casbin/pycasbin) |
| |
| ## License |
| |
| This project is under Apache 2.0 License. See the [LICENSE](LICENSE) file for the full license text. |