11import sys
22from argparse import ArgumentParser
3+ from typing import List
34
45import tomli
56
1213)
1314args = parser .parse_args ()
1415
15- header = "# Generated by 'tox -e deps', DO NOT EDIT MANUALLY!'\n "
16+
17+ def write_dependencies (dependency_name : str , dependencies : List [str ]) -> None :
18+ header = "# Generated by 'tox -e deps', DO NOT EDIT MANUALLY!'\n "
19+ with open (f"{ dependency_name } .in" , "w" ) as f :
20+ f .write (header )
21+ f .write ("\n " .join (dependencies ))
22+ f .write ("\n " )
23+
1624
1725with open ("../pyproject.toml" , "rb" ) as toml_file :
1826 pyproject = tomli .load (toml_file )
2129 raise RuntimeError ("No dependencies found in pyproject.toml" )
2230 dependencies = [dep .strip ().strip ('"' ) for dep in dependencies ]
2331
24- with open ("base.in" , "w" ) as f :
25- f .write (header )
26- f .write ("\n " .join (dependencies ))
32+ write_dependencies ("base" , dependencies )
2733
2834
2935def as_nightly (repo : str ) -> str :
@@ -39,10 +45,8 @@ def as_nightly(repo: str) -> str:
3945 return f"{ repo } @ git+https://github.com/{ org } /{ repo } @main"
4046
4147
42- nightly = args .nightly .split ("," ) if args .nightly else []
43- dependencies = [dep for dep in dependencies if not dep .startswith (tuple ( nightly ) )]
44- dependencies += [as_nightly (arg ) for arg in nightly ]
48+ nightly = tuple ( args .nightly .split ("," ) if args .nightly else [])
49+ nightly_dependencies = [dep for dep in dependencies if not dep .startswith (nightly )]
50+ nightly_dependencies += [as_nightly (arg ) for arg in nightly ]
4551
46- with open ("nightly.in" , "w" ) as f :
47- f .write (header )
48- f .write ("\n " .join (dependencies ))
52+ write_dependencies ("nightly" , nightly_dependencies )
0 commit comments