blob: 09566dc15aad2af6f01b503b024173751a1827f5 [file] [log] [blame]
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",
],
)