diff options
| author | Victor Engmark <victor@engmark.name> | 2023-07-27 16:11:17 +1200 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2023-08-14 21:26:28 +0000 |
| commit | bee09858ceef2102a3bc232bc60ed259607d5eca (patch) | |
| tree | 592d7463b4e823f9d1ec3bb2d2d70fea1b8ac613 | |
| parent | blacken-docs: init at 1.15.0 (diff) | |
| download | nixpkgs-origin/backport-245670-to-release-23.05.tar.gz | |
nbqa: init at 1.7.0origin/backport-245670-to-release-23.05
Co-authored-by: OTABI Tomoya <tomoya.otabi@gmail.com>
Co-authored-by: Kirill Radzikhovskyy <kirillrdy@gmail.com>
(cherry picked from commit ba9b639ddd505853c3a91037e727758184a27589)
| -rw-r--r-- | pkgs/tools/misc/nbqa/default.nix | 93 | ||||
| -rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 95 insertions, 0 deletions
diff --git a/pkgs/tools/misc/nbqa/default.nix b/pkgs/tools/misc/nbqa/default.nix new file mode 100644 index 000000000000..214ab79abd63 --- /dev/null +++ b/pkgs/tools/misc/nbqa/default.nix @@ -0,0 +1,93 @@ +{ black +, blacken-docs +, fetchFromGitHub +, lib +, python3 +, ruff +}: +python3.pkgs.buildPythonApplication rec { + pname = "nbqa"; + version = "1.7.0"; + + src = fetchFromGitHub { + owner = "nbQA-dev"; + repo = "nbQA"; + rev = version; + hash = "sha256-CTF5HisBS44Ta18cVT04UrMIF30WmEBwZBGW7fkKXwk="; + }; + + passthru.optional-dependencies = { + black = [ black ]; + blacken-docs = [ blacken-docs ]; + flake8 = [ python3.pkgs.flake8 ]; + isort = [ python3.pkgs.isort ]; + jupytext = [ python3.pkgs.jupytext ]; + mypy = [ python3.pkgs.mypy ]; + pylint = [ python3.pkgs.pylint ]; + pyupgrade = [ python3.pkgs.pyupgrade ]; + ruff = [ ruff ]; + }; + + propagatedBuildInputs = with python3.pkgs; + [ + autopep8 + ipython + tokenize-rt + tomli + ] + ++ builtins.attrValues passthru.optional-dependencies; + + postPatch = '' + # Force using the Ruff executable rather than the Python package + substituteInPlace nbqa/__main__.py --replace 'if shell:' 'if shell or main_command == "ruff":' + ''; + + preCheck = '' + # Allow the tests to run `nbqa` itself from the path + export PATH="$out/bin":"$PATH" + ''; + + nativeCheckInputs = + [ + black + ruff + ] + ++ (with python3.pkgs; [ + autoflake + flake8 + isort + jupytext + mdformat + pre-commit-hooks + pydocstyle + pylint + pytestCheckHook + pyupgrade + yapf + ]); + + disabledTests = [ + # Test data not found + "test_black_multiple_files" + "test_black_return_code" + "test_grep" + "test_jupytext_on_folder" + "test_mypy_works" + "test_running_in_different_dir_works" + "test_unable_to_reconstruct_message_pythonpath" + "test_with_subcommand" + ]; + + disabledTestPaths = [ + # Test data not found + "tests/test_include_exclude.py" + ]; + + meta = with lib; { + homepage = "https://github.com/nbQA-dev/nbQA"; + changelog = "https://nbqa.readthedocs.io/en/latest/history.html"; + description = "Run ruff, isort, pyupgrade, mypy, pylint, flake8, black, blacken-docs, and more on Jupyter Notebooks"; + license = licenses.mit; + maintainers = with maintainers; [ l0b0 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8bc796bbd48c..6fc788b143d0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10488,6 +10488,8 @@ with pkgs; nb = callPackage ../tools/misc/nb { }; + nbqa = callPackage ../tools/misc/nbqa { }; + kb = callPackage ../tools/misc/kb { }; notable = callPackage ../applications/misc/notable { }; |
