@@ -28,6 +28,7 @@ except ImportError:
2828 raise error
2929 return output
3030
31+ PIP_IGNORE_FILE = u'.pipignore'
3132
3233check_output = partial (_check_output , shell = True )
3334
@@ -131,7 +132,7 @@ def get_latest_versions(pkg_names):
131132 return zip (pkg_names , versions )
132133
133134
134- def get_installed_pkgs (local = False ):
135+ def get_installed_pkgs (ignores , local = False ):
135136 logger = logging .getLogger (u'pip-review' )
136137 command = 'pip freeze'
137138 if local :
@@ -147,9 +148,13 @@ def get_installed_pkgs(local=False):
147148 name = line .split ('#egg=' , 1 )[1 ]
148149 if name .endswith ('-dev' ):
149150 name = name [:- 4 ]
151+ if name in ignores :
152+ continue
150153 yield name , 'dev' , 'dev' , True
151154 else :
152155 name , version = line .split ('==' )
156+ if name in ignores :
157+ continue
153158 yield name , parse_version (version ), version , False
154159
155160
@@ -231,7 +236,9 @@ def main():
231236 'Are you sure? [y/n] ' ):
232237 raise SystemExit ('Quitting' )
233238
234- installed = list (get_installed_pkgs (local = args .local ))
239+ with open ('.pipignore' , 'r' ) as ignore_file :
240+ ignores = set ([x .strip () for x in ignore_file .readlines ()])
241+ installed = list (get_installed_pkgs (ignores , local = args .local ))
235242 lookup_on_pypi = [name for name , _ , _ , editable in installed
236243 if not editable or args .editables ]
237244 latest_versions = dict (get_latest_versions (lookup_on_pypi ))
0 commit comments