Skip to content

Commit aa7d076

Browse files
committed
start with the skeleton
1 parent ec1f398 commit aa7d076

File tree

6 files changed

+123
-1
lines changed

6 files changed

+123
-1
lines changed

.coveragerc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[run]
2+
include = casbin_sqlobject_adapter/*

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,6 @@ venv.bak/
102102

103103
# mypy
104104
.mypy_cache/
105+
106+
.idea
107+
.vscode

.travis.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
language: python
2+
python:
3+
- '3.4'
4+
- '3.5'
5+
- '3.6'
6+
- '3.7'
7+
- '3.8'
8+
install:
9+
- pip install -r requirements.txt
10+
- pip install coveralls
11+
script:
12+
- coverage run -m unittest discover -s tests -t tests
13+
after_success:
14+
- coveralls
15+
deploy:
16+
provider: pypi
17+
user: techlee
18+
password:
19+
secure: pTL4bF82LZ+Usn7rhm/7tPDz4QiF+RWuVyu+7aNtgqy4JZ5nCloIxohSxODCr58vYabAMecxwCsvCVm7DSWeJiYzFiyWMiEIRxmuc6LHSNnG8pYIHuj9qBcOdyshQbN5ALpuvnpFX2sUQ20hy3ge6cdFT4xLZAm4nzmNnR6e20MNOT675agdNfgDsjnNEBV7lCGfvpYtAJgaB95f8P24Q/WX6JevcrhCLLoLOnZdjt8RxvhV95QF03E3dI9c7d1NwFEZ/IbK2WfXjZ8rY2vYutscSlvag2r+N/ZVlOwTQvwWeZHXkDu6bRsV2mKC1Sq2J6q6mwtFm81YLB5A0RgMIJu+4Ec36Xl1HxRCBgDxDh4WfZkx/yZJsAMqTKVnFsImDt76MD6sDyemG/cPhli3qkAYazgdL2rv9l8KQWVwIhUTN4zOigzDpoEGIvk3DjrAoCoyP/9U5oagBnHSdL/e5jHFoJQ9CS8RRUYvsez6QWE7V06qRLfTSpxmxzvFrA0RENw6RcpabVmbFac/HdMyv9aFL8Z/bWHf2vkyAYUDBDiyFKKYcGWxTsS3L+fTDvyycfy8NJ3jSgloJiXH2FFsEJ03ZxgCIONNMw8gZ58gglJC0jJHZbzjIAl7oNcm+6S0T56y3H6Hb2zQk0eRD6qiY6RQZowc+HH9Is0ejNhW9zc=
20+
distributions: sdist bdist_wheel
21+
skip_existing: true
22+
on:
23+
tags: true
24+
python: '3.6'

README.md

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,60 @@
1-
# sqlobject-adapter
1+
SQLObject Adapter for PyCasbin
2+
====
3+
4+
[![Build Status](https://www.travis-ci.org/pycasbin/sqlobject-adapter.svg?branch=master)](https://www.travis-ci.org/pycasbin/sqlobject-adapter)
5+
[![Coverage Status](https://coveralls.io/repos/github/pycasbin/sqlobject-adapter/badge.svg)](https://coveralls.io/github/pycasbin/sqlobject-adapter)
6+
[![Version](https://img.shields.io/pypi/v/casbin_sqlobject_adapter.svg)](https://pypi.org/project/casbin_sqlobject_adapter/)
7+
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/casbin_sqlobject_adapter.svg)](https://pypi.org/project/casbin_sqlobject_adapter/)
8+
[![Pyversions](https://img.shields.io/pypi/pyversions/casbin_sqlobject_adapter.svg)](https://pypi.org/project/casbin_sqlobject_adapter/)
9+
[![Download](https://img.shields.io/pypi/dm/casbin_sqlobject_adapter.svg)](https://pypi.org/project/casbin_sqlobject_adapter/)
10+
[![License](https://img.shields.io/pypi/l/casbin_sqlobject_adapter.svg)](https://pypi.org/project/casbin_sqlobject_adapter/)
11+
12+
SQLObject Adapter is the [SQLObject](http://www.sqlobject.org/index.html) adapter for [PyCasbin](https://github.com/casbin/pycasbin). With this library, Casbin can load policy from SQLObject supported database or save policy to it.
13+
14+
The current supported databases are:
15+
16+
- PostgreSQL
17+
- MySQL
18+
- SQLite
19+
- Microsoft SQL Server
20+
- Firebird
21+
- Sybase
22+
- MAX DB
23+
- pyfirebirdsql
24+
25+
## Installation
26+
27+
```
28+
pip install casbin_sqlobject_adapter
29+
```
30+
31+
## Simple Example
32+
33+
```python
34+
import casbin_sqlobject_adapter
35+
import casbin
36+
37+
adapter = casbin_sqlobject_adapter.Adapter('sqlite:///test.db')
38+
39+
e = casbin.Enforcer('path/to/model.conf', adapter, True)
40+
41+
sub = "alice" # the user that wants to access a resource.
42+
obj = "data1" # the resource that is going to be accessed.
43+
act = "read" # the operation that the user performs on the resource.
44+
45+
if e.enforce(sub, obj, act):
46+
# permit alice to read data1casbin_sqlalchemy_adapter
47+
pass
48+
else:
49+
# deny the request, show an error
50+
pass
51+
```
52+
53+
54+
### Getting Help
55+
56+
- [PyCasbin](https://github.com/casbin/pycasbin)
57+
58+
### License
59+
60+
This project is licensed under the [Apache 2.0 license](LICENSE).

requirements.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
casbin>=0.8.4
2+
SQLObject>=3.8.0

setup.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import setuptools
2+
3+
desc_file = "README.md"
4+
5+
with open(desc_file, "r") as fh:
6+
long_description = fh.read()
7+
8+
setuptools.setup(
9+
name="casbin_sqlobject_adapter",
10+
version="0.1.0",
11+
author="TechLee",
12+
author_email="techlee@qq.com",
13+
description="SQLObject Adapter for PyCasbin",
14+
long_description=long_description,
15+
long_description_content_type="text/markdown",
16+
url="https://github.com/pycasbin/sqlobject-adapter",
17+
keywords=["casbin", "SQLObject", "casbin-adapter", "rbac", "access control", "abac", "acl", "permission"],
18+
packages=setuptools.find_packages(),
19+
install_requires=['casbin>=0.8.4', 'SQLObject>=3.8.0'],
20+
python_requires=">=3.4",
21+
license="Apache 2.0",
22+
classifiers=[
23+
"Programming Language :: Python :: 3.4",
24+
"Programming Language :: Python :: 3.5",
25+
"Programming Language :: Python :: 3.6",
26+
"Programming Language :: Python :: 3.7",
27+
"Programming Language :: Python :: 3.8",
28+
"License :: OSI Approved :: Apache Software License",
29+
"Operating System :: OS Independent",
30+
],
31+
data_files=[desc_file],
32+
)

0 commit comments

Comments
 (0)