anchor.diff:  
   
   
  -    "ptyprocess" = python.mkDerivation {
  -      name = "ptyprocess-0.5.2";
  -      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/51/83/5d07dc35534640b06f9d9f1a1d2bc2513fb9cc7595a1b0e28ae5477056ce/ptyprocess-0.5.2.tar.gz"; sha256 = "e64193f0047ad603b71f202332ab5527c5e52aa7c8b609704fc28c0dc20c4365"; };
  -      doCheck = commonDoCheck;
  -      buildInputs = commonBuildInputs;
  -      propagatedBuildInputs = [ ];
  -      meta = with pkgs.stdenv.lib; {
  -        homepage = "https://github.com/pexpect/ptyprocess";
  -        license = "";
  -        description = "Run a subprocess in a pseudo terminal";
  -      };
  -    };
  -
  -
  -
       "py" = python.mkDerivation {
  -      name = "py-1.4.34";
  -      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/68/35/58572278f1c097b403879c1e9369069633d1cbad5239b9057944bb764782/py-1.4.34.tar.gz"; sha256 = "0f2d585d22050e90c7d293b6451c83db097df77871974d90efd5a30dc12fcde3"; };
  +      name = "py-1.5.1";
  +      src = pkgs.fetchurl { url = "https://pypi.python.org/packages/56/d7/a20e836f5489f5d9d9ac7a6326ca9a1c36762dd182be5507da03a09785a9/py-1.5.1.tar.gz"; sha256 = "e85aaa3c2e837413c6387eb2a4efbe7ff93658813d13986da004984ffe84b3a3"; };
         doCheck = commonDoCheck;
         buildInputs = commonBuildInputs;
         propagatedBuildInputs = [ ];
  
positive.code: 
  
  
      "ipdb" = python.mkDerivation {
        name = "ipdb-0.10.3";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/ad/cc/0e7298e1fbf2efd52667c9354a12aa69fb6f796ce230cca03525051718ef/ipdb-0.10.3.tar.gz"; sha256 = "9ea256b4280fbe12840fb9dfc3ce498c6c6de03352eca293e4400b0dfbed2b28"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [
        self."ipython"
      ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/gotcha/ipdb";
          license = licenses.bsdOriginal;
          description = "IPython-enabled pdb";
        };
      };
  
  
  
      "ipython" = python.mkDerivation {
        name = "ipython-6.2.1";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/fa/50/974211502bd72873728d44c3013fe79875c819c8fb69f778bcfd67bc7d38/ipython-6.2.1.tar.gz"; sha256 = "51c158a6c8b899898d1c91c6b51a34110196815cc905f9be0fa5878e19355608"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [
        self."Pygments"
        self."decorator"
        self."jedi"
        self."pexpect"
        self."pickleshare"
        self."prompt-toolkit"
        self."requests"
        self."simplegeneric"
        self."traitlets"
      ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://ipython.org";
          license = licenses.bsdOriginal;
          description = "IPython: Productive Interactive Computing";
        };
      };
  
  
  
      "ipython-genutils" = python.mkDerivation {
        name = "ipython-genutils-0.2.0";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/e8/69/fbeffffc05236398ebfcfb512b6d2511c622871dca1746361006da310399/ipython_genutils-0.2.0.tar.gz"; sha256 = "eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [ ];
        meta = with pkgs.stdenv.lib; {
          homepage = "http://ipython.org";
          license = licenses.bsdOriginal;
          description = "Vestigial utilities from IPython";
        };
      };
  
  
  
      "itsdangerous" = python.mkDerivation {
        name = "itsdangerous-0.24";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/itsdangerous-0.24.tar.gz"; sha256 = "cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [ ];
        meta = with pkgs.stdenv.lib; {
          homepage = "http://github.com/mitsuhiko/itsdangerous";
          license = licenses.bsdOriginal;
          description = "Various helpers to pass trusted data to untrusted environments and back.";
        };
      };
  
  
  
      "jedi" = python.mkDerivation {
        name = "jedi-0.11.0";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/08/8d/34b133dfa210b55e7efaa8b09c736a8f4383fcda0b6487fc43a1db3c7ee7/jedi-0.11.0.tar.gz"; sha256 = "f6d5973573e76b1fd2ea75f6dcd6445d02d41ff3af5fc61b275b4e323d1dd396"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [
        self."parso"
      ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/davidhalter/jedi";
          license = licenses.mit;
          description = "An autocompletion tool for Python that can be used for text editors.";
        };
      };
  
  
  
      "lazy" = python.mkDerivation {
        name = "lazy-1.3";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/10/3b/655ffabb1627bff2539ddc3f3e0cdd6df51c65d4d51c20ba4c14e1ee8ad4/lazy-1.3.zip"; sha256 = "c80a77bf7106ba7b27378759900cfefef38271088dc63b014bcfe610c8e68e3d"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [ ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/stefanholek/lazy";
          license = licenses.bsdOriginal;
          description = "Lazy attributes for Python objects";
        };
      };
  
  
  
      "misaka" = python.mkDerivation {
        name = "misaka-2.1.0";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/47/c2/ba9c82ae0ec62bcec62d690e715be6ead4457f83000f4ef6e919f77a8e5f/misaka-2.1.0.tar.gz"; sha256 = "87637d90f5f52595d07ed1be93d0576d32632d125694b96b8e4ce55cd4c019fb"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [
        self."cffi"
      ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/FSX/misaka";
          license = licenses.mit;
          description = "A CFFI binding for Hoedown, a markdown parsing library.";
        };
      };
  
  
  
      "oauthlib" = python.mkDerivation {
        name = "oauthlib-2.0.6";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/a5/8a/212e9b47fb54be109f3ff0684165bb38c51117f34e175c379fce5c7df754/oauthlib-2.0.6.tar.gz"; sha256 = "ce57b501e906ff4f614e71c36a3ab9eacbb96d35c24d1970d2539bbc3ec70ce1"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [
        self."blinker"
      ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/idan/oauthlib";
          license = licenses.bsdOriginal;
          description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
        };
      };
  
  
  
      "parso" = python.mkDerivation {
        name = "parso-0.1.0";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/32/f4/9f1ee3fc5f7a23aee6454feeadef423ef1aed405208135e81620b4e3ba77/parso-0.1.0.tar.gz"; sha256 = "c5279916bb417aa2bf634648ff895cf35dce371d7319744884827bfad06f8d7b"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [ ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/davidhalter/parso";
          license = licenses.mit;
          description = "A Python Parser";
        };
      };
  
  
  
      "pexpect" = python.mkDerivation {
        name = "pexpect-4.3.0";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/f8/44/5466c30e49762bb92e442bbdf4472d6904608d211258eb3198a11f0309a4/pexpect-4.3.0.tar.gz"; sha256 = "00ab0872f80f5db740499e7a1283a7c3b97bea542d72df84d83dea17d0afd2d9"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [
        self."ptyprocess"
      ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://pexpect.readthedocs.io/";
          license = licenses.isc;
          description = "Pexpect allows easy control of interactive console applications.";
        };
      };
  
  
  
      "pickleshare" = python.mkDerivation {
        name = "pickleshare-0.7.4";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/69/fe/dd137d84daa0fd13a709e448138e310d9ea93070620c9db5454e234af525/pickleshare-0.7.4.tar.gz"; sha256 = "84a9257227dfdd6fe1b4be1319096c20eb85ff1e82c7932f36efccfe1b09737b"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [ ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/pickleshare/pickleshare";
          license = licenses.mit;
          description = "Tiny 'shelve'-like database with concurrency support";
        };
      };
  
  
  
      "prompt-toolkit" = python.mkDerivation {
        name = "prompt-toolkit-1.0.15";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/8a/ad/cf6b128866e78ad6d7f1dc5b7f99885fb813393d9860778b2984582e81b5/prompt_toolkit-1.0.15.tar.gz"; sha256 = "858588f1983ca497f1cf4ffde01d978a3ea02b01c8a26a8bbc5cd2e66d816917"; };
        doCheck = commonDoCheck;
        buildInputs = commonBuildInputs;
        propagatedBuildInputs = [
        self."six"
        self."wcwidth"
      ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/jonathanslenders/python-prompt-toolkit";
          license = licenses.bsdOriginal;
          description = "Library for building powerful interactive command lines in Python";
        };
      };
  
  
negative.code: 
  
  
      "six" = python.mkDerivation {
        name = "six-1.11.0";
        src = pkgs.fetchurl { url = "https://pypi.python.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz"; sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9"; };
  