diff --git a/www/Makefile b/www/Makefile index 0cf35f0886f6..d95646eedf2b 100644 --- a/www/Makefile +++ b/www/Makefile @@ -1588,6 +1588,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..e4d76b1de9c1 --- /dev/null +++ b/www/py-fastapi-users/Makefile @@ -0,0 +1,44 @@ +PORTNAME= fastapi-users +PORTVERSION= 6.1.1 +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 + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fastapi>=0:www/py-fastapi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}passlib>=0:security/py-passlib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}databases>=0:databases/py-databases@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}deprecated>=1.2.12:devel/py-deprecated@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}makefun>=1.11.2:devel/py-makefun@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyjwt>=2.1.0:www/py-pyjwt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}email-validator>=0:mail/py-email-validator@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>=0:devel/py-pytest-asyncio@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}httpx-oauth>=0:www/py-httpx-oauth@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}asgi-lifespan>=0:devel/py-asgi-lifespan@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pymongo>=0:databases/pymongo@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ormar>=0.10.1:databases/py-ormar@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}asynctest>=0:devel/py-asynctest@${PY_FLAVOR} + +USES= python:3.7+ +USE_PYTHON= autoplist distutils + +TEST_ENV= PYTHONPATH=${WRKSRC}/src + +NO_ARCH= yes + +# 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>=0: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..bf9031649ace --- /dev/null +++ b/www/py-fastapi-users/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1626889393 +SHA256 (fastapi-users-6.1.1.tar.gz) = 6b4ae936bbe967bb41babc17a1eac8dedff3237153b96a661a11098ceec20a5c +SIZE (fastapi-users-6.1.1.tar.gz) = 84818 diff --git a/www/py-fastapi-users/pkg-descr b/www/py-fastapi-users/pkg-descr new file mode 100644 index 000000000000..0881f5ff6fb3 --- /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/frankie567/fastapi-users