chore(release): 0.3.0 [skip ci]

# [0.3.0](https://github.com/pycasbin/postgresql-watcher/compare/v0.2.0...v0.3.0) (2024-03-29)

### Features

* upgrade CI Node.js version to 20 ([8c31f0d](https://github.com/pycasbin/postgresql-watcher/commit/8c31f0df9f95cbc00c955c83c56f12934af30ff8))
2 files changed
tree: b4fd7050088b2249048784f67f41ef768e58c56b
  1. .github/
  2. examples/
  3. postgresql_watcher/
  4. tests/
  5. .gitignore
  6. .releaserc.json
  7. CHANGELOG.md
  8. dev_requirements.txt
  9. LICENSE
  10. README.md
  11. requirements.txt
  12. setup.cfg
  13. setup.py
README.md

postgresql-watcher

Build Status Coverage Status Version PyPI - Wheel Pyversions Download Discord

Casbin watcher based on PostgreSQL for monitoring updates to casbin policies

Installation

pip install casbin-postgresql-watcher

Basic Usage Example

With Flask-authz

from flask_authz import CasbinEnforcer
from postgresql_watcher import PostgresqlWatcher
from flask import Flask
from casbin.persist.adapters import FileAdapter

casbin_enforcer = CasbinEnforcer(app, adapter)
watcher = PostgresqlWatcher(host=HOST, port=PORT, user=USER, password=PASSWORD, dbname=DBNAME)
watcher.set_update_callback(casbin_enforcer.e.load_policy)
casbin_enforcer.set_watcher(watcher)

Basic Usage Example With SSL Enabled

See PostgresQL documentation for full details of SSL parameters.

With Flask-authz

from flask_authz import CasbinEnforcer
from postgresql_watcher import PostgresqlWatcher
from flask import Flask
from casbin.persist.adapters import FileAdapter

casbin_enforcer = CasbinEnforcer(app, adapter)
watcher = PostgresqlWatcher(host=HOST, port=PORT, user=USER, password=PASSWORD, dbname=DBNAME, sslmode="verify_full", sslcert=SSLCERT, sslrootcert=SSLROOTCERT, sslkey=SSLKEY)
watcher.set_update_callback(casbin_enforcer.e.load_policy)
casbin_enforcer.set_watcher(watcher)