-
Notifications
You must be signed in to change notification settings - Fork 1
/
env.py
37 lines (27 loc) · 1011 Bytes
/
env.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
"""
Runtime environment settings
"""
import os as _os
import sys as _sys
def is_idle() -> bool:
"""Returns True if the script is running within IDLE, False otherwise"""
return 'idlelib' in _sys.modules
def is_powershell() -> bool:
"""Returns True if the script is running within PowerShell, False otherwise"""
# per mklement0 via https://stackoverflow.com/a/55598796/5645103
return is_win32() and len(_os.getenv('PSModulePath', '').split(_os.pathsep)) >= 3
def is_launcher() -> bool:
"""
Returns True if the script is running within the Python launcher,
False otherwise
"""
return not is_idle()
def is_posix() -> bool:
"""
Returns True if the script is running within a Posix machine,
False otherwise
"""
return any(_sys.platform.startswith(x) for x in ('linux', 'darwin')) # darwin for macOS
def is_win32() -> bool:
"""Returns True if the script is running within a win32 machine, False otherwise"""
return _sys.platform == 'win32'