diff --git a/pkgs/development/python-modules/memestra/default.nix b/pkgs/development/python-modules/memestra/default.nix new file mode 100644 index 000000000000..3bcae8336a89 --- /dev/null +++ b/pkgs/development/python-modules/memestra/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, fetchPypi +, beniget +, frilouz +, gast +, nbconvert +, nbformat +, pythonOlder +, pyyaml +}: + +buildPythonPackage rec { + pname = "memestra"; + version = "0.2.1"; + + disabled = pythonOlder "3.4"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-6shwf9BoDfZMy0itP8esNP4ov6fw6LJpO3Y5ZahwDZw="; + }; + + propagatedBuildInputs = [ + gast + beniget + frilouz + nbconvert + nbformat + pyyaml + ]; + + # Tests are not detected and so the checkPhase fails + doCheck = false; + + pythonImportsCheck = [ + "memestra" + ]; + + meta = with lib; { + description = "A linter that tracks reference to deprecated functions."; + homepage = "https://github.com/QuantStack/memestra"; + license = licenses.bsd3; + maintainers = with maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/development/python-modules/pyls-memestra/default.nix b/pkgs/development/python-modules/pyls-memestra/default.nix new file mode 100644 index 000000000000..62ae057613a6 --- /dev/null +++ b/pkgs/development/python-modules/pyls-memestra/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, deprecated +, memestra +, python-lsp-server +}: + +buildPythonPackage rec { + pname = "pyls-memestra"; + version = "0.0.16"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-zMVDd2uB4znw38z3yb0Nt7qQH5dGHTbQBIZO/qo1/t8="; + }; + + propagatedBuildInputs = [ + deprecated + memestra + python-lsp-server + ]; + + # Tests fail because they rely on writting to read-only files + doCheck = false; + + pythonImportsCheck = [ + "pyls_memestra" + ]; + + meta = with lib; { + description = "Memestra plugin for the Python Language Server"; + homepage = "https://github.com/QuantStack/pyls-memestra"; + license = licenses.bsd3; + maintainers = with maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/development/python-modules/pylsp-rope/default.nix b/pkgs/development/python-modules/pylsp-rope/default.nix new file mode 100644 index 000000000000..1199f40eaeec --- /dev/null +++ b/pkgs/development/python-modules/pylsp-rope/default.nix @@ -0,0 +1,40 @@ +{ lib +, buildPythonPackage +, fetchPypi +, rope +, pytestCheckHook +, python-lsp-server +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pylsp-rope"; + version = "0.1.11"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-SKrfmT2vpej8oRCLSlQxMUz4C8eM/91WQA6tnEB1U74="; + }; + + propagatedBuildInputs = [ + rope + python-lsp-server + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pylsp_rope" + ]; + + meta = with lib; { + description = "Extended refactoring capabilities for Python LSP Server using Rope"; + homepage = "https://github.com/python-rope/pylsp-rope"; + license = licenses.mit; + maintainers = with maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c13c931152f4..06f8e307c77e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6109,6 +6109,8 @@ self: super: with self; { meld3 = callPackage ../development/python-modules/meld3 { }; + memestra = callPackage ../development/python-modules/memestra { }; + memory-allocator = callPackage ../development/python-modules/memory-allocator { }; memory_profiler = callPackage ../development/python-modules/memory_profiler { }; @@ -8710,10 +8712,14 @@ self: super: with self; { pyls-isort = callPackage ../development/python-modules/pyls-isort { }; + pyls-memestra = callPackage ../development/python-modules/pyls-memestra { }; + pyls-spyder = callPackage ../development/python-modules/pyls-spyder { }; pylsp-mypy = callPackage ../development/python-modules/pylsp-mypy { }; + pylsp-rope = callPackage ../development/python-modules/pylsp-rope { }; + pylpsd = callPackage ../development/python-modules/pylpsd { }; pylti = callPackage ../development/python-modules/pylti { };