{ lib , buildPythonPackage , fetchPypi , boto , boto3 , bz2file , mock , moto , requests , responses }: buildPythonPackage rec { pname = "smart_open"; version = "1.8.3"; src = fetchPypi { inherit pname version; sha256 = "029b0ns6q9vl4pyk1w7jp4dvif1mfgr53a58z1p8zipwnhkfwnih"; }; # nixpkgs version of moto is >=1.2.0, remove version pin to fix build postPatch = '' substituteInPlace ./setup.py --replace "moto==0.4.31" "moto" ''; # moto>=1.0.0 is backwards-incompatible and some tests fail with it, # so disable tests for now doCheck = false; checkInputs = [ mock moto responses ]; # upstream code requires both boto and boto3 propagatedBuildInputs = [ boto boto3 bz2file requests ]; meta = { license = lib.licenses.mit; description = "smart_open is a Python 2 & Python 3 library for efficient streaming of very large file"; maintainers = with lib.maintainers; [ jyp ]; }; }