1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, httpx
5, pydantic
6, pytestCheckHook
7, pythonOlder
8}:
9
10buildPythonPackage rec {
11 pname = "pycfmodel";
12 version = "0.20.2";
13 format = "setuptools";
14
15 disabled = pythonOlder "3.7";
16
17 src = fetchFromGitHub {
18 owner = "Skyscanner";
19 repo = pname;
20 rev = "refs/tags/${version}";
21 hash = "sha256-TumqpNaxH9YET56PhTXJVG/OQw3syXaYNtHn+Vyh6xI=";
22 };
23
24 propagatedBuildInputs = [
25 pydantic
26 ];
27
28 checkInputs = [
29 httpx
30 pytestCheckHook
31 ];
32
33 disabledTests = [
34 # Test require network access
35 "test_cloudformation_actions"
36 "test_auxiliar_cast"
37 "test_valid_es_domain_from_aws_documentation_examples_resource_can_be_built"
38 "test_valid_opensearch_domain_from_aws_documentation_examples_resource_can_be_built"
39 "test_resolve_booleans_different_properties_for_generic_resource"
40 ];
41
42 pythonImportsCheck = [
43 "pycfmodel"
44 ];
45
46 meta = with lib; {
47 description = "Model for Cloud Formation scripts";
48 homepage = "https://github.com/Skyscanner/pycfmodel";
49 license = licenses.asl20;
50 maintainers = with maintainers; [ fab ];
51 };
52}