nhost-cli: 1.28.2 -> 1.28.3 (#372273)
[NixPkgs.git] / pkgs / development / python-modules / ufmt / default.nix
blob13237ffd853ba47aafc9f5278afe70c385134e58
2   lib,
3   black,
4   buildPythonPackage,
5   click,
6   fetchFromGitHub,
7   flit-core,
8   libcst,
9   moreorless,
10   pygls,
11   pythonOlder,
12   tomlkit,
13   trailrunner,
14   ruff-api,
15   typing-extensions,
16   unittestCheckHook,
17   usort,
20 buildPythonPackage rec {
21   pname = "ufmt";
22   version = "2.8.0";
23   pyproject = true;
25   disabled = pythonOlder "3.8";
27   src = fetchFromGitHub {
28     owner = "omnilib";
29     repo = "ufmt";
30     tag = "v${version}";
31     hash = "sha256-oEvvXUju7qne3pCwnrckplMs0kBJavB669qieXJZPKw=";
32   };
34   build-system = [ flit-core ];
36   dependencies = [
37     black
38     click
39     libcst
40     moreorless
41     tomlkit
42     trailrunner
43     typing-extensions
44     usort
45   ];
47   optional-dependencies = {
48     lsp = [ pygls ];
49     ruff = [ ruff-api ];
50   };
52   nativeCheckInputs = [
53     unittestCheckHook
54   ] ++ lib.flatten (builtins.attrValues optional-dependencies);
56   pythonImportsCheck = [ "ufmt" ];
58   meta = with lib; {
59     description = "Safe, atomic formatting with black and usort";
60     homepage = "https://github.com/omnilib/ufmt";
61     changelog = "https://github.com/omnilib/ufmt/blob/${version}/CHANGELOG.md";
62     license = licenses.mit;
63     maintainers = with maintainers; [ fab ];
64     mainProgram = "ufmt";
65   };