cli completion doc updates, hide legacy import warning (#279)

* core/cli: hide warnings when autocompleting

* link to completion in setup/troubleshooting
* update completion docs to make source path clear
This commit is contained in:
seanbreckenridge 2023-03-06 13:36:36 -08:00 committed by GitHub
parent 9d231a8ea9
commit 79eeab2128
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 5 deletions

View file

@ -1,4 +1,5 @@
# I think 'compat' should be for python-specific compat stuff, whereas this for HPI specific backwards compatibility
import os
import inspect
import re
from typing import List
@ -45,8 +46,12 @@ def handle_legacy_import(
if re.match(rf'from\s+{parent_module_name}\s+import\s+{legacy_submodule_name}', line):
importing_submodule = True
# click sets '_HPI_COMPLETE' env var when it's doing autocompletion
# otherwise, the warning will be printed every time you try to tab complete
autocompleting_module_cli = "_HPI_COMPLETE" in os.environ
is_legacy_import = not (imported_as_parent or importing_submodule)
if is_legacy_import:
if is_legacy_import and not autocompleting_module_cli:
W.high(f'''\
importing {parent_module_name} is DEPRECATED! \
Instead, import from {parent_module_name}.{legacy_submodule_name} or {parent_module_name}.all \