Skip to content

pycasbin/redis-watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4c0f580 · Mar 29, 2024

History

18 Commits
Mar 29, 2024
Mar 22, 2023
Jul 24, 2022
Aug 7, 2022
Jul 25, 2022
Oct 30, 2023
Oct 30, 2023
Mar 29, 2024
Apr 16, 2021
Mar 29, 2024
Oct 30, 2023
Mar 29, 2024
Apr 8, 2023

Repository files navigation

redis-watcher

GitHub Action Coverage Status Version PyPI - Wheel Pyversions Download Discord

redis-watcher is the Redis watcher for pycasbin. With this library, Casbin can synchronize the policy with the database in multiple enforcer instances.

Installation

pip install casbin-redis-watcher

Simple Example

import os
import casbin
from casbin_redis_watcher import new_watcher, WatcherOptions

def callback_function(event):
    print("update for remove filtered policy callback, event: {}".format(event))

def get_examples(path):
    examples_path = os.path.split(os.path.realpath(__file__))[0] + "/../examples/"
    return os.path.abspath(examples_path + path)

if __name__ == "main":
    test_option = WatcherOptions()
    test_option.host = "localhost"
    test_option.port = "6379"
    test_option.channel = "test"
    test_option.ssl = False
    test_option.optional_update_callback = callback_function
    w = new_watcher(test_option)
    
    e = casbin.Enforcer(
        get_examples("rbac_model.conf"), get_examples("rbac_policy.csv")
    )
    e.set_watcher(w)
    # then the callback function will be called when the policy is updated.
    e.save_policy()
   

Getting Help

License

This project is under Apache 2.0 License. See the LICENSE file for the full license text.