1{
2 lib,
3 assertpy,
4 buildPythonPackage,
5 fetchFromGitHub,
6 lark,
7 poetry-core,
8 pytestCheckHook,
9 pythonOlder,
10 regex,
11 typing-extensions,
12}:
13
14buildPythonPackage rec {
15 pname = "pycep-parser";
16 version = "0.5.1";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "gruebel";
23 repo = "pycep";
24 tag = version;
25 hash = "sha256-yCcJUN+gDeuifFoYyFsS5Ak/AYxLo0Q8edmhFYfi/eA=";
26 };
27
28 nativeBuildInputs = [ poetry-core ];
29
30 propagatedBuildInputs = [
31 lark
32 regex
33 typing-extensions
34 ];
35
36 nativeCheckInputs = [
37 assertpy
38 pytestCheckHook
39 ];
40
41 pythonImportsCheck = [ "pycep" ];
42
43 meta = with lib; {
44 description = "Python based Bicep parser";
45 homepage = "https://github.com/gruebel/pycep";
46 changelog = "https://github.com/gruebel/pycep/blob/${version}/CHANGELOG.md";
47 license = with licenses; [ asl20 ];
48 maintainers = with maintainers; [ fab ];
49 };
50}