@@ -53,11 +53,12 @@ def dev(session: nox.Session) -> None:
5353 session .run ("python" , "-m" , "venv" , VENV_PATH , "--upgrade-deps" )
5454
5555 python = partial (session .run , f"{ venv_path } /python" , "-m" )
56+ contraint = ("--constraint" , f"{ REQUIREMENTS_PATH } /constraints.txt" )
5657
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 )
6162
6263 python ("pip" , "install" , "pre-commit" , external = True )
6364 session .run (f"{ venv_path } /pre-commit" , "install" , external = True )
@@ -71,9 +72,9 @@ def run_tests_with_coverage(session: nox.Session) -> None:
7172 """Run pytest with coverage, outputs console report and json."""
7273 print_standard_logs (session )
7374
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 )
7778
7879 coverage = partial (session .run , "python" , "-m" , "coverage" )
7980
@@ -92,7 +93,9 @@ def coverage_combine(session: nox.Session) -> None:
9293 """CI: Combine parallel-mode coverage files and produce reports."""
9394 print_standard_logs (session )
9495
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 )
9699
97100 coverage = partial (session .run , "python" , "-m" , "coverage" )
98101 coverage ("combine" )
@@ -105,9 +108,8 @@ def run_linters_and_formatters(session: nox.Session) -> None:
105108 """Run code formatters, linters, and type checking against all files."""
106109 print_standard_logs (session )
107110
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 )
111113
112114 python = partial (session .run , "python" , "-m" )
113115
@@ -143,16 +145,15 @@ def update_deps(session: nox.Session) -> None:
143145 """Process requirement*.txt files, updating only additions/removals."""
144146 print_standard_logs (session )
145147
146- requirement_files = get_requirement_files ()
147-
148148 session .install ("pip-tools" )
149149 session .run (
150150 "pip-compile" ,
151+ "--strip-extras" ,
151152 "--no-annotate" ,
152153 "--no-emit-index-url" ,
153154 "--output-file" ,
154155 f"{ REQUIREMENTS_PATH } /constraints.txt" ,
155- * requirement_files ,
156+ * get_requirement_files () ,
156157 )
157158
158159
@@ -161,17 +162,16 @@ def upgrade_deps(session: nox.Session) -> None:
161162 """Process requirement*.txt files and upgrade all libraries as possible."""
162163 print_standard_logs (session )
163164
164- requirement_files = get_requirement_files ()
165-
166165 session .install ("pip-tools" )
167166 session .run (
168167 "pip-compile" ,
168+ "--strip-extras" ,
169169 "--no-annotate" ,
170170 "--no-emit-index-url" ,
171171 "--upgrade" ,
172172 "--output-file" ,
173173 f"{ REQUIREMENTS_PATH } /constraints.txt" ,
174- * requirement_files ,
174+ * get_requirement_files () ,
175175 )
176176
177177
0 commit comments