1{
2 lib,
3 fetchPypi,
4 buildPythonPackage,
5 poetry-core,
6 pythonRelaxDepsHook,
7 lxml,
8 docopt-ng,
9 typing-extensions,
10 importlib-metadata,
11 importlib-resources,
12 pytestCheckHook,
13 mock,
14}:
15
16buildPythonPackage rec {
17 pname = "rnginline";
18 version = "1.0.0";
19 pyproject = true;
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-JWqzs+OqOynIAWYVgGrZiuiCqObAgGe6rBt0DcP3U6E=";
24 };
25
26 pythonRelaxDeps = [
27 "docopt-ng"
28 "importlib-metadata"
29 "lxml"
30 ];
31
32 build-system = [ poetry-core ];
33
34 nativeBuildInputs = [ pythonRelaxDepsHook ];
35
36 dependencies = [
37 docopt-ng
38 lxml
39 typing-extensions
40 importlib-metadata
41 importlib-resources
42 ];
43
44 nativeCheckInputs = [
45 mock
46 pytestCheckHook
47 ];
48
49 pythonImportsCheck = [ "rnginline" ];
50
51 meta = with lib; {
52 description = "A Python library and command-line tool for loading multi-file RELAX NG schemas from arbitary URLs, and flattening them into a single RELAX NG schema";
53 homepage = "https://github.com/h4l/rnginline";
54 changelog = "https://github.com/h4l/rnginline/blob/${version}/CHANGELOG.md";
55 license = licenses.asl20;
56 maintainers = with maintainers; [ lesuisse ];
57 };
58}