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}