npcsh 0.3.27.1__tar.gz → 0.3.27.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {npcsh-0.3.27.1/npcsh.egg-info → npcsh-0.3.27.2}/PKG-INFO +43 -29
- {npcsh-0.3.27.1 → npcsh-0.3.27.2/npcsh.egg-info}/PKG-INFO +43 -29
- npcsh-0.3.27.2/npcsh.egg-info/requires.txt +55 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/setup.py +26 -52
- npcsh-0.3.27.1/npcsh.egg-info/requires.txt +0 -38
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/LICENSE +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/MANIFEST.in +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/README.md +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/__init__.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/audio.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/cli.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/command_history.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/conversation.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/data_models.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/dataframes.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/embeddings.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/helpers.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/image.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/image_gen.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/knowledge_graph.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/llm_funcs.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/load_data.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/main.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/model_runner.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_compiler.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_sysenv.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/assembly_lines/test_pipeline.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/corca.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/foreman.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/npcsh.ctx +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/sibiji.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/analytics/celona.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/hr_support/raone.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/humanities/eriane.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/it_support/lineru.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/marketing/slean.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/philosophy/maurawa.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/sales/turnic.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/templates/software/welxor.npc +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/tools/calculator.tool +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/tools/generic_search.tool +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/tools/image_generation.tool +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/tools/local_search.tool +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/tools/screen_cap.tool +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/npc_team/tools/sql_executor.tool +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/plonk.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/response.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/search.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/serve.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/shell.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/shell_helpers.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/stream.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh/video.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh.egg-info/SOURCES.txt +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh.egg-info/dependency_links.txt +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh.egg-info/entry_points.txt +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/npcsh.egg-info/top_level.txt +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/setup.cfg +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_chromadb.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_embedding_check.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_embedding_methods.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_helpers.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_knowledge_graph_rag.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_llm_funcs.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_networkx_vis.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_npc_compiler.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_npcsh.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_npcteam.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_shell_helpers.py +0 -0
- {npcsh-0.3.27.1 → npcsh-0.3.27.2}/tests/test_tool_use.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: npcsh
|
|
3
|
-
Version: 0.3.27.
|
|
3
|
+
Version: 0.3.27.2
|
|
4
4
|
Summary: npcsh is a command line tool for integrating LLMs into everyday workflows and for orchestrating teams of NPCs.
|
|
5
5
|
Home-page: https://github.com/cagostino/npcsh
|
|
6
6
|
Author: Christopher Agostino
|
|
@@ -10,44 +10,57 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
|
-
Requires-Dist: redis
|
|
14
|
-
Requires-Dist: flask_sse
|
|
15
|
-
Requires-Dist: anthropic
|
|
16
|
-
Requires-Dist: beautifulsoup4
|
|
17
|
-
Requires-Dist: google-generativeai
|
|
18
|
-
Requires-Dist: google-genai
|
|
19
|
-
Requires-Dist: duckduckgo-search
|
|
20
|
-
Requires-Dist: openai
|
|
21
13
|
Requires-Dist: jinja2
|
|
14
|
+
Requires-Dist: scipy
|
|
15
|
+
Requires-Dist: numpy
|
|
22
16
|
Requires-Dist: requests
|
|
23
17
|
Requires-Dist: markdown
|
|
24
18
|
Requires-Dist: PyYAML
|
|
25
|
-
Requires-Dist: langchain
|
|
26
|
-
Requires-Dist: langchain_community
|
|
27
19
|
Requires-Dist: pygments
|
|
28
20
|
Requires-Dist: termcolor
|
|
29
21
|
Requires-Dist: colorama
|
|
30
22
|
Requires-Dist: python-dotenv
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
23
|
+
Requires-Dist: pandas
|
|
24
|
+
Requires-Dist: beautifulsoup4
|
|
25
|
+
Requires-Dist: duckduckgo-search
|
|
33
26
|
Requires-Dist: flask
|
|
34
27
|
Requires-Dist: flask_cors
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
|
|
50
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: redis
|
|
29
|
+
Requires-Dist: flask_sse
|
|
30
|
+
Provides-Extra: lite
|
|
31
|
+
Requires-Dist: anthropic; extra == "lite"
|
|
32
|
+
Requires-Dist: openai; extra == "lite"
|
|
33
|
+
Requires-Dist: google-generativeai; extra == "lite"
|
|
34
|
+
Requires-Dist: google-genai; extra == "lite"
|
|
35
|
+
Provides-Extra: local
|
|
36
|
+
Requires-Dist: sentence_transformers; extra == "local"
|
|
37
|
+
Requires-Dist: opencv-python; extra == "local"
|
|
38
|
+
Requires-Dist: ollama; extra == "local"
|
|
39
|
+
Requires-Dist: kuzu; extra == "local"
|
|
40
|
+
Requires-Dist: chromadb; extra == "local"
|
|
41
|
+
Requires-Dist: diffusers; extra == "local"
|
|
42
|
+
Provides-Extra: whisper
|
|
43
|
+
Requires-Dist: openai-whisper; extra == "whisper"
|
|
44
|
+
Requires-Dist: pyaudio; extra == "whisper"
|
|
45
|
+
Requires-Dist: gtts; extra == "whisper"
|
|
46
|
+
Requires-Dist: playsound==1.2.2; extra == "whisper"
|
|
47
|
+
Requires-Dist: pyttsx3; extra == "whisper"
|
|
48
|
+
Provides-Extra: all
|
|
49
|
+
Requires-Dist: anthropic; extra == "all"
|
|
50
|
+
Requires-Dist: openai; extra == "all"
|
|
51
|
+
Requires-Dist: google-generativeai; extra == "all"
|
|
52
|
+
Requires-Dist: google-genai; extra == "all"
|
|
53
|
+
Requires-Dist: sentence_transformers; extra == "all"
|
|
54
|
+
Requires-Dist: opencv-python; extra == "all"
|
|
55
|
+
Requires-Dist: ollama; extra == "all"
|
|
56
|
+
Requires-Dist: kuzu; extra == "all"
|
|
57
|
+
Requires-Dist: chromadb; extra == "all"
|
|
58
|
+
Requires-Dist: diffusers; extra == "all"
|
|
59
|
+
Requires-Dist: openai-whisper; extra == "all"
|
|
60
|
+
Requires-Dist: pyaudio; extra == "all"
|
|
61
|
+
Requires-Dist: gtts; extra == "all"
|
|
62
|
+
Requires-Dist: playsound==1.2.2; extra == "all"
|
|
63
|
+
Requires-Dist: pyttsx3; extra == "all"
|
|
51
64
|
Dynamic: author
|
|
52
65
|
Dynamic: author-email
|
|
53
66
|
Dynamic: classifier
|
|
@@ -55,6 +68,7 @@ Dynamic: description
|
|
|
55
68
|
Dynamic: description-content-type
|
|
56
69
|
Dynamic: home-page
|
|
57
70
|
Dynamic: license-file
|
|
71
|
+
Dynamic: provides-extra
|
|
58
72
|
Dynamic: requires-dist
|
|
59
73
|
Dynamic: requires-python
|
|
60
74
|
Dynamic: summary
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: npcsh
|
|
3
|
-
Version: 0.3.27.
|
|
3
|
+
Version: 0.3.27.2
|
|
4
4
|
Summary: npcsh is a command line tool for integrating LLMs into everyday workflows and for orchestrating teams of NPCs.
|
|
5
5
|
Home-page: https://github.com/cagostino/npcsh
|
|
6
6
|
Author: Christopher Agostino
|
|
@@ -10,44 +10,57 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
10
10
|
Requires-Python: >=3.10
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE
|
|
13
|
-
Requires-Dist: redis
|
|
14
|
-
Requires-Dist: flask_sse
|
|
15
|
-
Requires-Dist: anthropic
|
|
16
|
-
Requires-Dist: beautifulsoup4
|
|
17
|
-
Requires-Dist: google-generativeai
|
|
18
|
-
Requires-Dist: google-genai
|
|
19
|
-
Requires-Dist: duckduckgo-search
|
|
20
|
-
Requires-Dist: openai
|
|
21
13
|
Requires-Dist: jinja2
|
|
14
|
+
Requires-Dist: scipy
|
|
15
|
+
Requires-Dist: numpy
|
|
22
16
|
Requires-Dist: requests
|
|
23
17
|
Requires-Dist: markdown
|
|
24
18
|
Requires-Dist: PyYAML
|
|
25
|
-
Requires-Dist: langchain
|
|
26
|
-
Requires-Dist: langchain_community
|
|
27
19
|
Requires-Dist: pygments
|
|
28
20
|
Requires-Dist: termcolor
|
|
29
21
|
Requires-Dist: colorama
|
|
30
22
|
Requires-Dist: python-dotenv
|
|
31
|
-
Requires-Dist:
|
|
32
|
-
Requires-Dist:
|
|
23
|
+
Requires-Dist: pandas
|
|
24
|
+
Requires-Dist: beautifulsoup4
|
|
25
|
+
Requires-Dist: duckduckgo-search
|
|
33
26
|
Requires-Dist: flask
|
|
34
27
|
Requires-Dist: flask_cors
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist:
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
|
|
43
|
-
Requires-Dist:
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist:
|
|
46
|
-
Requires-Dist:
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
|
|
50
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: redis
|
|
29
|
+
Requires-Dist: flask_sse
|
|
30
|
+
Provides-Extra: lite
|
|
31
|
+
Requires-Dist: anthropic; extra == "lite"
|
|
32
|
+
Requires-Dist: openai; extra == "lite"
|
|
33
|
+
Requires-Dist: google-generativeai; extra == "lite"
|
|
34
|
+
Requires-Dist: google-genai; extra == "lite"
|
|
35
|
+
Provides-Extra: local
|
|
36
|
+
Requires-Dist: sentence_transformers; extra == "local"
|
|
37
|
+
Requires-Dist: opencv-python; extra == "local"
|
|
38
|
+
Requires-Dist: ollama; extra == "local"
|
|
39
|
+
Requires-Dist: kuzu; extra == "local"
|
|
40
|
+
Requires-Dist: chromadb; extra == "local"
|
|
41
|
+
Requires-Dist: diffusers; extra == "local"
|
|
42
|
+
Provides-Extra: whisper
|
|
43
|
+
Requires-Dist: openai-whisper; extra == "whisper"
|
|
44
|
+
Requires-Dist: pyaudio; extra == "whisper"
|
|
45
|
+
Requires-Dist: gtts; extra == "whisper"
|
|
46
|
+
Requires-Dist: playsound==1.2.2; extra == "whisper"
|
|
47
|
+
Requires-Dist: pyttsx3; extra == "whisper"
|
|
48
|
+
Provides-Extra: all
|
|
49
|
+
Requires-Dist: anthropic; extra == "all"
|
|
50
|
+
Requires-Dist: openai; extra == "all"
|
|
51
|
+
Requires-Dist: google-generativeai; extra == "all"
|
|
52
|
+
Requires-Dist: google-genai; extra == "all"
|
|
53
|
+
Requires-Dist: sentence_transformers; extra == "all"
|
|
54
|
+
Requires-Dist: opencv-python; extra == "all"
|
|
55
|
+
Requires-Dist: ollama; extra == "all"
|
|
56
|
+
Requires-Dist: kuzu; extra == "all"
|
|
57
|
+
Requires-Dist: chromadb; extra == "all"
|
|
58
|
+
Requires-Dist: diffusers; extra == "all"
|
|
59
|
+
Requires-Dist: openai-whisper; extra == "all"
|
|
60
|
+
Requires-Dist: pyaudio; extra == "all"
|
|
61
|
+
Requires-Dist: gtts; extra == "all"
|
|
62
|
+
Requires-Dist: playsound==1.2.2; extra == "all"
|
|
63
|
+
Requires-Dist: pyttsx3; extra == "all"
|
|
51
64
|
Dynamic: author
|
|
52
65
|
Dynamic: author-email
|
|
53
66
|
Dynamic: classifier
|
|
@@ -55,6 +68,7 @@ Dynamic: description
|
|
|
55
68
|
Dynamic: description-content-type
|
|
56
69
|
Dynamic: home-page
|
|
57
70
|
Dynamic: license-file
|
|
71
|
+
Dynamic: provides-extra
|
|
58
72
|
Dynamic: requires-dist
|
|
59
73
|
Dynamic: requires-python
|
|
60
74
|
Dynamic: summary
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
jinja2
|
|
2
|
+
scipy
|
|
3
|
+
numpy
|
|
4
|
+
requests
|
|
5
|
+
markdown
|
|
6
|
+
PyYAML
|
|
7
|
+
pygments
|
|
8
|
+
termcolor
|
|
9
|
+
colorama
|
|
10
|
+
python-dotenv
|
|
11
|
+
pandas
|
|
12
|
+
beautifulsoup4
|
|
13
|
+
duckduckgo-search
|
|
14
|
+
flask
|
|
15
|
+
flask_cors
|
|
16
|
+
redis
|
|
17
|
+
flask_sse
|
|
18
|
+
|
|
19
|
+
[all]
|
|
20
|
+
anthropic
|
|
21
|
+
openai
|
|
22
|
+
google-generativeai
|
|
23
|
+
google-genai
|
|
24
|
+
sentence_transformers
|
|
25
|
+
opencv-python
|
|
26
|
+
ollama
|
|
27
|
+
kuzu
|
|
28
|
+
chromadb
|
|
29
|
+
diffusers
|
|
30
|
+
openai-whisper
|
|
31
|
+
pyaudio
|
|
32
|
+
gtts
|
|
33
|
+
playsound==1.2.2
|
|
34
|
+
pyttsx3
|
|
35
|
+
|
|
36
|
+
[lite]
|
|
37
|
+
anthropic
|
|
38
|
+
openai
|
|
39
|
+
google-generativeai
|
|
40
|
+
google-genai
|
|
41
|
+
|
|
42
|
+
[local]
|
|
43
|
+
sentence_transformers
|
|
44
|
+
opencv-python
|
|
45
|
+
ollama
|
|
46
|
+
kuzu
|
|
47
|
+
chromadb
|
|
48
|
+
diffusers
|
|
49
|
+
|
|
50
|
+
[whisper]
|
|
51
|
+
openai-whisper
|
|
52
|
+
pyaudio
|
|
53
|
+
gtts
|
|
54
|
+
playsound==1.2.2
|
|
55
|
+
pyttsx3
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
# Force lite installation if environment variable is set
|
|
2
|
-
import os
|
|
3
|
-
|
|
4
|
-
import sys
|
|
5
|
-
|
|
6
|
-
if os.environ.get("NPCSH_LITE_INSTALL", "").lower() == "true":
|
|
7
|
-
|
|
8
|
-
sys.argv.append("--config-settings")
|
|
9
|
-
sys.argv.append("install.lite=true")
|
|
10
|
-
|
|
11
1
|
from setuptools import setup, find_packages
|
|
12
2
|
import site
|
|
13
3
|
import platform
|
|
14
4
|
from pathlib import Path
|
|
5
|
+
import os
|
|
15
6
|
|
|
16
7
|
|
|
17
8
|
def package_files(directory):
|
|
@@ -58,47 +49,35 @@ npcsh-setup
|
|
|
58
49
|
To configure your API keys and preferences.
|
|
59
50
|
==============================================
|
|
60
51
|
"""
|
|
61
|
-
return ""
|
|
52
|
+
return ""
|
|
62
53
|
|
|
63
54
|
|
|
64
|
-
#
|
|
65
|
-
|
|
66
|
-
"redis",
|
|
67
|
-
"flask_sse",
|
|
68
|
-
"anthropic",
|
|
69
|
-
"beautifulsoup4",
|
|
70
|
-
"google-generativeai",
|
|
71
|
-
"google-genai",
|
|
72
|
-
"duckduckgo-search",
|
|
73
|
-
"openai",
|
|
55
|
+
# Base requirements (no LLM packages)
|
|
56
|
+
base_requirements = [
|
|
74
57
|
"jinja2",
|
|
58
|
+
"scipy",
|
|
59
|
+
"numpy",
|
|
75
60
|
"requests",
|
|
76
61
|
"markdown",
|
|
77
62
|
"PyYAML",
|
|
78
|
-
"langchain",
|
|
79
|
-
"langchain_community",
|
|
80
63
|
"pygments",
|
|
81
64
|
"termcolor",
|
|
82
65
|
"colorama",
|
|
83
66
|
"python-dotenv",
|
|
84
|
-
"
|
|
85
|
-
"
|
|
67
|
+
"pandas",
|
|
68
|
+
"beautifulsoup4",
|
|
69
|
+
"duckduckgo-search",
|
|
86
70
|
"flask",
|
|
87
71
|
"flask_cors",
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"matplotlib",
|
|
91
|
-
"IPython",
|
|
92
|
-
"pyautogui",
|
|
93
|
-
"nltk",
|
|
94
|
-
"thefuzz",
|
|
95
|
-
"pypdf",
|
|
96
|
-
"PyMuPDF",
|
|
97
|
-
"screeninfo",
|
|
72
|
+
"redis",
|
|
73
|
+
"flask_sse",
|
|
98
74
|
]
|
|
99
75
|
|
|
100
|
-
#
|
|
101
|
-
|
|
76
|
+
# API integration requirements
|
|
77
|
+
api_requirements = ["anthropic", "openai", "google-generativeai", "google-genai"]
|
|
78
|
+
|
|
79
|
+
# Local ML/AI requirements
|
|
80
|
+
local_requirements = [
|
|
102
81
|
"sentence_transformers",
|
|
103
82
|
"opencv-python",
|
|
104
83
|
"ollama",
|
|
@@ -107,8 +86,8 @@ extra_requirements = [
|
|
|
107
86
|
"diffusers",
|
|
108
87
|
]
|
|
109
88
|
|
|
110
|
-
#
|
|
111
|
-
|
|
89
|
+
# Voice/Audio requirements
|
|
90
|
+
voice_requirements = [
|
|
112
91
|
"openai-whisper",
|
|
113
92
|
"pyaudio",
|
|
114
93
|
"gtts",
|
|
@@ -118,21 +97,17 @@ audio_requirements = [
|
|
|
118
97
|
|
|
119
98
|
extra_files = package_files("npcsh/npc_team/")
|
|
120
99
|
|
|
121
|
-
|
|
122
|
-
def get_requirements():
|
|
123
|
-
# Check if lite installation was requested via sys.argv
|
|
124
|
-
if any("install.lite=true" in arg for arg in sys.argv):
|
|
125
|
-
return core_requirements
|
|
126
|
-
elif os.environ.get("NPCSH_AUDIO_INSTALL", "").lower() == "true":
|
|
127
|
-
return core_requirements + extra_requirements + audio_requirements
|
|
128
|
-
return core_requirements + extra_requirements
|
|
129
|
-
|
|
130
|
-
|
|
131
100
|
setup(
|
|
132
101
|
name="npcsh",
|
|
133
|
-
version="0.3.27.
|
|
102
|
+
version="0.3.27.2",
|
|
134
103
|
packages=find_packages(exclude=["tests*"]),
|
|
135
|
-
install_requires=
|
|
104
|
+
install_requires=base_requirements, # Only install base requirements by default
|
|
105
|
+
extras_require={
|
|
106
|
+
"lite": api_requirements, # Just API integrations
|
|
107
|
+
"local": local_requirements, # Local AI/ML features
|
|
108
|
+
"whisper": voice_requirements, # Voice/Audio features
|
|
109
|
+
"all": api_requirements + local_requirements + voice_requirements, # Everything
|
|
110
|
+
},
|
|
136
111
|
entry_points={
|
|
137
112
|
"console_scripts": [
|
|
138
113
|
"npcsh=npcsh.shell:main",
|
|
@@ -154,6 +129,5 @@ setup(
|
|
|
154
129
|
python_requires=">=3.10",
|
|
155
130
|
)
|
|
156
131
|
|
|
157
|
-
# Print setup message only on Windows
|
|
158
132
|
if platform.system() == "Windows":
|
|
159
133
|
print(get_setup_message())
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
redis
|
|
2
|
-
flask_sse
|
|
3
|
-
anthropic
|
|
4
|
-
beautifulsoup4
|
|
5
|
-
google-generativeai
|
|
6
|
-
google-genai
|
|
7
|
-
duckduckgo-search
|
|
8
|
-
openai
|
|
9
|
-
jinja2
|
|
10
|
-
requests
|
|
11
|
-
markdown
|
|
12
|
-
PyYAML
|
|
13
|
-
langchain
|
|
14
|
-
langchain_community
|
|
15
|
-
pygments
|
|
16
|
-
termcolor
|
|
17
|
-
colorama
|
|
18
|
-
python-dotenv
|
|
19
|
-
pytest
|
|
20
|
-
googlesearch-python
|
|
21
|
-
flask
|
|
22
|
-
flask_cors
|
|
23
|
-
librosa
|
|
24
|
-
pandas
|
|
25
|
-
matplotlib
|
|
26
|
-
IPython
|
|
27
|
-
pyautogui
|
|
28
|
-
nltk
|
|
29
|
-
thefuzz
|
|
30
|
-
pypdf
|
|
31
|
-
PyMuPDF
|
|
32
|
-
screeninfo
|
|
33
|
-
sentence_transformers
|
|
34
|
-
opencv-python
|
|
35
|
-
ollama
|
|
36
|
-
kuzu
|
|
37
|
-
chromadb
|
|
38
|
-
diffusers
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|