diff options
author | OTABI Tomoya <tomoya.otabi@gmail.com> | 2023-08-09 22:53:57 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-09 22:53:57 +0900 |
commit | c76c96642eabef7eb65a6f115c4ab910f76abf53 (patch) | |
tree | 10069806e88d3bad32ed2940ebbd0a5597769e70 | |
parent | ea6e5c07302b8a574fbeef6e0e8d6be53a154f38 (diff) | |
parent | ba9b639ddd505853c3a91037e727758184a27589 (diff) |
Merge pull request #245670 from l0b0/feat/nbqa
nbqa: init at 1.7.0
-rw-r--r-- | pkgs/tools/misc/blacken-docs/default.nix | 38 | ||||
-rw-r--r-- | pkgs/tools/misc/nbqa/default.nix | 93 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
3 files changed, 135 insertions, 0 deletions
diff --git a/pkgs/tools/misc/blacken-docs/default.nix b/pkgs/tools/misc/blacken-docs/default.nix new file mode 100644 index 0000000000000..186f1d393ac38 --- /dev/null +++ b/pkgs/tools/misc/blacken-docs/default.nix @@ -0,0 +1,38 @@ +{ black +, fetchFromGitHub +, lib +, python3 +}: +python3.pkgs.buildPythonApplication rec { + pname = "blacken-docs"; + version = "1.15.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "adamchainz"; + repo = "blacken-docs"; + rev = version; + hash = "sha256-3FGuFOAHCcybPwujWlh58NWtuF5CebaKTgBWgCGpSL8="; + }; + + nativeBuildInputs = [ + python3.pkgs.setuptools + ]; + + propagatedBuildInputs = [ + black + ]; + + nativeCheckInputs = [ + black + python3.pkgs.pytestCheckHook + ]; + + meta = with lib; { + homepage = "https://github.com/adamchainz/blacken-docs"; + changelog = "https://github.com/adamchainz/blacken-docs/blob/${src.rev}/CHANGELOG.rst"; + description = "Run Black on Python code blocks in documentation files"; + license = licenses.mit; + maintainers = with maintainers; [ l0b0 ]; + }; +} diff --git a/pkgs/tools/misc/nbqa/default.nix b/pkgs/tools/misc/nbqa/default.nix new file mode 100644 index 0000000000000..214ab79abd63a --- /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 6b2945e8caa83..962a97fd6f9ee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6916,6 +6916,8 @@ with pkgs; bbin = callPackage ../development/tools/bbin { }; + blacken-docs = callPackage ../tools/misc/blacken-docs { }; + bore = callPackage ../tools/networking/bore { inherit (darwin) Libsystem; inherit (darwin.apple_sdk.frameworks) SystemConfiguration; @@ -10989,6 +10991,8 @@ with pkgs; nb = callPackage ../tools/misc/nb { }; + nbqa = callPackage ../tools/misc/nbqa { }; + kb = callPackage ../tools/misc/kb { }; notable = callPackage ../applications/misc/notable { }; |