anchor.diff:        --replace 'PyHamcrest>=1.9.0,<2.0.0' 'PyHamcrest' \
         --replace 'radish-bdd==0.8.6' 'radish-bdd' \
         --replace 'mock>=3.0.5,<4.0.0' 'mock' \
  -      --replace 'pytest>=4.6.4,<5.0.0' 'pytest'
  +      --replace 'pytest>=4.6.4,<5.0.0' 'pytest' \
  +      --replace 'importlib-metadata<3.0.0' 'importlib-metadata' \
  +      --replace 'pytest-runner==5.2' ' '
     '';
   
  -  nativeBuildInputs = [ pytestrunner ];  # simply to placate requirements
  -  propagatedBuildInputs = [ six isodate tornado aenum ];
  +  # setup-requires requirements
  +  nativeBuildInputs = [
  +    importlib-metadata
  +  ];
  +  propagatedBuildInputs = [
  +    aenum
  +    isodate
  +    six
  +    tornado
  +  ];
   
  -  checkInputs = [ pytestCheckHook pyhamcrest radish-bdd mock ];
  +  checkInputs = [
  +    pytestCheckHook
  +    mock
  +    pyhamcrest
  +    radish-bdd
  +  ];
   
     # disable custom pytest report generation
     preCheck = ''
  
positive.code: { lib, buildPythonPackage, fetchFromGitHub
  , pytestCheckHook, pyhamcrest, pytestrunner
  , six, isodate, tornado, aenum, radish-bdd, mock
  }:
  
  buildPythonPackage rec {
  
negative.code:   '';
  
    # many tests expect a running tinkerpop server
    disabledTestPaths = [
      "tests/driver/test_client.py"
      "tests/driver/test_driver_remote_connection.py"
      "tests/driver/test_driver_remote_connection_threaded.py"
      "tests/process/test_dsl.py"
      "tests/structure/io/test_functionalityio.py"
    ];
    pytestFlagsArray = [
      # disabledTests doesn't quite allow us to be precise enough for this
      "-k 'not (TestFunctionalGraphSONIO and (test_timestamp or test_datetime or test_uuid))'"
    ];
  