anchor.diff:          description = "Pure-Python Implementation of the scrypt password-based key derivation function and scrypt file format library";
         };
       };
  -    orderedmultidict = python37.pkgs.buildPythonPackage {
  -      name = "orderedmultidict-1.0";
  -      src = pkgs.fetchurl {
  -        url = "https://files.pythonhosted.org/packages/19/67/2e1462785b84f40812e61d349f77063939f8f220345b0dfc26c4e3e07af0/orderedmultidict-1.0.tar.gz";
  -        sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5"; };
  -      doCheck = false;
  +
  +    orderedmultidict = python37.pkgs.buildPythonPackage rec {
  +      pname = "orderedmultidict";
  +      version = "1.0";
  +      src = pythonPackages.fetchPypi {
  +        inherit pname version;
  +        sha256 = "b89895ba6438038d0bdf88020ceff876cf3eae0d5c66a69b526fab31125db2c5";
  +      };
  +      checkInputs = [ python37Packages.pycodestyle ];
         propagatedBuildInputs = [ python37Packages.six ];
         meta = with pkgs.stdenv.lib; {
           homepage = "https://github.com/gruns/orderedmultidict";
  -        license = "License :: Freely Distributable";
  +        license = licenses.unlicense;
           description = "Ordered Multivalue Dictionary - omdict.";
         };
       };
  -    furl = python37.pkgs.buildPythonPackage {
  -      name = "furl-2.0.0";
  -      src = pkgs.fetchurl {
  -        url = "https://files.pythonhosted.org/packages/93/70/e266a29c3c1c9ec94d7fcb3232e0d77bfa04c281f44a9edeb9946a256d91/furl-2.0.0.tar.gz";
  -        sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec"; };
  -      doCheck = false;
  +
  +    furl = python37.pkgs.buildPythonPackage rec {
  +      pname = "furl";
  +      version = "2.0.0";
  +      src = pythonPackages.fetchPypi {
  +        inherit pname version;
  +        sha256 = "fdcaedc1fb19a63d7d875b0105b0a5b496dd0989330d454a42bcb401fa5454ec";
  +      };
  +      checkInputs = [ python37Packages.flake8 ];
         propagatedBuildInputs = [ orderedmultidict python37Packages.six ];
         meta = with pkgs.stdenv.lib; {
           homepage = "https://github.com/gruns/furl";
  
positive.code:     };
  
      radicale-storage-etesync = python37.pkgs.buildPythonPackage rec {
        name = "radicale-storage-etesync-0.7.0";
        src = pkgs.fetchurl {
           url = "https://files.pythonhosted.org/packages/55/77/c9f3f9a86e2e31204cb5f0f1fbf24745ac86f8c739618db41e52390c73c2/radicale_storage_etesync-0.7.0.tar.gz";
           sha256 = "0542fbcbd245b723e78d4e8ff2e211f052408897eb515147a86351a8654208ef";
        };
        doCheck = false;
        propagatedBuildInputs = [ etesync Radicale pyscrypt orderedmultidict furl
          python37Packages.coverage python37Packages.pyasn1 python37Packages.appdirs
          python37Packages.vobject python37Packages.py python37Packages.cffi
          python37Packages.pyparsing python37Packages.requests python37Packages.peewee
        ];
        meta = with pkgs.stdenv.lib; {
          homepage = "https://github.com/etesync/radicale_storage_etesync";
          license = "GPL";
          description = "An EteSync storage plugin for Radicale";
        };
      };
  
  
negative.code: with import <nixpkgs> {};
  let
      pyscrypt = python37.pkgs.buildPythonPackage rec {
        pname = "pyscrypt";
        version = "1.6.2";
        src = pythonPackages.fetchPypi {
          inherit pname version;
          sha256 = "bafdd195f10f7c7395f0133bad09746a68e0e6b66da202c9bdb6b1eb4abba5e9";
        };
        doCheck = false;
        meta = with stdenv.lib; {
          homepage = "https://github.com/ricmoo/pyscrypt";
  