--- id: casbin-async-sqlalchemy-adapter version: "1.17.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # casbin-async-sqlalchemy-adapter — Asynchronous SQLAlchemy Adapter for PyCasbin License: permissive · Maintenance: active · Downloads: 139.9K/mo ## What it is and what it does This package bridges PyCasbin's access-control enforcement engine with SQLAlchemy's async ORM, allowing you to store and retrieve authorization policies from a database instead of keeping them in memory or configuration files. It wraps SQLAlchemy's async session management to handle policy persistence transparently, supporting multiple database backends (PostgreSQL, MySQL, SQLite, Oracle, SQL Server, MariaDB, Firebird) through SQLAlchemy's driver ecosystem. You define your access-control model in a Casbin configuration file, then use this adapter to load policies from a database table and save policy changes back to it. The adapter integrates with async/await workflows, making it suitable for async web frameworks and services. It also supports advanced features like soft deletion (marking records as deleted rather than removing them), external session management for transaction control, and Alembic migration integration for schema management. Use it for: - Store RBAC (role-based access control) policies in PostgreSQL or MySQL for a web service, loading them at startup and updating them dynamically. - Implement soft-deleted audit trails of permission changes by marking policy records as deleted instead of removing them permanently. - Manage complex ABAC (attribute-based access control) rules in SQLite for a desktop or embedded application with async policy enforcement. - Integrate policy persistence into an existing Alembic migration workflow to version-control Casbin rule schema changes. - Use externally managed SQLAlchemy sessions to coordinate policy updates with other database transactions in a single atomic operation. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides an asynchronous SQLAlchemy adapter for PyCasbin, enabling policy-based access control rules to be loaded from and persisted to databases like PostgreSQL, MySQL, SQLite, Oracle, and others. Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. Install it if you need to persist Casbin policies in a database and are already using async SQLAlchemy; it is the standard adapter for that use case. Not necessary if you store policies in files or memory. ## Install pip install casbin-async-sqlalchemy-adapter uv add casbin-async-sqlalchemy-adapter poetry add casbin-async-sqlalchemy-adapter ## Installing casbin-async-sqlalchemy-adapter Before you install: Low friction: pure Python wheel with only two runtime dependencies (SQLAlchemy and pycasbin). Active maintenance with a recent release (2025-12-10) and commits as of 2026-08-06. License in practice: Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and note any modifications. Quickstart: pip install casbin-async-sqlalchemy-adapter import casbin_async_sqlalchemy_adapter import casbin adapter = casbin_async_sqlalchemy_adapter.Adapter('sqlite+aiosqlite:///test.db') e = casbin.AsyncEnforcer('path/to/model.conf', adapter) if e.enforce("alice", "data1", "read"): # permit alice to read data1 pass Requires an async-compatible SQLAlchemy driver (e.g., aiosqlite for SQLite, aiomysql for MySQL) and a Casbin model configuration file. Verify before relying: - Whether the adapter's soft-deletion and Alembic integration features are production-tested or primarily documented examples. - Performance characteristics when handling large policy datasets or high-concurrency access patterns. - Whether external session management is required for optimal transaction control in production deployments. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 139.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags async casbin sqlalchemy adapter, policy storage database, rbac access control, async permission management, casbin policy persistence, sqlalchemy async adapter, acl abac enforcement, access-control, async-orm, policy-engine [View on SkillFed](https://skillfed.io/packages/casbin-async-sqlalchemy-adapter) · [View on PyPI](https://pypi.org/project/casbin-async-sqlalchemy-adapter/)