about summary refs log tree commit diff
path: root/pkgs/development/python-modules/ufmt/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/ufmt/default.nix')
-rw-r--r--pkgs/development/python-modules/ufmt/default.nix25
1 files changed, 17 insertions, 8 deletions
diff --git a/pkgs/development/python-modules/ufmt/default.nix b/pkgs/development/python-modules/ufmt/default.nix
index 374bc53481750..e494d280ed726 100644
--- a/pkgs/development/python-modules/ufmt/default.nix
+++ b/pkgs/development/python-modules/ufmt/default.nix
@@ -7,9 +7,11 @@
   flit-core,
   libcst,
   moreorless,
+  pygls,
   pythonOlder,
   tomlkit,
   trailrunner,
+  ruff-api,
   typing-extensions,
   unittestCheckHook,
   usort,
@@ -17,21 +19,21 @@
 
 buildPythonPackage rec {
   pname = "ufmt";
-  version = "2.1.0";
-  format = "pyproject";
+  version = "2.7.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.";
 
   src = fetchFromGitHub {
     owner = "omnilib";
     repo = "ufmt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eQIbSC0Oxi6JD7/3o2y9f+KhT8GIiFiYiV4A3QBoWl0=";
+    hash = "sha256-hIbzW7yDqk8siob+RhcnbOonkl+67sl/IGHimIeMM+Q=";
   };
 
-  nativeBuildInputs = [ flit-core ];
+  build-system = [ flit-core ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     black
     click
     libcst
@@ -42,16 +44,23 @@ buildPythonPackage rec {
     usort
   ];
 
-  nativeCheckInputs = [ unittestCheckHook ];
+  passthru.optional-dependencies = {
+    lsp = [ pygls ];
+    ruff = [ ruff-api ];
+  };
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   pythonImportsCheck = [ "ufmt" ];
 
   meta = with lib; {
     description = "Safe, atomic formatting with black and usort";
-    mainProgram = "ufmt";
     homepage = "https://github.com/omnilib/ufmt";
     changelog = "https://github.com/omnilib/ufmt/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "ufmt";
   };
 }