70 lines
1.5 KiB
Nix
70 lines
1.5 KiB
Nix
|
{ lib
|
||
|
, fetchFromGitHub
|
||
|
, fetchpatch
|
||
|
, python3Packages
|
||
|
}:
|
||
|
|
||
|
with python3Packages;
|
||
|
|
||
|
buildPythonApplication rec {
|
||
|
pname = "parquet-tools";
|
||
|
version = "0.2.9";
|
||
|
disabled = pythonOlder "3.8";
|
||
|
|
||
|
format = "pyproject";
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
owner = "ktrueda";
|
||
|
repo = "parquet-tools";
|
||
|
rev = version;
|
||
|
sha256 = "0aw0x7lhagp4dwis09fsizr7zbhdpliav0ns5ll5qny7x4m6rkfy";
|
||
|
};
|
||
|
|
||
|
patches = [
|
||
|
(fetchpatch {
|
||
|
url = "https://github.com/ktrueda/parquet-tools/commit/1c70a07e1c9f17c8890d23aad3ded5dd6c706cb3.patch";
|
||
|
sha256 = "08j1prdqj8ksw8gwiyj7ivshk82ahmywbzmywclw52nlnniig0sa";
|
||
|
})
|
||
|
];
|
||
|
|
||
|
postPatch = ''
|
||
|
substituteInPlace pyproject.toml \
|
||
|
--replace 'thrift = "^0.13.0"' 'thrift = "*"' \
|
||
|
--replace 'halo = "^0.0.29"' 'halo = "*"'
|
||
|
substituteInPlace tests/test_inspect.py \
|
||
|
--replace "parquet-cpp-arrow version 5.0.0" "parquet-cpp-arrow version ${pyarrow.version}" \
|
||
|
--replace "serialized_size: 2222" "serialized_size: 2221"
|
||
|
'';
|
||
|
|
||
|
nativeBuildInputs = [ poetry-core ];
|
||
|
|
||
|
propagatedBuildInputs = [
|
||
|
boto3
|
||
|
colorama
|
||
|
halo
|
||
|
pandas
|
||
|
pyarrow
|
||
|
tabulate
|
||
|
thrift
|
||
|
];
|
||
|
|
||
|
checkInputs = [
|
||
|
pytestCheckHook
|
||
|
moto
|
||
|
pytest-mock
|
||
|
];
|
||
|
|
||
|
disabledTests = [
|
||
|
# these tests try to read python code as parquet and fail
|
||
|
"test_local_wildcard"
|
||
|
"test_local_and_s3_wildcard_files"
|
||
|
];
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "A CLI tool for parquet files";
|
||
|
homepage = "https://github.com/ktrueda/parquet-tools";
|
||
|
license = licenses.mit;
|
||
|
maintainers = with maintainers; [ cpcloud ];
|
||
|
};
|
||
|
}
|