@@ -53,11 +53,12 @@ def dev(session: nox.Session) -> None:
53
53
session .run ("python" , "-m" , "venv" , VENV_PATH , "--upgrade-deps" )
54
54
55
55
python = partial (session .run , f"{ venv_path } /python" , "-m" )
56
+ contraint = ("--constraint" , f"{ REQUIREMENTS_PATH } /constraints.txt" )
56
57
57
- requirement_files = get_requirement_files ()
58
- for requirement_file in requirement_files :
59
- python ( "pip" , "install" , "-r" , requirement_file , external = True )
60
- python ("pip" , "install" , "--editable" , "." , external = True )
58
+ for requirement_file in get_requirement_files ():
59
+ python ( "pip" , "install" , "-r" , requirement_file , * contraint , external = True )
60
+
61
+ python ("pip" , "install" , "--editable" , "." , * contraint , external = True )
61
62
62
63
python ("pip" , "install" , "pre-commit" , external = True )
63
64
session .run (f"{ venv_path } /pre-commit" , "install" , external = True )
@@ -71,9 +72,9 @@ def run_tests_with_coverage(session: nox.Session) -> None:
71
72
"""Run pytest with coverage, outputs console report and json."""
72
73
print_standard_logs (session )
73
74
74
- session . install ( ". " )
75
- session . install ( "-r" , f" { REQUIREMENTS_PATH } /requirements.txt" )
76
- session .install ("-r " , f" { REQUIREMENTS_PATH } /requirements-test.txt" )
75
+ contraint = ( "--constraint" , f" { REQUIREMENTS_PATH } /constraints.txt " )
76
+
77
+ session .install (".[test] " , * contraint )
77
78
78
79
coverage = partial (session .run , "python" , "-m" , "coverage" )
79
80
@@ -92,7 +93,9 @@ def coverage_combine(session: nox.Session) -> None:
92
93
"""CI: Combine parallel-mode coverage files and produce reports."""
93
94
print_standard_logs (session )
94
95
95
- session .install ("-r" , f"{ REQUIREMENTS_PATH } /requirements-test.txt" )
96
+ contraint = ("--constraint" , f"{ REQUIREMENTS_PATH } /constraints.txt" )
97
+
98
+ session .install ("-r" , f"{ REQUIREMENTS_PATH } /requirements-test.txt" , * contraint )
96
99
97
100
coverage = partial (session .run , "python" , "-m" , "coverage" )
98
101
coverage ("combine" )
@@ -105,9 +108,8 @@ def run_linters_and_formatters(session: nox.Session) -> None:
105
108
"""Run code formatters, linters, and type checking against all files."""
106
109
print_standard_logs (session )
107
110
108
- session .install ("." )
109
- session .install ("-r" , f"{ REQUIREMENTS_PATH } /requirements.txt" )
110
- session .install ("-r" , f"{ REQUIREMENTS_PATH } /requirements-dev.txt" )
111
+ contraint = ("--constraint" , f"{ REQUIREMENTS_PATH } /constraints.txt" )
112
+ session .install (".[dev]" , * contraint )
111
113
112
114
python = partial (session .run , "python" , "-m" )
113
115
@@ -143,16 +145,15 @@ def update_deps(session: nox.Session) -> None:
143
145
"""Process requirement*.txt files, updating only additions/removals."""
144
146
print_standard_logs (session )
145
147
146
- requirement_files = get_requirement_files ()
147
-
148
148
session .install ("pip-tools" )
149
149
session .run (
150
150
"pip-compile" ,
151
+ "--strip-extras" ,
151
152
"--no-annotate" ,
152
153
"--no-emit-index-url" ,
153
154
"--output-file" ,
154
155
f"{ REQUIREMENTS_PATH } /constraints.txt" ,
155
- * requirement_files ,
156
+ * get_requirement_files () ,
156
157
)
157
158
158
159
@@ -161,17 +162,16 @@ def upgrade_deps(session: nox.Session) -> None:
161
162
"""Process requirement*.txt files and upgrade all libraries as possible."""
162
163
print_standard_logs (session )
163
164
164
- requirement_files = get_requirement_files ()
165
-
166
165
session .install ("pip-tools" )
167
166
session .run (
168
167
"pip-compile" ,
168
+ "--strip-extras" ,
169
169
"--no-annotate" ,
170
170
"--no-emit-index-url" ,
171
171
"--upgrade" ,
172
172
"--output-file" ,
173
173
f"{ REQUIREMENTS_PATH } /constraints.txt" ,
174
- * requirement_files ,
174
+ * get_requirement_files () ,
175
175
)
176
176
177
177
0 commit comments