Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, buildPythonPackage 3, click 4, colorama 5, configparser 6, distro 7, fetchFromGitHub 8, gevent 9, jinja2 10, paramiko 11, pytestCheckHook 12, python-dateutil 13, pythonOlder 14, pywinrm 15, pyyaml 16, setuptools 17}: 18 19buildPythonPackage rec { 20 pname = "pyinfra"; 21 version = "2.7"; 22 format = "setuptools"; 23 24 disabled = pythonOlder "3.7"; 25 26 src = fetchFromGitHub { 27 owner = "Fizzadar"; 28 repo = pname; 29 rev = "refs/tags/v${version}"; 30 hash = "sha256-drfxNpdhqSxCeB0SbwyKOd3DDA7bFkmDmFQJS3JwOlA="; 31 }; 32 33 propagatedBuildInputs = [ 34 click 35 colorama 36 configparser 37 distro 38 gevent 39 jinja2 40 paramiko 41 python-dateutil 42 pywinrm 43 pyyaml 44 setuptools 45 ]; 46 47 nativeCheckInputs = [ 48 pytestCheckHook 49 ]; 50 51 pythonImportsCheck = [ 52 "pyinfra" 53 ]; 54 55 disabledTests = [ 56 # Test requires SSH binary 57 "test_load_ssh_config" 58 ]; 59 60 meta = with lib; { 61 description = "Python-based infrastructure automation"; 62 longDescription = '' 63 pyinfra automates/provisions/manages/deploys infrastructure. It can be used for 64 ad-hoc command execution, service deployment, configuration management and more. 65 ''; 66 homepage = "https://pyinfra.com"; 67 downloadPage = "https://pyinfra.com/Fizzadar/pyinfra/releases"; 68 changelog = "https://github.com/Fizzadar/pyinfra/blob/v${version}/CHANGELOG.md"; 69 maintainers = with maintainers; [ totoroot ]; 70 license = licenses.mit; 71 }; 72}