1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, importlib-metadata 5, markdown-it-py 6, poetry-core 7, pytestCheckHook 8, pythonOlder 9, setuptools 10, tomli 11, typing-extensions 12}: 13 14buildPythonPackage rec { 15 pname = "mdformat"; 16 version = "0.7.16"; 17 format = "pyproject"; 18 19 disabled = pythonOlder "3.7"; 20 21 src = fetchFromGitHub { 22 owner = "executablebooks"; 23 repo = pname; 24 rev = version; 25 sha256 = "sha256-6MWUkvZp5CYUWsbMGXM2gudjn5075j5FIuaNnCrgRNs="; 26 }; 27 28 nativeBuildInputs = [ 29 poetry-core 30 setuptools 31 ]; 32 33 propagatedBuildInputs = [ 34 markdown-it-py 35 tomli 36 ] ++ lib.optionals (pythonOlder "3.10") [ 37 importlib-metadata 38 ] ++ lib.optionals (pythonOlder "3.7") [ 39 typing-extensions 40 ]; 41 42 checkInputs = [ 43 pytestCheckHook 44 ]; 45 46 disabledTests = [ 47 # AssertionError 48 "test_no_codeblock_trailing_newline" 49 # Issue with upper/lower case 50 "default_style.md-options0" 51 ]; 52 53 pythonImportsCheck = [ 54 "mdformat" 55 ]; 56 57 meta = with lib; { 58 description = "CommonMark compliant Markdown formatter"; 59 homepage = "https://mdformat.rtfd.io/"; 60 license = with licenses; [ mit ]; 61 maintainers = with maintainers; [ fab ]; 62 }; 63}