{ lib , buildPythonPackage , fetchPypi , pythonOlder , boto , boto3 , bz2file , mock , moto , requests , responses }: buildPythonPackage rec { pname = "smart_open"; version = "3.0.0"; disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; sha256 = "7f4e85b71df5a3618f5447d0b417b7a3576308c839690a24a70338b8993684c3"; }; # 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 ]; }; }