diff --git a/www/Makefile b/www/Makefile index 2fa152986ed3..0a1f59bacb72 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1609,6 +1609,7 @@ SUBDIR += py-fake-useragent SUBDIR += py-falcon SUBDIR += py-fastapi + SUBDIR += py-fastapi-users SUBDIR += py-feedgenerator SUBDIR += py-flask SUBDIR += py-flask-admin diff --git a/www/py-fastapi-users/Makefile b/www/py-fastapi-users/Makefile new file mode 100644 index 000000000000..bcb10db6a8a5 --- /dev/null +++ b/www/py-fastapi-users/Makefile @@ -0,0 +1,60 @@ +PORTNAME= fastapi-users +PORTVERSION= 8.1.2 +CATEGORIES= www devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= meka@tilda.center +COMMENT= Ready-to-use and customizable users management for FastAPI + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bcrypt>=3.1.0:security/py-bcrypt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}email-validator>=1.1.0,<1.2:mail/py-email-validator@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}fastapi>=0.65.2,<0.71.0:www/py-fastapi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}makefun>=1.11.2,<1.14:devel/py-makefun@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}passlib>=0:security/py-passlib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyjwt>=2.1.0:www/py-pyjwt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-multipart>=0.0.5:www/py-python-multipart@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgi-lifespan>=0:devel/py-asgi-lifespan@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}asynctest>=0:devel/py-asynctest@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx-oauth>=0:www/py-httpx-oauth@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ormar>=0.9.5,<0.11.0:databases/py-ormar@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pymongo>=0:databases/pymongo@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0:devel/py-pytest-asyncio@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} + +USES= python:3.7+ +USE_PYTHON= autoplist distutils + +TEST_ENV= PYTHONPATH=${WRKSRC}/src + +NO_ARCH= yes + +OPTIONS_DEFINE= OAUTH +OPTIONS_GROUP= DATABASES +OPTIONS_GROUP_DATABASES= ORMAR SQLALCHEMY +OPTIONS_DEFAULT= ORMAR +DATABASES_DESC= Database Support + +OAUTH_DESC= Authentication support via OAuth +ORMAR_DESC= Support for SQL database through Ormar +SQLALCHEMY_DESC= Support for SQL database through SQLAlchemy + +OAUTH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx-oauth>=0.3,<0.4:www/py-httpx-oauth@${PY_FLAVOR} +ORMAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ormar>=0.9.5,<0.11.0:databases/py-ormar@${PY_FLAVOR} +SQLALCHEMY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}databases>=0.3.0,<0.5:databases/py-databases@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=1.4.0:databases/py-aiosqlite@${PY_FLAVOR} + +# Tests require tortoise and newer motor +# do-test: + # cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest -v -rs -o addopts= + +.include + +.if ${PYTHON_REL} < 30800 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.7.4.3:devel/py-typing-extensions@${PY_FLAVOR} +.endif + +.include diff --git a/www/py-fastapi-users/distinfo b/www/py-fastapi-users/distinfo new file mode 100644 index 000000000000..5cbb998789c1 --- /dev/null +++ b/www/py-fastapi-users/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1640948315 +SHA256 (fastapi-users-8.1.2.tar.gz) = 8ddbaccb7ab0df73cf89693ff1a47d876c98a902bdddb96e67a5f41574463152 +SIZE (fastapi-users-8.1.2.tar.gz) = 88605 diff --git a/www/py-fastapi-users/pkg-descr b/www/py-fastapi-users/pkg-descr new file mode 100644 index 000000000000..74857534c461 --- /dev/null +++ b/www/py-fastapi-users/pkg-descr @@ -0,0 +1,19 @@ +Add quickly a registration and authentication system to your FastAPI project. +FastAPI Users is designed to be as customizable and adaptable as possible. +Features: + * Extensible base user model + * Ready-to-use register, login, reset password and verify e-mail routes + * Ready-to-use social OAuth2 login flow + * Dependency callables to inject current user in route + * Pluggable password validation + * Customizable database backend + * SQLAlchemy async backend included thanks to encode/databases + * MongoDB async backend included thanks to mongodb/motor + * Tortoise ORM backend included + * ormar backend included + * Multiple customizable authentication backends + * JWT authentication backend included + * Cookie authentication backend included + * Full OpenAPI schema support, even with several authentication backends + +WWW: https://github.com/fastapi-users/fastapi-users