git: d025e5c68e7e - main - databases/py-databases: add port: Async database support for Python
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Dec 2021 02:59:07 UTC
The branch main has been updated by tagattie: URL: https://cgit.FreeBSD.org/ports/commit/?id=d025e5c68e7e9a9634fc8f2dc3d7ba129c148d20 commit d025e5c68e7e9a9634fc8f2dc3d7ba129c148d20 Author: Goran Mekić <meka@tilda.center> AuthorDate: 2021-12-30 02:19:13 +0000 Commit: Hiroki Tagato <tagattie@FreeBSD.org> CommitDate: 2021-12-30 02:58:27 +0000 databases/py-databases: add port: Async database support for Python Databases gives you simple asyncio support for a range of databases. It allows you to make queries using the powerful SQLAlchemy Core expression language, and provides support for PostgreSQL, MySQL, and SQLite. Databases is suitable for integrating against any async Web framework, such as Starlette, Sanic, Responder, Quart, aiohttp, Tornado, or FastAPI. WWW: https://github.com/encode/databases PR: 257313 Reported by: Goran Mekić <meka@tilda.center> (new maintainer) Reviewed by: koobs --- databases/Makefile | 1 + databases/py-databases/Makefile | 51 +++++++++++++++++++++++++++++ databases/py-databases/distinfo | 3 ++ databases/py-databases/files/patch-setup.py | 11 +++++++ databases/py-databases/pkg-descr | 9 +++++ 5 files changed, 75 insertions(+) diff --git a/databases/Makefile b/databases/Makefile index 8243c1fa738f..d36d4dea764e 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -775,6 +775,7 @@ SUBDIR += py-cassandra-driver SUBDIR += py-caterva SUBDIR += py-couchdb + SUBDIR += py-databases SUBDIR += py-dbf SUBDIR += py-dbutils SUBDIR += py-fakeredis diff --git a/databases/py-databases/Makefile b/databases/py-databases/Makefile new file mode 100644 index 000000000000..376f5dbac05a --- /dev/null +++ b/databases/py-databases/Makefile @@ -0,0 +1,51 @@ +PORTNAME= databases +DISTVERSION= 0.5.3 +CATEGORIES= databases python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= meka@tilda.center +COMMENT= Async database support for Python + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.md + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlalchemy14>=0:databases/py-sqlalchemy14@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiomysql>0:databases/py-aiomysql@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}aiopg>0:databases/py-aiopg@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}async_timeout>0:devel/py-async_timeout@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}asyncpg>0:databases/py-asyncpg@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}starlette>=0:www/py-starlette@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} + +USES= python:3.6+ +USE_PYTHON= autoplist concurrent distutils + +# USE_GITHUB= yes +# GH_ACCOUNT= encode + +NO_ARCH= yes + +OPTIONS_GROUP= DATABASES +OPTIONS_GROUP_DATABASES= MYSQL PGSQL SQLITE +OPTIONS_DEFAULT= SQLITE +DATABASES_DESC= Database Support + +MYSQL_USES= mysql +MYSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiomysql>0:databases/py-aiomysql@${PY_FLAVOR} +PGSQL_USES= pgsql +PGSQL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiopg>0:databases/py-aiopg@${PY_FLAVOR} +SQLITE_USES= sqlite +SQLITE_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}aiosqlite>0:databases/py-aiosqlite@${PY_FLAVOR} + +# do-test: +# cd ${WRKSRC} && ${SETENV} ${TEST_ENV} TEST_DATABASE_URLS="sqlite:///testsuite" ${PYTHON_CMD} -m pytest -v -rs -o addopts= + +.include <bsd.port.pre.mk> + +.if ${PYTHON_REL} < 30700 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}aiocontextvars>=0:devel/py-aiocontextvars@${PY_FLAVOR} +.endif + +.include <bsd.port.post.mk> diff --git a/databases/py-databases/distinfo b/databases/py-databases/distinfo new file mode 100644 index 000000000000..c4eb89faba27 --- /dev/null +++ b/databases/py-databases/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1640769505 +SHA256 (databases-0.5.3.tar.gz) = b69d74ee0b47fa30bb6e76db0c58da998e973393259d29215d8fb29352162bd6 +SIZE (databases-0.5.3.tar.gz) = 15152 diff --git a/databases/py-databases/files/patch-setup.py b/databases/py-databases/files/patch-setup.py new file mode 100644 index 000000000000..2e6e2f595899 --- /dev/null +++ b/databases/py-databases/files/patch-setup.py @@ -0,0 +1,11 @@ +--- setup.py.orig 2021-09-05 21:12:23 UTC ++++ setup.py +@@ -47,7 +47,7 @@ setup( + author_email="tom@tomchristie.com", + packages=get_packages("databases"), + package_data={"databases": ["py.typed"]}, +- data_files=[("", ["LICENSE.md"])], ++ # data_files=[("", ["LICENSE.md"])], + install_requires=['sqlalchemy>=1.4,<1.5', 'aiocontextvars;python_version<"3.7"'], + extras_require={ + "postgresql": ["asyncpg"], diff --git a/databases/py-databases/pkg-descr b/databases/py-databases/pkg-descr new file mode 100644 index 000000000000..d02c2a8a5026 --- /dev/null +++ b/databases/py-databases/pkg-descr @@ -0,0 +1,9 @@ +Databases gives you simple asyncio support for a range of databases. + +It allows you to make queries using the powerful SQLAlchemy Core expression +language, and provides support for PostgreSQL, MySQL, and SQLite. + +Databases is suitable for integrating against any async Web framework, such as +Starlette, Sanic, Responder, Quart, aiohttp, Tornado, or FastAPI. + +WWW: https://github.com/encode/databases