1{ lib
2, buildPythonPackage
3, click
4, fetchFromGitHub
5, maison
6, pdm-pep517
7, pytest-xdist
8, pytestCheckHook
9, pythonOlder
10, ruyaml
11, setuptools
12}:
13
14buildPythonPackage rec {
15 pname = "yamlfix";
16 version = "1.10.0";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "lyz-code";
23 repo = pname;
24 rev = "refs/tags/${version}";
25 hash = "sha256-tRF2mi2xAjCKKbPVcJ7YEc4UVmSorgP9DFm8t1z0XoA=";
26 };
27
28 nativeBuildInputs = [
29 setuptools
30 pdm-pep517
31 ];
32
33 propagatedBuildInputs = [
34 click
35 maison
36 ruyaml
37 ];
38
39 nativeCheckInputs = [
40 pytest-xdist
41 pytestCheckHook
42 ];
43
44 pythonImportsCheck = [
45 "yamlfix"
46 ];
47
48 meta = with lib; {
49 description = "Python YAML formatter that keeps your comments";
50 homepage = "https://github.com/lyz-code/yamlfix";
51 changelog = "https://github.com/lyz-code/yamlfix/blob/${version}/CHANGELOG.md";
52 license = licenses.gpl3Only;
53 maintainers = with maintainers; [ koozz ];
54 };
55}