diff options
Diffstat (limited to 'devel/py-shandy-sqlfmt')
-rw-r--r-- | devel/py-shandy-sqlfmt/Makefile | 34 | ||||
-rw-r--r-- | devel/py-shandy-sqlfmt/distinfo | 3 | ||||
-rw-r--r-- | devel/py-shandy-sqlfmt/pkg-descr | 32 |
3 files changed, 69 insertions, 0 deletions
diff --git a/devel/py-shandy-sqlfmt/Makefile b/devel/py-shandy-sqlfmt/Makefile new file mode 100644 index 000000000000..08ac47ec12e2 --- /dev/null +++ b/devel/py-shandy-sqlfmt/Makefile @@ -0,0 +1,34 @@ +PORTNAME= shandy-sqlfmt +PORTVERSION= 0.26.0 +CATEGORIES= devel python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME:S/-/_/g}-${PORTVERSION} + +MAINTAINER= ume@FreeBSD.org +COMMENT= Sqlfmt formats your dbt SQL files so you don't have to +WWW= https://sqlfmt.com \ + https://github.com/tconbeer/sqlfmt + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}black>=0:devel/py-black@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}click>=8.0<9.0:devel/py-click@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0<4.0:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}platformdirs>=2.4<5.0:devel/py-platformdirs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.0<5.0:misc/py-tqdm@${PY_FLAVOR} + +USES= python:3.9+ +USE_PYTHON= autoplist pep517 + +NO_ARCH= yes + +.include <bsd.port.pre.mk> + +.if ${PYTHON_REL} < 31100 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}toml>=2.0<3.0:textproc/py-toml@${PY_FLAVOR} +.endif + +.include <bsd.port.post.mk> diff --git a/devel/py-shandy-sqlfmt/distinfo b/devel/py-shandy-sqlfmt/distinfo new file mode 100644 index 000000000000..b61c5035c55f --- /dev/null +++ b/devel/py-shandy-sqlfmt/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1748694868 +SHA256 (shandy_sqlfmt-0.26.0.tar.gz) = d95abd381640a846c71b0e2effb30d47f0b3eb5f69fb337fafe663634857f7a5 +SIZE (shandy_sqlfmt-0.26.0.tar.gz) = 62228 diff --git a/devel/py-shandy-sqlfmt/pkg-descr b/devel/py-shandy-sqlfmt/pkg-descr new file mode 100644 index 000000000000..d908af925830 --- /dev/null +++ b/devel/py-shandy-sqlfmt/pkg-descr @@ -0,0 +1,32 @@ +sqlfmt formats your dbt SQL files so you don't have to. It is similar +in nature to black, gofmt, and rustfmt (but for SQL). + +sqlfmt promotes collaboration. An auto-formatter makes it easier to +collaborate with your team and solicit contributions from new +people. You will never have to mention (or argue about) code style in +code reviews again. +sqlfmt is fast. Forget about formatting your code, and spend your time +on business logic instead. sqlfmt processes hundreds of files per +second and only operates on files that have changed since the last +run. +sqlfmt works with Jinja. It formats the code that users look at, and +therefore doesn't need to know anything about what happens after the +templates are rendered. +sqlfmt integrates with your workflow. As a CLI written in Python, it's +easy to install locally on any OS and run in CI. Plays well with dbt, +pre-commit, SQLFluff, VSCode, and GitHub Actions. sqlfmt powers the +dbt Cloud IDE's Format button. +sqlfmt is not configurable, except for line length. It enforces a +single style. sqlfmt maintains comments and some extra newlines, but +largely ignores all indentation and line breaks in the input file. + +sqlfmt is not a linter. It does not parse your code into an AST; it +just lexes it and tracks a small subset of tokens that impact +formatting. This lets us "do one thing and do it well:" sqlfmt is very +fast, and easier to maintain and extend than linters that need a full +SQL grammar. + +For now, sqlfmt only works on select, delete, grant, revoke, and +create function statements (which is all you need if you use sqlfmt +with a dbt project). It is being extended to additional DDL and +DML. Visit this tracking issue for more information. |