Coverage for sfkit/utils/constants.py: 100%

16 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-10-19 13:42 -0400

1import os 

2import shutil 

3 

4 

5def is_installed(binary: str) -> bool: 

6 return shutil.which(binary) is not None 

7 

8 

9SFKIT_API_URL = os.environ.get("SFKIT_API_URL", "https://sfkit.org/api") 

10METADATA_VM_IDENTITY_URL = ( 

11 "http://metadata.google.internal/computeMetadata/v1/" 

12 "instance/service-accounts/default/identity?" 

13 "audience={}&format={}&licenses={}" 

14) 

15BLOCKS_MODE = "usingblocks-" 

16SFKIT_DIR = os.environ.get("SFKIT_DIR", os.path.join(os.path.expanduser("~"), ".config", "sfkit")) 

17AUTH_FILE = os.path.join(SFKIT_DIR, "auth.txt") 

18AUTH_KEY = os.path.join(SFKIT_DIR, "auth_key.txt") 

19IS_DOCKER = os.path.exists("/.dockerenv") 

20IS_INSTALLED_VIA_SCRIPT = is_installed("sfgwas") and is_installed("plink2") and is_installed("GwasClient") 

21EXECUTABLES_PREFIX = os.path.expanduser("~") + "/.local/" if IS_INSTALLED_VIA_SCRIPT else "" 

22SFKIT_PREFIX = "sfkit: " 

23OUT_FOLDER = os.path.join(os.environ.get("SFKIT_DIR", ""), "out") 

24ENCRYPTED_DATA_FOLDER = os.path.join(os.environ.get("SFKIT_DIR", ""), "encrypted_data")