git: ad476a8a41b7 - main - databases/py-dbt-duckdb: new port
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 22 Oct 2023 09:15:38 UTC
The branch main has been updated by pi: URL: https://cgit.FreeBSD.org/ports/commit/?id=ad476a8a41b70043fc739fc01b32e7be910d6362 commit ad476a8a41b70043fc739fc01b32e7be910d6362 Author: Pat Maddox <pat@patmaddox.com> AuthorDate: 2023-10-22 09:14:47 +0000 Commit: Kurt Jaeger <pi@FreeBSD.org> CommitDate: 2023-10-22 09:15:28 +0000 databases/py-dbt-duckdb: new port dbt-duckdb DuckDB is an embedded database, similar to SQLite, but designed for OLAP-style analytics. It is crazy fast and allows you to read and write data stored in CSV, JSON, and Parquet files directly, without requiring you to load them into the database first. dbt is the best way to manage a collection of data transformations written in SQL or Python for analytics and data science. dbt-duckdb is the project that ties DuckDB and dbt together, allowing you to create a Modern Data Stack In A Box or a simple and powerful data lakehouse with Python. PR: 274584 Author: Pat Maddox <pat@patmaddox.com> --- databases/Makefile | 1 + databases/py-dbt-duckdb/Makefile | 36 ++++++++++++++++++++++++++++++++++++ databases/py-dbt-duckdb/distinfo | 3 +++ databases/py-dbt-duckdb/pkg-descr | 11 +++++++++++ 4 files changed, 51 insertions(+) diff --git a/databases/Makefile b/databases/Makefile index 34b75fde9742..ec438db417c0 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -757,6 +757,7 @@ SUBDIR += py-databases SUBDIR += py-dbf SUBDIR += py-dbt-core + SUBDIR += py-dbt-duckdb SUBDIR += py-dbt-semantic-interfaces SUBDIR += py-dbt-snowflake SUBDIR += py-dbutils diff --git a/databases/py-dbt-duckdb/Makefile b/databases/py-dbt-duckdb/Makefile new file mode 100644 index 000000000000..94027b4a77e9 --- /dev/null +++ b/databases/py-dbt-duckdb/Makefile @@ -0,0 +1,36 @@ +PORTNAME= dbt-duckdb +PORTVERSION= 1.6.0 +CATEGORIES= databases python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= pat@patmaddox.com +COMMENT= DuckDB adapter plugin for dbt (data build tool) +WWW= https://github.com/jwills/dbt-duckdb + +LICENSE= APACHE20 + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dbt-core>=1.6.0,<2:databases/py-dbt-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}duckdb>=0.7.0:databases/py-duckdb@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent distutils + +# py-dbt-duckdb attempts to install __init__.py and the generated bytecode into +# these directories which conflicts with those installed by py-dbt-core. We need to +# delete these files and their entries in the generated plist post-install. +COMMON_DIRS= dbt \ + dbt/adapters \ + dbt/include + +post-stage: +.for dir in ${COMMON_DIRS:S|/|\/|g} + @${REINPLACE_CMD} -e '/.*\/${dir}\/__init__.py/d' \ + -e '/.*\/${dir}\/__pycache__.*/d' \ + ${WRKDIR}/.PLIST.pymodtmp +.endfor +.for dir in ${COMMON_DIRS} + @(cd ${STAGEDIR}${PYTHON_SITELIBDIR}/${dir} && ${RM} -r __pycache__ __init__.py) +.endfor + +.include <bsd.port.mk> diff --git a/databases/py-dbt-duckdb/distinfo b/databases/py-dbt-duckdb/distinfo new file mode 100644 index 000000000000..fdf6ecf16212 --- /dev/null +++ b/databases/py-dbt-duckdb/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1691548339 +SHA256 (dbt-duckdb-1.6.0.tar.gz) = e36776d6ee7aa1554a236b7ffa93c556c4419920134a3801feef7c64b706db16 +SIZE (dbt-duckdb-1.6.0.tar.gz) = 45586 diff --git a/databases/py-dbt-duckdb/pkg-descr b/databases/py-dbt-duckdb/pkg-descr new file mode 100644 index 000000000000..577c7c7003d8 --- /dev/null +++ b/databases/py-dbt-duckdb/pkg-descr @@ -0,0 +1,11 @@ +dbt-duckdb + +DuckDB is an embedded database, similar to SQLite, but designed for OLAP-style +analytics. It is crazy fast and allows you to read and write data stored in CSV, +JSON, and Parquet files directly, without requiring you to load them into the +database first. + +dbt is the best way to manage a collection of data transformations written in +SQL or Python for analytics and data science. dbt-duckdb is the project that +ties DuckDB and dbt together, allowing you to create a Modern Data Stack In A +Box or a simple and powerful data lakehouse with Python.