"""simple docstring"""






# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


lowerCAmelCase__  :  Tuple						     =	subprocess.check_output('git merge-base main HEAD'.split()).decode('utf-8')
lowerCAmelCase__  :  int						     =	subprocess.check_output(F"""git diff --name-only {fork_point_sha}""".split()).decode('utf-8').split()

lowerCAmelCase__  :  Any						     =	'|'.join(sys.argv[1:])
lowerCAmelCase__  :  List[Any]						     =	re.compile(rF"""^({joined_dirs}).*?\.py$""")

lowerCAmelCase__  :  Optional[Any]						     =	[x for x in modified_files if regex.match(x)]
print(' '.join(relevant_modified_files), end='')






def 		_lowercase (     lowercase__   ,	lowercase__						):

      if density <= 0:
            raise ValueError('''Impossible fluid density'''						)
      if bulk_modulus <= 0:
            raise ValueError('''Impossible bulk modulus'''						)

      return (bulk_modulus / density) ** 0.5


if __name__ == "__main__":
 import doctest

 doctest.testmod()


