diff --git a/databases/Makefile b/databases/Makefile index aa0275924444..627b716449fd 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -776,6 +776,7 @@ SUBDIR += py-mycli SUBDIR += py-mysql-connector-python SUBDIR += py-mysqlclient + SUBDIR += py-ormar SUBDIR += py-partd SUBDIR += py-peewee SUBDIR += py-peewee_migrate diff --git a/databases/py-ormar/Makefile b/databases/py-ormar/Makefile new file mode 100644 index 000000000000..1a6644f7642f --- /dev/null +++ b/databases/py-ormar/Makefile @@ -0,0 +1,32 @@ +PORTNAME= ormar +DISTVERSION= 0.10.14 +CATEGORIES= databases python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= meka@tilda.center +COMMENT= Simple async ORM with fastapi in mind and pydantic validation + +LICENSE= MIT + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pydantic>=1.6.1:devel/py-pydantic@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}sqlalchemy13>=1.3.18:databases/py-sqlalchemy13@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}databases>=0.3.2:databases/py-databases@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>=3.7:devel/py-typing-extensions@${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}fastapi>=0:www/py-fastapi@${PY_FLAVOR} + +USES= python:3.6+ +USE_PYTHON= distutils autoplist concurrent + +USE_GITHUB= yes +GH_ACCOUNT= collerek + +NO_ARCH= yes + +# Tests require newer pytest +# do-test: + # cd ${WRKSRC} && ${SETENV} ${TEST_ENV} TEST_DATABASE_URLS="sqlite:///testsuite" ${PYTHON_CMD} -m pytest -v -rs -o addopts= + +.include diff --git a/databases/py-ormar/distinfo b/databases/py-ormar/distinfo new file mode 100644 index 000000000000..0903c0463833 --- /dev/null +++ b/databases/py-ormar/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1626870407 +SHA256 (collerek-ormar-0.10.14_GH0.tar.gz) = 2bb7b5f957f023b0b6e1cd457c2f265e0269546cf95385a90317d397283bd3ce +SIZE (collerek-ormar-0.10.14_GH0.tar.gz) = 331890 diff --git a/databases/py-ormar/files/patch-setup.py b/databases/py-ormar/files/patch-setup.py new file mode 100644 index 000000000000..5076779ba5f2 --- /dev/null +++ b/databases/py-ormar/files/patch-setup.py @@ -0,0 +1,10 @@ +--- setup.py.orig 2021-07-21 15:31:00 UTC ++++ setup.py +@@ -61,7 +61,6 @@ setup( + include_package_data=True, + zip_safe=False, + python_requires=">=3.6", +- data_files=[("", ["LICENSE.md"])], + install_requires=[ + "databases>=0.3.2,<0.4.4", + "pydantic>=1.6.1,!=1.7,!=1.7.1,!=1.7.2,!=1.7.3,!=1.8,!=1.8.1,<=1.8.2", diff --git a/databases/py-ormar/pkg-descr b/databases/py-ormar/pkg-descr new file mode 100644 index 000000000000..38f2ef1d47a9 --- /dev/null +++ b/databases/py-ormar/pkg-descr @@ -0,0 +1,13 @@ +The ormar package is an async mini ORM for Python, with support for Postgres, +MySQL, and SQLite. + +The main benefit of using ormar are: +* getting an async ORM that can be used with async frameworks (fastapi, + starlette etc.) +* getting just one model to maintain - you don't have to maintain pydantic and + other orm model (sqlalchemy, peewee, gino etc.) + +The goal was to create a simple ORM that can be used directly (as request and +response models) with fastapi that bases it's data validation on pydantic. + +WWW: https://github.com/collerek/ormar