| from os import path |
| |
| from setuptools import setup, find_packages |
| |
| desc_file = "README.md" |
| |
| here = path.abspath(path.dirname(__file__)) |
| |
| # Get the long description from the README file |
| with open(path.join(here, desc_file), encoding="utf-8") as f: |
| long_description = f.read() |
| |
| print(long_description) |
| |
| # get the dependencies and installs |
| with open(path.join(here, "requirements.in"), encoding="utf-8") as f: |
| all_reqs = f.read().split("\n") |
| |
| install_requires = [x.strip() for x in all_reqs if x.strip() and not x.startswith("#") and "git+" not in x] |
| dependency_links = [ |
| x.strip().replace("git+", "") for x in all_reqs if x.startswith("git+") |
| ] |
| |
| setup( |
| name="fastapi-casbin-auth", |
| author="Casbin", |
| author_email="admin@casbin.org", |
| description="An authorization middleware for FastAPI that supports ACL, RBAC, ABAC, based on PyCasbin", |
| long_description=long_description, |
| long_description_content_type="text/markdown", |
| url="https://github.com/officialpycasbin/fastapi-casbin-auth", |
| keywords=[ |
| "fastapi", |
| "starlette", |
| "middleware", |
| "pycasbin", |
| "casbin", |
| "auth", |
| "authz", |
| "acl", |
| "rbac", |
| "abac", |
| "access control", |
| "authorization", |
| "permission" |
| ], |
| packages=find_packages(exclude=["docs", "test*"]), |
| install_requires=install_requires, |
| python_requires=">=3.6", |
| data_files=[desc_file, "requirements.in", "requirements.txt"], |
| include_package_data=True, |
| dependency_links=dependency_links, |
| license="Apache 2.0", |
| classifiers=[ |
| "Programming Language :: Python :: 3.9", |
| "Programming Language :: Python :: 3.10", |
| "Programming Language :: Python :: 3.11", |
| "Programming Language :: Python :: 3.12", |
| "License :: OSI Approved :: Apache Software License", |
| "Operating System :: OS Independent", |
| ], |
| ) |