feat: replace declarative_base -> DeclarativeBase for sqlalchemy 2.0 migration (#65)

* Replace declarative_base -> DeclarativeBase for sqlalchemy 2.0 migration

* Update adapter.py

---------

Co-authored-by: Eric Luo <hsluoyz@qq.com>
1 file changed
tree: 95596248be13e09a363b3ee62b6580f2289e7455
  1. .github/
  2. casbin_sqlalchemy_adapter/
  3. tests/
  4. .coveragerc
  5. .gitignore
  6. .releaserc.json
  7. CHANGELOG.md
  8. LICENSE
  9. README.md
  10. requirements.txt
  11. setup.cfg
  12. setup.py
README.md

SQLAlchemy Adapter for PyCasbin

GitHub Actions Coverage Status Version PyPI - Wheel Pyversions Download License

SQLAlchemy Adapter is the SQLAlchemy adapter for PyCasbin. With this library, Casbin can load policy from SQLAlchemy supported database or save policy to it.

Based on Officially Supported Databases, The current supported databases are:

  • PostgreSQL
  • MySQL
  • SQLite
  • Oracle
  • Microsoft SQL Server
  • Firebird
  • Sybase

Installation

pip install casbin_sqlalchemy_adapter

Simple Example

import casbin_sqlalchemy_adapter
import casbin

adapter = casbin_sqlalchemy_adapter.Adapter('sqlite:///test.db')

e = casbin.Enforcer('path/to/model.conf', adapter)

sub = "alice"  # the user that wants to access a resource.
obj = "data1"  # the resource that is going to be accessed.
act = "read"  # the operation that the user performs on the resource.

if e.enforce(sub, obj, act):
    # permit alice to read data1
    pass
else:
    # deny the request, show an error
    pass

Getting Help

License

This project is licensed under the Apache 2.0 license.