Metadata-Version: 2.1
Name: casbin-peewee-adapter
Version: 0.0.2
Summary: Peewee Adapter for PyCasbin
Home-page: https://github.com/shblhy/peewee-adapter
Author: Huang Yan
Author-email: hyor@foxmail.com
License: Apache 2.0
Keywords: casbin,Peewee,casbin-adapter,rbac,access control,abac,acl,permission
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.3
Description-Content-Type: text/markdown
Requires-Dist: casbin (>=0.2)
Requires-Dist: peewee (>=3.1.0)

Peewee Adapter for PyCasbin
====

[![Build Status](https://www.travis-ci.org/pycasbin/peewee-adapter.svg?branch=master)](https://www.travis-ci.org/pycasbin/peewee-adapter)
[![Coverage Status](https://coveralls.io/repos/github/pycasbin/peewee-adapter/badge.svg)](https://coveralls.io/github/pycasbin/peewee-adapter)
[![Version](https://img.shields.io/pypi/v/casbin_peewee_adapter.svg)](https://pypi.org/project/casbin_peewee_adapter/)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/casbin_peewee_adapter.svg)](https://pypi.org/project/casbin_peewee_adapter/)
[![Pyversions](https://img.shields.io/pypi/pyversions/casbin_peewee_adapter.svg)](https://pypi.org/project/casbin_peewee_adapter/)
[![Download](https://img.shields.io/pypi/dm/casbin_peewee_adapter.svg)](https://pypi.org/project/casbin_peewee_adapter/)
[![License](https://img.shields.io/pypi/l/casbin_peewee_adapter.svg)](https://pypi.org/project/casbin_peewee_adapter/)

Peewee Adapter is the [Peewee](http://docs.peewee-orm.com/en/latest/) adapter for [PyCasbin](https://github.com/casbin/pycasbin). With this library, Casbin can load policy from Peewee supported database or save policy to it.

Based on [Officially Supported Databases](http://docs.peewee-orm.com/en/latest/), The current supported databases are:

- PostgreSQL
- MySQL
- SQLite

## Installation

```
pip install casbin_peewee_adapter
```

## Simple Example

```python
import casbin_peewee_adapter
import casbin
import peewee
DATABAEE = peewee.SqliteDatabase('db.sqlite3')
adapter = casbin_peewee_adapter.Adapter(database=DATABAEE)

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

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 data1casbin_peewee_adapter
    pass
else:
    # deny the request, show an error
    pass
```


### Getting Help

- [PyCasbin](https://github.com/casbin/pycasbin)

### License

This project is licensed under the [Apache 2.0 license](LICENSE).


