python312Packages.textual: 0.82.0 -> 0.86.1, harlequin: 1.25.0 -> 1.25.2 (#356997)

This commit is contained in:
Fabian Affolter 2024-11-20 22:27:13 +01:00 committed by GitHub
commit c378776f2a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 120 additions and 74 deletions

View File

@ -6,49 +6,48 @@
testers, testers,
nix-update-script, nix-update-script,
versionCheckHook, versionCheckHook,
glibcLocales,
withPostgresAdapter ? true, withPostgresAdapter ? true,
withBigQueryAdapter ? true, withBigQueryAdapter ? true,
}: }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "harlequin"; pname = "harlequin";
version = "1.25.0"; version = "1.25.2";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tconbeer"; owner = "tconbeer";
repo = "harlequin"; repo = "harlequin";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-iRl91GqYigD6t0aVVShBg835yhlPxgfZcQCdAGUoc1k="; hash = "sha256-ov9pMvFzJAMfOM7JeSgnp6dZ424GiRaH7W5OCKin9Jk=";
}; };
build-system = with python3Packages; [ pythonRelaxDeps = [ "textual" ];
poetry-core
]; build-system = with python3Packages; [ poetry-core ];
nativeBuildInputs = [ glibcLocales ];
dependencies = dependencies =
with python3Packages; with python3Packages;
[ [
click
duckdb
importlib-metadata
numpy
packaging
platformdirs
questionary
rich-click
sqlfmt
textual textual
textual-fastdatatable textual-fastdatatable
textual-textarea textual-textarea
click
rich-click
duckdb
sqlfmt
platformdirs
importlib-metadata
tomlkit tomlkit
questionary
numpy
packaging
] ]
++ lib.optionals withPostgresAdapter [ harlequin-postgres ] ++ lib.optionals withPostgresAdapter [ harlequin-postgres ]
++ lib.optionals withBigQueryAdapter [ harlequin-bigquery ]; ++ lib.optionals withBigQueryAdapter [ harlequin-bigquery ];
pythonRelaxDeps = [
"textual"
];
pythonImportsCheck = [ pythonImportsCheck = [
"harlequin" "harlequin"
"harlequin_duckdb" "harlequin_duckdb"
@ -60,17 +59,37 @@ python3Packages.buildPythonApplication rec {
updateScript = nix-update-script { }; updateScript = nix-update-script { };
}; };
nativeCheckInputs = [ preCheck = ''
versionCheckHook export HOME=$(mktemp -d)
'';
nativeCheckInputs =
[
versionCheckHook
]
++ (with python3Packages; [
pytest-asyncio
pytestCheckHook
]);
disabledTests = [
# Tests require network access
"test_connect_extensions"
"test_connect_prql"
];
disabledTestPaths = [
# Tests requires more setup
"tests/functional_tests/"
]; ];
meta = { meta = {
description = "The SQL IDE for Your Terminal"; description = "The SQL IDE for Your Terminal";
homepage = "https://harlequin.sh"; homepage = "https://harlequin.sh";
mainProgram = "harlequin"; changelog = "https://github.com/tconbeer/harlequin/releases/tag/v${version}";
license = lib.licenses.mit; license = lib.licenses.mit;
mainProgram = "harlequin";
maintainers = with lib.maintainers; [ pcboy ]; maintainers = with lib.maintainers; [ pcboy ];
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
changelog = "https://github.com/tconbeer/harlequin/releases/tag/v${version}";
}; };
} }

View File

@ -1,17 +1,20 @@
{ {
lib, lib,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
importlib-metadata,
black, black,
poetry-core, buildPythonPackage,
click, click,
fetchFromGitHub,
fetchPypi,
gitpython,
importlib-metadata,
jinja2, jinja2,
platformdirs, platformdirs,
poetry-core,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
tomli, tomli,
tqdm, tqdm,
gitpython,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -19,6 +22,8 @@ buildPythonPackage rec {
version = "0.23.3"; version = "0.23.3";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tconbeer"; owner = "tconbeer";
repo = "sqlfmt"; repo = "sqlfmt";
@ -26,9 +31,9 @@ buildPythonPackage rec {
hash = "sha256-kbluj29P1HwTaCYv1Myslak9s8FFm2e/eHdGgi3H4i0="; hash = "sha256-kbluj29P1HwTaCYv1Myslak9s8FFm2e/eHdGgi3H4i0=";
}; };
build-system = [ pythonRelaxDeps = [ "platformdirs" ];
poetry-core
]; build-system = [ poetry-core ];
dependencies = [ dependencies = [
click click
@ -40,25 +45,26 @@ buildPythonPackage rec {
]; ];
optional-dependencies = { optional-dependencies = {
jinjafmt = [ jinjafmt = [ black ];
black sqlfmt_primer = [ gitpython ];
];
sqlfmt_primer = [
gitpython
];
}; };
pythonRelaxDeps = [ nativeCheckInputs = [
"platformdirs" pytest-asyncio
]; pytestCheckHook
] ++ lib.flatten (builtins.attrValues optional-dependencies);
pythonImportsCheck = [ preCheck = ''
"sqlfmt" export HOME=$(mktemp -d)
]; export PATH="$PATH:$out/bin";
'';
pythonImportsCheck = [ "sqlfmt" ];
meta = { meta = {
description = "Sqlfmt formats your dbt SQL files so you don't have to"; description = "Sqlfmt formats your dbt SQL files so you don't have to";
homepage = "https://github.com/tconbeer/sqlfmt"; homepage = "https://github.com/tconbeer/sqlfmt";
changelog = "https://github.com/tconbeer/sqlfmt/blob/${src.rev}/CHANGELOG.md";
license = lib.licenses.asl20; license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ pcboy ]; maintainers = with lib.maintainers; [ pcboy ];
mainProgram = "sqlfmt"; mainProgram = "sqlfmt";

View File

@ -1,50 +1,63 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchFromGitHub,
poetry-core, poetry-core,
pyarrow, pyarrow,
pytz, pytz,
textual, textual,
tzdata, tzdata,
pythonOlder,
polars, polars,
pytest-asyncio,
pytest-textual-snapshot,
pytestCheckHook,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "textual-fastdatatable"; pname = "textual-fastdatatable";
version = "0.9.0"; version = "0.10.0";
pyproject = true; pyproject = true;
src = fetchPypi { disabled = pythonOlder "3.8";
pname = "textual_fastdatatable";
inherit version; src = fetchFromGitHub {
hash = "sha256-AS3SiwetCHkCMu8H81xbp5QvN/2GCvMlWgU4qZKvBRU="; owner = "tconbeer";
repo = "textual-fastdatatable";
rev = "refs/tags/v${version}";
hash = "sha256-r1evN69etFn21TkXPLuAh1OxIsurDDyPyYOKQR5uUos=";
}; };
build-system = [ build-system = [ poetry-core ];
poetry-core
];
dependencies = [ dependencies = [
pyarrow pyarrow
pytz pytz
textual textual
tzdata tzdata
]; ] ++ textual.optional-dependencies.syntax;
optional-dependencies = { optional-dependencies = {
polars = [ polars = [ polars ];
polars
];
}; };
pythonImportsCheck = [ nativeCheckInputs = [
"textual_fastdatatable" pytest-asyncio
pytest-textual-snapshot
pytestCheckHook
] ++ lib.flatten (builtins.attrValues optional-dependencies);
pythonImportsCheck = [ "textual_fastdatatable" ];
disabledTestPaths = [
# Tests are comparing CLI output
"tests/snapshot_tests/test_snapshots.py"
]; ];
meta = { meta = {
description = "A performance-focused reimplementation of Textual's DataTable widget, with a pluggable data storage backend"; description = "A performance-focused reimplementation of Textual's DataTable widget, with a pluggable data storage backend";
homepage = "https://pypi.org/project/textual-fastdatatable/"; homepage = "https://github.com/tconbeer/textual-fastdatatable";
changelog = "https://github.com/tconbeer/textual-fastdatatable/releases/tag/v${version}";
license = lib.licenses.mit; license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pcboy ]; maintainers = with lib.maintainers; [ pcboy ];
}; };

View File

@ -1,39 +1,47 @@
{ {
lib, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchFromGitHub,
poetry-core, poetry-core,
pyperclip, pyperclip,
pytest-asyncio,
pytestCheckHook,
pythonOlder,
textual, textual,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "textual-textarea"; pname = "textual-textarea";
version = "0.14.2"; version = "0.14.4";
pyproject = true; pyproject = true;
src = fetchPypi { disabled = pythonOlder "3.8";
pname = "textual_textarea";
inherit version; src = fetchFromGitHub {
hash = "sha256-AJU7BBoev6pBrLhvbfF4I7l+E8YnO5jCD5OIsNf6NW0="; owner = "tconbeer";
repo = "textual-textarea";
rev = "refs/tags/v${version}";
hash = "sha256-tmbSCU1VgxR9aXG22UVpweD71dVmhKSRBTDm1Gf33jM=";
}; };
build-system = [ build-system = [ poetry-core ];
poetry-core
];
dependencies = [ dependencies = [
pyperclip pyperclip
textual textual
] ++ textual.optional-dependencies.syntax;
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
]; ];
pythonImportsCheck = [ pythonImportsCheck = [ "textual_textarea" ];
"textual_textarea"
];
meta = { meta = {
description = "A text area (multi-line input) with syntax highlighting for Textual"; description = "A text area (multi-line input) with syntax highlighting for Textual";
homepage = "https://pypi.org/project/textual-textarea/"; homepage = "https://github.com/tconbeer/textual-textarea";
changelog = "https://github.com/tconbeer/textual-textarea/releases/tag/v${version}";
license = lib.licenses.mit; license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pcboy ]; maintainers = with lib.maintainers; [ pcboy ];
}; };

View File

@ -20,7 +20,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "textual"; pname = "textual";
version = "0.82.0"; version = "0.86.1";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "Textualize"; owner = "Textualize";
repo = "textual"; repo = "textual";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-belpoXQ+CkTchK+FjI/Ur8v4cNgzX39xLdNfPCwaU6E="; hash = "sha256-5msCFv79nAmoaP9gZxV3DXMLTyVlSFb+qyA5jHWwc50=";
}; };
build-system = [ poetry-core ]; build-system = [ poetry-core ];