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