1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 setuptools,
6 formulaic,
7 click,
8 num2words,
9 numpy,
10 scipy,
11 pandas,
12 nibabel,
13 bids-validator,
14 sqlalchemy,
15 pytestCheckHook,
16 versioneer,
17}:
18
19buildPythonPackage rec {
20 pname = "pybids";
21 version = "0.16.5";
22 pyproject = true;
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-5MAp5CYlOh1WxsXOE/LHVNm/K4VGFaLKWaaKYwKjQIM=";
27 };
28
29 pythonRelaxDeps = [
30 "formulaic"
31 "sqlalchemy"
32 ];
33
34 nativeBuildInputs = [
35 setuptools
36 versioneer
37 ] ++ versioneer.optional-dependencies.toml;
38
39 propagatedBuildInputs = [
40 bids-validator
41 click
42 formulaic
43 nibabel
44 num2words
45 numpy
46 pandas
47 scipy
48 sqlalchemy
49 ];
50
51 pythonImportsCheck = [ "bids" ];
52
53 nativeCheckInputs = [ pytestCheckHook ];
54
55 disabledTests = [
56 # Test looks for missing data
57 "test_config_filename"
58 # Regression associated with formulaic >= 0.6.0
59 # (see https://github.com/bids-standard/pybids/issues/1000)
60 "test_split"
61 # AssertionError, TypeError
62 "test_run_variable_collection_bad_length_to_df_all_dense_var"
63 "test_extension_initial_dot"
64 "test_to_df"
65 ];
66
67 meta = with lib; {
68 description = "Python tools for querying and manipulating BIDS datasets";
69 homepage = "https://github.com/bids-standard/pybids";
70 changelog = "https://github.com/bids-standard/pybids/blob/${version}/CHANGELOG.rst";
71 license = licenses.mit;
72 maintainers = [ ];
73 mainProgram = "pybids";
74 };
75}