1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 markuppy,
6 odfpy,
7 openpyxl,
8 pandas,
9 pytestCheckHook,
10 pytest-cov-stub,
11 pythonOlder,
12 pyyaml,
13 setuptools-scm,
14 tabulate,
15 unicodecsv,
16 xlrd,
17 xlwt,
18}:
19
20buildPythonPackage rec {
21 pname = "tablib";
22 version = "3.8.0";
23 format = "pyproject";
24
25 disabled = pythonOlder "3.9";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-lNi83GWnFaACSm1bcBpfMeRb0VkmnmLHNzHeefBI2ys=";
30 };
31
32 nativeBuildInputs = [ setuptools-scm ];
33
34 optional-dependencies = {
35 all = [
36 markuppy
37 odfpy
38 openpyxl
39 pandas
40 pyyaml
41 tabulate
42 xlrd
43 xlwt
44 ];
45 cli = [ tabulate ];
46 html = [ markuppy ];
47 ods = [ odfpy ];
48 pandas = [ pandas ];
49 xls = [
50 xlrd
51 xlwt
52 ];
53 xlsx = [ openpyxl ];
54 yaml = [ pyyaml ];
55 };
56
57 nativeCheckInputs = [
58 pandas
59 pytestCheckHook
60 pytest-cov-stub
61 unicodecsv
62 ];
63
64 disabledTestPaths = [
65 # test_tablib needs MarkupPy, which isn't packaged yet
66 "tests/test_tablib.py"
67 ];
68
69 pythonImportsCheck = [ "tablib" ];
70
71 meta = with lib; {
72 description = "Format-agnostic tabular dataset library";
73 homepage = "https://tablib.readthedocs.io/";
74 changelog = "https://github.com/jazzband/tablib/raw/v${version}/HISTORY.md";
75 license = licenses.mit;
76 maintainers = [ ];
77 };
78}