@@ -31,6 +31,20 @@ def read_version():
31
31
return read ("VERSION" ).strip ()
32
32
33
33
34
+ def read_requirements (filename ):
35
+ """Reads requirements file which lists package dependencies.
36
+
37
+ Args:
38
+ filename: type(str) Relative file path of requirements.txt file
39
+
40
+ Returns:
41
+ list of dependencies extracted from file
42
+ """
43
+ with open (os .path .abspath (filename )) as fp :
44
+ deps = [line .strip () for line in fp .readlines ()]
45
+ return deps
46
+
47
+
34
48
# Declare minimal set for installation
35
49
required_packages = [
36
50
"attrs==20.3.0" ,
@@ -47,43 +61,15 @@ def read_version():
47
61
]
48
62
49
63
# Specific use case dependencies
64
+ # Keep format of *_requirements.txt to be tracked by dependabot
50
65
extras = {
51
- "local" : [
52
- "urllib3==1.26.8" ,
53
- "docker-compose==1.29.2" ,
54
- "docker~=5.0.0" ,
55
- "PyYAML==5.4.1" , # PyYAML version has to match docker-compose requirements
56
- ],
57
- "scipy" : ["scipy==1.5.4" ],
66
+ "local" : read_requirements ("requirements/extras/local_requirements.txt" ),
67
+ "scipy" : read_requirements ("requirements/extras/scipy_requirements.txt" ),
58
68
}
59
69
# Meta dependency groups
60
70
extras ["all" ] = [item for group in extras .values () for item in group ]
61
71
# Tests specific dependencies (do not need to be included in 'all')
62
- extras ["test" ] = (
63
- [
64
- extras ["all" ],
65
- "tox==3.24.5" ,
66
- "flake8==4.0.1" ,
67
- "pytest==6.0.2" ,
68
- "pytest-cov==3.0.0" ,
69
- "pytest-rerunfailures==10.2" ,
70
- "pytest-timeout==2.1.0" ,
71
- "pytest-xdist==2.4.0" ,
72
- "coverage>=5.2, <6.2" ,
73
- "mock==4.0.3" ,
74
- "contextlib2==21.6.0" ,
75
- "awslogs==0.14.0" ,
76
- "black==22.1.0" ,
77
- "stopit==1.1.2" ,
78
- "apache-airflow==2.2.3" ,
79
- "apache-airflow-providers-amazon==3.0.0" ,
80
- "attrs==20.3.0" ,
81
- "fabric==2.6.0" ,
82
- "requests==2.27.1" ,
83
- "sagemaker-experiments==0.1.35" ,
84
- "Jinja2==3.0.3" ,
85
- ],
86
- )
72
+ extras ["test" ] = (extras ["all" ] + read_requirements ("requirements/extras/test_requirements.txt" ),)
87
73
88
74
setup (
89
75
name = "sagemaker" ,
0 commit comments