1{ lib
2, buildPythonPackage
3, etcd
4, fetchFromGitHub
5, grpcio
6, hypothesis
7, mock
8, pifpaf
9, protobuf
10, pytestCheckHook
11, six
12, tenacity
13}:
14
15buildPythonPackage rec {
16 pname = "etcd3";
17 version = "0.12.0";
18 format = "setuptools";
19
20 src = fetchFromGitHub {
21 owner = "kragniz";
22 repo = "python-etcd3";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-YM72+fkCDYXl6DORJa/O0sqXqHDWQcFLv2ifQ9kEHBo=";
25 };
26
27 propagatedBuildInputs = [
28 grpcio
29 protobuf
30 six
31 tenacity
32 ];
33
34 # various failures and incompatible with newer hypothesis versions
35 doCheck = false;
36
37 nativeCheckInputs = [
38 etcd
39 hypothesis
40 mock
41 pifpaf
42 pytestCheckHook
43 ];
44
45 preCheck = ''
46 pifpaf -e PYTHON run etcd --cluster
47 '';
48
49 pythonImportsCheck = [
50 "etcd3"
51 ];
52
53 meta = with lib; {
54 description = "Python client for the etcd API v3";
55 homepage = "https://github.com/kragniz/python-etcd3";
56 license = licenses.asl20;
57 maintainers = with maintainers; [ ];
58 };
59}