nixpkgs/pkgs/development/python-modules/moto/default.nix

54 lines
1.4 KiB
Nix

{ buildPythonPackage, fetchPypi, jinja2, werkzeug, flask
, requests, pytz, backports_tempfile, cookies, jsondiff, botocore, aws-xray-sdk, docker, responses
, six, boto, httpretty, xmltodict, nose, sure, boto3, freezegun, dateutil, mock, pyaml }:
buildPythonPackage rec {
pname = "moto";
version = "1.3.3";
src = fetchPypi {
inherit pname version;
sha256 = "45d14aca2b06b0083d5e82cfd770ebca0ba77b5070aec6928670240939a78681";
};
postPatch = ''
# dateutil upper bound was just to keep compatibility with Python 2.6
# see https://github.com/spulec/moto/pull/1519 and https://github.com/boto/botocore/pull/1402
# regarding aws-xray-sdk: https://github.com/spulec/moto/commit/31eac49e1555c5345021a252cb0c95043197ea16
substituteInPlace setup.py \
--replace "python-dateutil<2.7.0" "python-dateutil<3.0.0" \
--replace "aws-xray-sdk<0.96," "aws-xray-sdk" \
--replace "jsondiff==1.1.1" "jsondiff>=1.1.1"
'';
propagatedBuildInputs = [
aws-xray-sdk
boto
boto3
dateutil
flask
httpretty
jinja2
pytz
werkzeug
requests
six
xmltodict
mock
pyaml
backports_tempfile
cookies
jsondiff
botocore
docker
responses
];
checkInputs = [ boto3 nose sure freezegun ];
checkPhase = "nosetests";
# TODO: make this true; I think lots of the tests want network access but we can probably run the others
doCheck = false;
}