1
- from setuptools import setup , find_packages
1
+ # Force lite installation if environment variable is set
2
2
import os
3
+
4
+ if os .environ .get ("NPCSH_LITE_INSTALL" , "" ).lower () == "true" :
5
+ import sys
6
+
7
+ sys .argv .append ("--config-settings" )
8
+ sys .argv .append ("install.lite=true" )
9
+
10
+ from setuptools import setup , find_packages
3
11
import site
4
- import sys
5
12
import platform
6
13
from pathlib import Path
7
14
@@ -89,8 +96,8 @@ def get_setup_message():
89
96
"screeninfo" ,
90
97
]
91
98
92
- # Define full requirements
93
- full_requirements = core_requirements + [
99
+ # Define additional requirements for full installation
100
+ extra_requirements = [
94
101
"sentence_transformers" ,
95
102
"opencv-python" ,
96
103
"ollama" ,
@@ -110,22 +117,21 @@ def get_setup_message():
110
117
111
118
extra_files = package_files ("npcsh/npc_team/" )
112
119
113
- # Choose requirements based on environment variables
114
- is_lite = os .environ .get ("NPCSH_LITE_INSTALL" , "" ).lower () == "true"
115
- is_audio = os .environ .get ("NPCSH_AUDIO_INSTALL" , "" ).lower () == "true"
116
120
117
- if is_lite :
118
- requirements = core_requirements
119
- elif is_audio :
120
- requirements = full_requirements + audio_requirements
121
- else :
122
- requirements = full_requirements
121
+ def get_requirements ():
122
+ # Check if lite installation was requested via sys.argv
123
+ if any ("install.lite=true" in arg for arg in sys .argv ):
124
+ return core_requirements
125
+ elif os .environ .get ("NPCSH_AUDIO_INSTALL" , "" ).lower () == "true" :
126
+ return core_requirements + extra_requirements + audio_requirements
127
+ return core_requirements + extra_requirements
128
+
123
129
124
130
setup (
125
131
name = "npcsh" ,
126
- version = "0.3.27" ,
132
+ version = "0.3.27.1 " ,
127
133
packages = find_packages (exclude = ["tests*" ]),
128
- install_requires = requirements ,
134
+ install_requires = get_requirements () ,
129
135
entry_points = {
130
136
"console_scripts" : [
131
137
"npcsh=npcsh.shell:main" ,
0 commit comments