1{ lib
2, black
3, buildPythonPackage
4, cachecontrol
5, fetchPypi
6, importlib-resources
7, lockfile
8, mistune
9, mypy
10, pytestCheckHook
11, pythonOlder
12, rdflib
13, ruamel-yaml
14, setuptools
15, setuptools-scm
16}:
17
18buildPythonPackage rec {
19 pname = "schema-salad";
20 version = "8.4.20230808163024";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-ai4vv6EFX4yTR8sgRspiG+M8a8oa83LIlJPGX7q+Kd0=";
28 };
29
30 nativeBuildInputs = [
31 setuptools-scm
32 ];
33
34 propagatedBuildInputs = [
35 cachecontrol
36 importlib-resources
37 lockfile
38 mistune
39 mypy
40 rdflib
41 ruamel-yaml
42 setuptools # needs pkg_resources at runtime
43 ] ++ cachecontrol.optional-dependencies.filecache;
44
45 nativeCheckInputs = [
46 pytestCheckHook
47 ] ++ passthru.optional-dependencies.pycodegen;
48
49 preCheck = ''
50 rm tox.ini
51 '';
52
53 disabledTests = [
54 # Setup for these tests requires network access
55 "test_secondaryFiles"
56 "test_outputBinding"
57 # Test requires network
58 "test_yaml_tab_error"
59 "test_bad_schemas"
60 ];
61
62 pythonImportsCheck = [
63 "schema_salad"
64 ];
65
66 passthru.optional-dependencies = {
67 pycodegen = [
68 black
69 ];
70 };
71
72 meta = with lib; {
73 description = "Semantic Annotations for Linked Avro Data";
74 homepage = "https://github.com/common-workflow-language/schema_salad";
75 changelog = "https://github.com/common-workflow-language/schema_salad/releases/tag/${version}";
76 license = with licenses; [ asl20 ];
77 maintainers = with maintainers; [ veprbl ];
78 # https://github.com/common-workflow-language/schema_salad/issues/721
79 broken = versionAtLeast mistune.version "2.1";
80 };
81}