depot/third_party/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix

128 lines
2.1 KiB
Nix
Raw Normal View History

{ lib
, attrs
, buildPythonPackage
, bson
, boto3
, botocore
, cattrs
, fetchFromGitHub
, itsdangerous
, platformdirs
, poetry-core
, psutil
, pymongo
, pytestCheckHook
, pytest-rerunfailures
, pytest-xdist
, pythonOlder
, pyyaml
, redis
, requests
, requests-mock
, responses
, rich
, tenacity
, time-machine
, timeout-decorator
, ujson
, urllib3
, url-normalize
}:
buildPythonPackage rec {
pname = "requests-cache";
version = "1.2.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "requests-cache";
repo = "requests-cache";
rev = "refs/tags/v${version}";
hash = "sha256-w1ptKi/MH3kGZxLMUNq/Gs6btGx+n2fG4nfQUXCXmiY=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
attrs
cattrs
platformdirs
requests
urllib3
url-normalize
];
passthru.optional-dependencies = {
dynamodb = [
boto3
botocore
];
mongodbo = [
pymongo
];
redis = [
redis
];
bson = [
bson
];
json = [
ujson
];
security = [
itsdangerous
];
yaml = [
pyyaml
];
};
nativeCheckInputs = [
psutil
pytestCheckHook
pytest-rerunfailures
pytest-xdist
requests-mock
responses
rich
tenacity
time-machine
timeout-decorator
]
++ passthru.optional-dependencies.json
++ passthru.optional-dependencies.security;
preCheck = ''
export HOME=$(mktemp -d);
'';
pytestFlagsArray = [
# Integration tests require local DBs
"tests/unit"
];
disabledTests = [
# Tests are flaky in the sandbox
"test_remove_expired_responses"
# Tests that broke with urllib 2.0.5
"test_request_only_if_cached__stale_if_error__expired"
"test_stale_if_error__error_code"
];
pythonImportsCheck = [
"requests_cache"
];
meta = with lib; {
description = "Persistent cache for requests library";
homepage = "https://github.com/reclosedev/requests-cache";
changelog = "https://github.com/requests-cache/requests-cache/blob/v${version}/HISTORY.md";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
};
}