# PyCasbin MongoDB Watcher
MongoDB watcher for [PyCasbin](https://github.com/casbin/pycasbin). It enables distributed policy synchronization across multiple Casbin instances using MongoDB Change Streams.
## Installation
```bash
pip install pycasbin-mongo-watcher
```
## Quick Start
```python
import casbin
from mongo_watcher import new_watcher
# Reload policy on updates
def on_update():
enforcer.load_policy()
# Create MongoDB watcher
watcher = new_watcher(
dsn="mongodb://localhost:27017",
db_name="casbin",
collection="casbin_watcher",
)
watcher.set_update_callback(on_update)
# Initialize Casbin enforcer
enforcer = casbin.Enforcer("path/to/model.conf", "path/to/policy.csv")
# Bind watcher to enforcer
enforcer.set_watcher(watcher)
```
## License
Apache-2.0. See [LICENSE](LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "pycasbin-mongo-watcher",
"maintainer": "PyCasbin Contributors",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "casbin, mongodb, watcher, rbac, abac, access-control, authorization",
"author": "PyCasbin Contributors",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/3d/f9/1fda75ae4802913fe7a3d1fd88364cf7f833b5f1523c8b615909455b78e7/pycasbin_mongo_watcher-0.1.0.tar.gz",
"platform": null,
"description": "# PyCasbin MongoDB Watcher\n\nMongoDB watcher for [PyCasbin](https://github.com/casbin/pycasbin). It enables distributed policy synchronization across multiple Casbin instances using MongoDB Change Streams.\n\n## Installation\n\n```bash\npip install pycasbin-mongo-watcher\n```\n\n## Quick Start\n\n```python\nimport casbin\nfrom mongo_watcher import new_watcher\n\n# Reload policy on updates\ndef on_update():\n enforcer.load_policy()\n\n# Create MongoDB watcher\nwatcher = new_watcher(\n dsn=\"mongodb://localhost:27017\",\n db_name=\"casbin\",\n collection=\"casbin_watcher\",\n)\nwatcher.set_update_callback(on_update)\n\n# Initialize Casbin enforcer\nenforcer = casbin.Enforcer(\"path/to/model.conf\", \"path/to/policy.csv\")\n# Bind watcher to enforcer\nenforcer.set_watcher(watcher)\n```\n\n## License\n\nApache-2.0. See [LICENSE](LICENSE).\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "MongoDB watcher for PyCasbin that enables distributed policy synchronization using MongoDB change streams",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://github.com/pycasbin/pycasbin-mongo-watcher",
"Homepage": "https://github.com/pycasbin/pycasbin-mongo-watcher",
"Issues": "https://github.com/pycasbin/pycasbin-mongo-watcher/issues",
"Repository": "https://github.com/pycasbin/pycasbin-mongo-watcher"
},
"split_keywords": [
"casbin",
" mongodb",
" watcher",
" rbac",
" abac",
" access-control",
" authorization"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "99ab4f24466eae8b72d0145a7e15d846b663e208f060f9c7d476e789e2e75da9",
"md5": "38ef7a232dfd89614d58da92afa60c28",
"sha256": "3972bb09e8cfdde16f27e8462014dd25052a393dca1dc61d6d0183199df43bff"
},
"downloads": -1,
"filename": "pycasbin_mongo_watcher-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "38ef7a232dfd89614d58da92afa60c28",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 8000,
"upload_time": "2025-11-06T13:29:29",
"upload_time_iso_8601": "2025-11-06T13:29:29.096415Z",
"url": "https://files.pythonhosted.org/packages/99/ab/4f24466eae8b72d0145a7e15d846b663e208f060f9c7d476e789e2e75da9/pycasbin_mongo_watcher-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3df91fda75ae4802913fe7a3d1fd88364cf7f833b5f1523c8b615909455b78e7",
"md5": "368ef9958b0cd7d7aa243d54997cb8c1",
"sha256": "5de503265caaaf1dc5240b39084dea0906bba7d7529004d93bdede0ad2aabc20"
},
"downloads": -1,
"filename": "pycasbin_mongo_watcher-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "368ef9958b0cd7d7aa243d54997cb8c1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 7368,
"upload_time": "2025-11-06T13:29:30",
"upload_time_iso_8601": "2025-11-06T13:29:30.369685Z",
"url": "https://files.pythonhosted.org/packages/3d/f9/1fda75ae4802913fe7a3d1fd88364cf7f833b5f1523c8b615909455b78e7/pycasbin_mongo_watcher-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-06 13:29:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pycasbin",
"github_project": "pycasbin-mongo-watcher",
"github_not_found": true,
"lcname": "pycasbin-mongo-watcher"
}