pycasbin-mongo-watcher


Namepycasbin-mongo-watcher JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryMongoDB watcher for PyCasbin that enables distributed policy synchronization using MongoDB change streams
upload_time2025-11-06 13:29:30
maintainerPyCasbin Contributors
docs_urlNone
authorPyCasbin Contributors
requires_python>=3.9
licenseApache-2.0
keywords casbin mongodb watcher rbac abac access-control authorization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 4.34190s