1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pdm-backend,
6 pygments,
7 objprint,
8 python-slugify,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "marko";
14 version = "2.2.0";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "frostming";
19 repo = "marko";
20 tag = "v${version}";
21 hash = "sha256-3ACZdroZzp/ld/MgH/2QAQ3hdFbwSW66Wkdb7N3V2Ds=";
22 };
23
24 build-system = [
25 pdm-backend
26 ];
27
28 optional-dependencies = {
29 codehilite = [
30 pygments
31 ];
32 repr = [
33 objprint
34 ];
35 toc = [
36 python-slugify
37 ];
38 };
39
40 pythonImportsCheck = [
41 "marko"
42 ];
43
44 nativeCheckInputs = [
45 pytestCheckHook
46 ]
47 ++ optional-dependencies.toc
48 ++ optional-dependencies.codehilite;
49
50 meta = {
51 changelog = "https://github.com/frostming/marko/blob/${src.tag}/CHANGELOG.md";
52 description = "Markdown parser with high extensibility";
53 homepage = "https://github.com/frostming/marko";
54 license = lib.licenses.mit;
55 maintainers = with lib.maintainers; [ ];
56 };
57}