anchor.diff:    nativeBuildInputs = [ poetry ];
   
     propagatedBuildInputs = [
  -    chardet
       termcolor
       questionary
       colorama
  
positive.code: , termcolor
  , tomlkit
  , typing-extensions
  , chardet
  
  , argcomplete, fetchPypi
  }:
  
  let
    # NOTE: Upstream requires argcomplete <2, so we make it here.
    argcomplete_1 = argcomplete.overrideAttrs (old: rec {
      version = "1.12.3";
      src = fetchPypi {
        inherit (old) pname;
        inherit version;
        sha256 = "sha256-LH2//YwEXqU0kh5jsL5v5l6IWZmQ2NxAisjFQrcqVEU=";
      };
    });
  in
  
  buildPythonApplication rec {
    pname = "commitizen";
    version = "2.29.2";
  
    src = fetchFromGitHub {
      owner = "commitizen-tools";
      repo = pname;
      rev = "v${version}";
      hash = "sha256-4mK+GA1rfctJkMv4ZMfXE/qih/9fF0kwT6bIcLVB/Bk=";
      deepClone = true;
    };
  
  
negative.code:     tomlkit
      jinja2
      pyyaml
      argcomplete
      typing-extensions
      packaging
    ];
  
    doCheck = true;
  
    checkInputs = [
      pytestCheckHook
      pytest-freezegun
      pytest-mock
      pytest-regressions
      argcomplete
      git
    ];
  
    # the tests require a functional git installation
    # which requires a valid HOME directory.
    preCheck = ''
      export HOME="$(mktemp -d)"
  
      git config --global user.name "Nix Builder"
      git config --global user.email "nix-builder@nixos.org"
      git init .
    '';
  
    # NB: These tests require complex GnuPG setup
    disabledTests = [
      "test_bump_minor_increment_signed"
      "test_bump_minor_increment_signed_config_file"
      "test_bump_on_git_with_hooks_no_verify_enabled"
      "test_bump_on_git_with_hooks_no_verify_disabled"
      "test_bump_pre_commit_changelog"
      "test_bump_pre_commit_changelog_fails_always"
      "test_get_commits_with_signature"
    ];
  
    meta = with lib; {
  