anchor.diff:  
       "translationstring" = python.mkDerivation {
         name = "translationstring-1.3";
  -      src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz"; sha256 = "4ee44cfa58c52ade8910ea0ebc3d2d84bdcad9fa0422405b1801ec9b9a65b72d"; };
  -      doCheck = commonDoCheck;
  -      checkPhase = "";
  -      installCheckPhase = "";
  -      buildInputs = commonBuildInputs;
  -      propagatedBuildInputs = [ ];
  -      meta = with pkgs.stdenv.lib; {
  -        homepage = "";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/5e/eb/bee578cc150b44c653b63f5ebe258b5d0d812ddac12497e5f80fcad5d0b4/translationstring-1.3.tar.gz";
  +        sha256 = "4ee44cfa58c52ade8910ea0ebc3d2d84bdcad9fa0422405b1801ec9b9a65b72d";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [ ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "http://pylonsproject.org";
           license = "BSD-like (http://repoze.org/license.html)";
           description = "Utility library for i18n relied on by various Repoze and Pyramid packages";
         };
       };
   
  +    "typing-inspect" = python.mkDerivation {
  +      name = "typing-inspect-0.4.0";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/ae/6c/0f91f0d13be6a6ceba8605315fd29f1ea97f1e6556c52199eb9f3d70f0bd/typing_inspect-0.4.0.tar.gz";
  +        sha256 = "cf41eb276cc8955a45e03c15cd1efa6c181a8775a38ff0bfda99d28af97bcda3";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [
  +        self."mypy-extensions"
  +      ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "https://github.com/ilevkivskyi/typing_inspect";
  +        license = licenses.mit;
  +        description = "Runtime inspection utilities for typing module.";
  +      };
  +    };
  +
       "urllib3" = python.mkDerivation {
  -      name = "urllib3-1.24.1";
  -      src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/b1/53/37d82ab391393565f2f831b8eedbffd57db5a718216f82f1a8b4d381a1c1/urllib3-1.24.1.tar.gz"; sha256 = "de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"; };
  -      doCheck = commonDoCheck;
  -      checkPhase = "";
  -      installCheckPhase = "";
  -      buildInputs = commonBuildInputs;
  -      propagatedBuildInputs = [ ];
  -      meta = with pkgs.stdenv.lib; {
  -        homepage = "";
  +      name = "urllib3-1.25.3";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/4c/13/2386233f7ee40aa8444b47f7463338f3cbdf00c316627558784e3f542f07/urllib3-1.25.3.tar.gz";
  +        sha256 = "dbe59173209418ae49d485b87d1681aefa36252ee85884c31346debd19463232";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [
  +        self."certifi"
  +        self."idna"
  +      ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "https://urllib3.readthedocs.io/";
           license = licenses.mit;
           description = "HTTP library with thread-safe connection pooling, file post, and more.";
         };
       };
   
       "validators" = python.mkDerivation {
  -      name = "validators-0.12.2";
  -      src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/45/7b/5b7b74208a3e0744d1a0efbfb1935fa46fa4cfe58d3d63f17c49c58c429c/validators-0.12.2.tar.gz"; sha256 = "172ac45f7d1944ce4beca3c5c53ca7c83e9759e39fd3fedc1cf28e2130268706"; };
  -      doCheck = commonDoCheck;
  -      checkPhase = "";
  -      installCheckPhase = "";
  -      buildInputs = commonBuildInputs;
  -      propagatedBuildInputs = [
  -      self."decorator"
  -      self."six"
  -    ];
  -      meta = with pkgs.stdenv.lib; {
  -        homepage = "";
  -        license = licenses.bsdOriginal;
  -        description = "Python Data Validation for Humans™.";
  -      };
  -    };
  -
  -    "zope.deprecation" = python.mkDerivation {
  -      name = "zope.deprecation-4.3.0";
  -      src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/a1/18/2dc5e6bfe64fdc3b79411b67464c55bb0b43b127051a20f7f492ab767758/zope.deprecation-4.3.0.tar.gz"; sha256 = "7d52e134bbaaa0d72e1e2bc90f0587f1adc116c4bdf15912afaf2f1e8856b224"; };
  -      doCheck = commonDoCheck;
  -      checkPhase = "";
  -      installCheckPhase = "";
  -      buildInputs = commonBuildInputs;
  -      propagatedBuildInputs = [ ];
  -      meta = with pkgs.stdenv.lib; {
  -        homepage = "";
  +      name = "validators-0.14.0";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/b2/b7/5fc43b7dba2a35362b2f5ce39dbee835c48898e2458910c3af810240fbaa/validators-0.14.0.tar.gz";
  +        sha256 = "f0ac832212e3ee2e9b10e156f19b106888cf1429c291fbc5297aae87685014ae";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [
  +        self."decorator"
  +        self."six"
  +      ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "https://github.com/kvesteri/validators";
  +        license = licenses.bsdOriginal;
  +        description = "";
  +      };
  +    };
  +
  +    "webob" = python.mkDerivation {
  +      name = "webob-1.8.5";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/9d/1a/0c89c070ee2829c934cb6c7082287c822e28236a4fcf90063e6be7c35532/WebOb-1.8.5.tar.gz";
  +        sha256 = "05aaab7975e0ee8af2026325d656e5ce14a71f1883c52276181821d6d5bf7086";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [ ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "http://webob.org/";
  +        license = licenses.mit;
  +        description = "WSGI request and response object";
  +      };
  +    };
  +
  +    "werkzeug" = python.mkDerivation {
  +      name = "werkzeug-0.15.5";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/c7/fb/56734c47bc5bb4d00898c2581bc08166cb6fea72b6894cf279053521c25a/Werkzeug-0.15.5.tar.gz";
  +        sha256 = "a13b74dd3c45f758d4ebdb224be8f1ab8ef58b3c0ffc1783a8c7d9f4f50227e6";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [ ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "https://palletsprojects.com/p/werkzeug/";
  +        license = licenses.bsd3;
  +        description = "The comprehensive WSGI web application library.";
  +      };
  +    };
  +
  +    "zope-deprecation" = python.mkDerivation {
  +      name = "zope-deprecation-4.4.0";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/34/da/46e92d32d545dd067b9436279d84c339e8b16de2ca393d7b892bc1e1e9fd/zope.deprecation-4.4.0.tar.gz";
  +        sha256 = "0d453338f04bacf91bbfba545d8bcdf529aa829e67b705eac8c1a7fdce66e2df";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [ ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "https://github.com/zopefoundation/zope.deprecation";
           license = licenses.zpl21;
           description = "Zope Deprecation Infrastructure";
         };
       };
   
  -    "zope.interface" = python.mkDerivation {
  -      name = "zope.interface-4.6.0";
  -      src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6/zope.interface-4.6.0.tar.gz"; sha256 = "1b3d0dcabc7c90b470e59e38a9acaa361be43b3a6ea644c0063951964717f0e5"; };
  -      doCheck = commonDoCheck;
  -      checkPhase = "";
  -      installCheckPhase = "";
  -      buildInputs = commonBuildInputs;
  -      propagatedBuildInputs = [ ];
  -      meta = with pkgs.stdenv.lib; {
  -        homepage = "";
  +    "zope-interface" = python.mkDerivation {
  +      name = "zope-interface-4.6.0";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/4e/d0/c9d16bd5b38de44a20c6dc5d5ed80a49626fafcb3db9f9efdc2a19026db6/zope.interface-4.6.0.tar.gz";
  +        sha256 = "1b3d0dcabc7c90b470e59e38a9acaa361be43b3a6ea644c0063951964717f0e5";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [ ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "https://github.com/zopefoundation/zope.interface";
           license = licenses.zpl21;
           description = "Interfaces for Python";
         };
       };
   
  -    "zope.sqlalchemy" = python.mkDerivation {
  -      name = "zope.sqlalchemy-1.0";
  -      src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/75/13/b88b597ef6027b5480f68e022206e4b3ee2310a59bbc85bd3e9eca9566b6/zope.sqlalchemy-1.0.tar.gz"; sha256 = "9316a1a8bb9e4f9f59332acf1ad2cc8b664f19a4bde5f68be7f61f3e11f80514"; };
  -      doCheck = commonDoCheck;
  -      checkPhase = "";
  -      installCheckPhase = "";
  -      buildInputs = commonBuildInputs;
  -      propagatedBuildInputs = [
  -      self."SQLAlchemy"
  -      self."transaction"
  -      self."zope.interface"
  -    ];
  -      meta = with pkgs.stdenv.lib; {
  -        homepage = "";
  +    "zope-sqlalchemy" = python.mkDerivation {
  +      name = "zope-sqlalchemy-1.1";
  +      src = pkgs.fetchurl {
  +        url = "https://files.pythonhosted.org/packages/b8/4f/4a372512cd37885c572dc7d36d3befe8adecb07e451d1f03723b29c947f2/zope.sqlalchemy-1.1.tar.gz";
  +        sha256 = "81554c5b03fbf924c4144ef835b7900271fbd85cfe81cb6bd95e3ab7aa85189f";
  +};
  +      doCheck = commonDoCheck;
  +      buildInputs = commonBuildInputs ++ [ ];
  +      propagatedBuildInputs = [
  +        self."sqlalchemy"
  +        self."transaction"
  +        self."zope-interface"
  +      ];
  +      meta = with pkgs.stdenv.lib; {
  +        homepage = "http://pypi.python.org/pypi/zope.sqlalchemy";
           license = licenses.zpl21;
           description = "Minimal Zope/SQLAlchemy transaction integration";
         };
  
positive.code: 
      "iso8601" = python.mkDerivation {
        name = "iso8601-0.1.12";
        src = pkgs.fetchurl { url = "https://files.pythonhosted.org/packages/45/13/3db24895497345fb44c4248c08b16da34a9eb02643cea2754b21b5ed08b0/iso8601-0.1.12.tar.gz"; sha256 = "49c4b20e1f38aa5cf109ddcd39647ac419f928512c869dc01d5c7098eddede82"; };
        doCheck = commonDoCheck;
        checkPhase = "";
        installCheckPhase = "";
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [ ];
        meta = with pkgs.stdenv.lib; {
          homepage = "";
          license = licenses.mit;
          description = "Simple module to parse ISO 8601 dates";
        };
  
negative.code: 
      "importscan" = python.mkDerivation {
        name = "importscan-0.1";
        src = pkgs.fetchurl {
          url = "https://files.pythonhosted.org/packages/2d/e1/01431f1afc930befc4a1e32b39e5227124ebcd5ee165683b0d8e80fdb45f/importscan-0.1.tar.gz";
          sha256 = "5c003afe8d7f48d684bc9f66e8109952234812b225be324ce572ce4278b18f10";
  };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs ++ [ ];
        propagatedBuildInputs = [ ];
        meta = with pkgs.stdenv.lib; {
          homepage = "UNKNOWN";
          license = licenses.bsdOriginal;
          description = "Recursively import modules and sub-packages";
        };
  