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

74 lines
1.6 KiB
Nix
Raw Normal View History

{ lib
, blinker
, botocore
, buildPythonPackage
, fetchFromGitHub
, pytest-mock
, pytestCheckHook
, python-dateutil
, pythonOlder
, requests
, typing-extensions
}:
buildPythonPackage rec {
pname = "pynamodb";
version = "5.5.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "pynamodb";
repo = "PynamoDB";
rev = "refs/tags/${version}";
hash = "sha256-VZHEXAuHGn10EMkyd8hibipu6tw5JvOP4XwdB+xdjN8=";
};
propagatedBuildInputs = [
python-dateutil
botocore
] ++ lib.optionals (pythonOlder "3.8") [
typing-extensions
];
passthru.optional-dependencies = {
signal = [
blinker
];
};
nativeCheckInputs = [
pytest-mock
pytestCheckHook
] ++ passthru.optional-dependencies.signal;
pythonImportsCheck = [
"pynamodb"
];
disabledTests = [
# Tests requires credentials or network access
"test_binary_attribute_update"
"test_binary_set_attribute_update"
"test_connection_integration"
"test_make_api_call__happy_path"
"test_model_integration"
"test_sign_request"
"test_table_integration"
"test_transact"
];
meta = with lib; {
description = "Interface for Amazons DynamoDB";
longDescription = ''
DynamoDB is a great NoSQL service provided by Amazon, but the API is
verbose. PynamoDB presents you with a simple, elegant API.
'';
homepage = "http://jlafon.io/pynamodb.html";
changelog = "https://github.com/pynamodb/PynamoDB/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ ];
};
}