nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 fetchpatch,
6 pytestCheckHook,
7 python-snappy,
8 setuptools,
9 thriftpy2,
10}:
11
12buildPythonPackage rec {
13 pname = "parquet";
14 version = "1.3.1";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "jcrobak";
19 repo = "parquet-python";
20 tag = "v${version}";
21 hash = "sha256-WVDffYKGsyepK4w1d4KUUMmxB6a6ylTbJvG79Bt5G6o=";
22 };
23
24 patches = [
25 # Refactor deprecated unittest aliases, https://github.com/jcrobak/parquet-python/pull/83
26 (fetchpatch {
27 name = "unittest-aliases.patch";
28 url = "https://github.com/jcrobak/parquet-python/commit/746bebd1e84d8945a3491e1ae5e44102ff534592.patch";
29 hash = "sha256-4awxlzman/YMfOz1WYNR+mVn1ixGku9sqlaMJ1QITYs=";
30 })
31 ];
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 python-snappy
37 thriftpy2
38 ];
39
40 nativeCheckInputs = [ pytestCheckHook ];
41
42 disabledTests = [
43 # Fails with AttributeError
44 "test_bson"
45 "testFromExample"
46 ];
47
48 disabledTestPaths = [
49 # Test is outdated
50 "test/test_read_support.py"
51 ];
52
53 pythonImportsCheck = [ "parquet" ];
54
55 meta = {
56 description = "Python implementation of the parquet columnar file format";
57 homepage = "https://github.com/jcrobak/parquet-python";
58 changelog = "https://github.com/jcrobak/parquet-python/releases/tag/${src.tag}";
59 license = lib.licenses.bsd2;
60 maintainers = with lib.maintainers; [ fab ];
61 mainProgram = "parquet";
62 };
63}