ngpt 3.9.4__tar.gz → 3.9.6__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.
- {ngpt-3.9.4 → ngpt-3.9.6}/PKG-INFO +1 -1
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/examples/role_gallery.md +14 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/gitcommsg.py +20 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/text.py +10 -2
- ngpt-3.9.6/previews/icon.png +0 -0
- ngpt-3.9.6/previews/social-preview.png +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/pyproject.toml +1 -1
- {ngpt-3.9.4 → ngpt-3.9.6}/uv.lock +1 -1
- {ngpt-3.9.4 → ngpt-3.9.6}/.github/banner.svg +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/.github/workflows/aur-publish.yml +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/.github/workflows/python-publish.yml +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/.github/workflows/repo-mirror.yml +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/.gitignore +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/.python-version +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/COMMIT_GUIDELINES.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/CONTRIBUTING.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/LICENSE +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/PKGBUILD +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/README.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/CONTRIBUTING.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/LICENSE.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/_config.yml +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/_sass/custom/custom.scss +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/configuration.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/examples/advanced.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/examples/basic.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/examples.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/index.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/installation.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/overview.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/usage/cli_config.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/usage/cli_usage.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/usage/gitcommsg.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/usage/roles.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/usage/web_search.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/docs/usage.md +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/__init__.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/__main__.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/__init__.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/args.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/config_manager.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/formatters.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/main.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/__init__.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/chat.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/code.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/interactive.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/rewrite.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/modes/shell.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/renderers.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/roles.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/cli/ui.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/client.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/utils/__init__.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/utils/cli_config.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/utils/config.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/utils/log.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/utils/pipe.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/ngpt/utils/web_search.py +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/previews/ngpt-g.png +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/previews/ngpt-i.png +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/previews/ngpt-s-c.png +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/previews/ngpt-sh-c-a.png +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/previews/ngpt-w-self.png +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/previews/ngpt-w.png +0 -0
- {ngpt-3.9.4 → ngpt-3.9.6}/wiki.md +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ngpt
|
3
|
-
Version: 3.9.
|
3
|
+
Version: 3.9.6
|
4
4
|
Summary: A Swiss army knife for LLMs: A fast, lightweight CLI and interactive chat tool that brings the power of any OpenAI-compatible LLM (OpenAI, Ollama, Groq, Claude, Gemini, etc.) straight to your terminal. rewrite texts or refine code, craft git commit messages, generate and run OS-aware shell commands.
|
5
5
|
Project-URL: Homepage, https://github.com/nazdridoy/ngpt
|
6
6
|
Project-URL: Repository, https://github.com/nazdridoy/ngpt
|
@@ -655,6 +655,20 @@ You are an academic research expert. When addressing research questions:
|
|
655
655
|
Maintain academic integrity and precision while making complex topics accessible.
|
656
656
|
```
|
657
657
|
|
658
|
+
### HRM Professor (BBA/MBA Level)
|
659
|
+
|
660
|
+
```
|
661
|
+
You are an Educator and Professor specializing in Human Resource Management (HRM) for BBA/MBA students. When explaining concepts or addressing questions:
|
662
|
+
1 Explain HRM concepts, theories, and models with clarity, depth, and academic rigor appropriate for the BBA/MBA level.
|
663
|
+
2 Connect theoretical frameworks to practical applications using relevant business examples, case studies, and industry best practices.
|
664
|
+
3 Cover the core functions and strategic aspects of HRM, including workforce planning, talent acquisition, learning & development, compensation & benefits, performance management, employee relations, and HR analytics.
|
665
|
+
4 Address current trends, challenges, and future directions in HRM, such as the impact of technology, diversity & inclusion, organizational change, and the changing nature of work.
|
666
|
+
5 Emphasize the strategic importance of HRM for organizational success and provide managerial insights relevant to future leaders.
|
667
|
+
6 Encourage critical thinking and analysis of complex HR issues, ethical dilemmas, and cross-cultural considerations.
|
668
|
+
7 Structure responses logically, breaking down complex topics into understandable components.
|
669
|
+
Maintain academic integrity and precision while making complex topics accessible.
|
670
|
+
```
|
671
|
+
|
658
672
|
### Interview Question Generator
|
659
673
|
|
660
674
|
```
|
@@ -998,6 +998,23 @@ def is_git_diff(content):
|
|
998
998
|
|
999
999
|
return False
|
1000
1000
|
|
1001
|
+
def strip_code_block_formatting(text):
|
1002
|
+
"""Strip code block formatting from the text if present.
|
1003
|
+
|
1004
|
+
Args:
|
1005
|
+
text: Text to strip code block formatting from
|
1006
|
+
|
1007
|
+
Returns:
|
1008
|
+
str: Text without code block formatting
|
1009
|
+
"""
|
1010
|
+
# Check if the text starts with ``` and ends with ```
|
1011
|
+
pattern = r'^```(?:.*?)\n(.*?)```$'
|
1012
|
+
match = re.search(pattern, text, re.DOTALL)
|
1013
|
+
if match:
|
1014
|
+
# Extract content between backticks and remove any trailing whitespace
|
1015
|
+
return match.group(1).rstrip()
|
1016
|
+
return text
|
1017
|
+
|
1001
1018
|
def gitcommsg_mode(client, args, logger=None):
|
1002
1019
|
"""Handle the Git commit message generation mode.
|
1003
1020
|
|
@@ -1183,6 +1200,9 @@ def gitcommsg_mode(client, args, logger=None):
|
|
1183
1200
|
print(f"{COLORS['red']}Failed to generate commit message.{COLORS['reset']}")
|
1184
1201
|
return
|
1185
1202
|
|
1203
|
+
# Strip any code block formatting
|
1204
|
+
result = strip_code_block_formatting(result)
|
1205
|
+
|
1186
1206
|
# Display the result
|
1187
1207
|
print(f"\n{COLORS['green']}✨ Generated Commit Message:{COLORS['reset']}\n")
|
1188
1208
|
print(result)
|
@@ -1,9 +1,10 @@
|
|
1
1
|
from ..formatters import COLORS
|
2
2
|
from ..renderers import prettify_markdown, prettify_streaming_markdown, TERMINAL_RENDER_LOCK
|
3
|
-
from ..ui import get_multiline_input, spinner
|
3
|
+
from ..ui import get_multiline_input, spinner, copy_to_clipboard
|
4
4
|
from ...utils import enhance_prompt_with_web_search
|
5
5
|
import threading
|
6
6
|
import sys
|
7
|
+
import time
|
7
8
|
|
8
9
|
def text_mode(client, args, logger=None):
|
9
10
|
"""Handle the multi-line text input mode.
|
@@ -152,6 +153,8 @@ def text_mode(client, args, logger=None):
|
|
152
153
|
# Before stopping the live display, update with complete=True to show final formatted content
|
153
154
|
if stream_callback and response:
|
154
155
|
stream_callback(response, complete=True)
|
156
|
+
# Add a small delay to ensure terminal stability
|
157
|
+
time.sleep(0.2)
|
155
158
|
|
156
159
|
# Log the AI response if logging is enabled
|
157
160
|
if logger and response:
|
@@ -163,4 +166,9 @@ def text_mode(client, args, logger=None):
|
|
163
166
|
if args.prettify:
|
164
167
|
prettify_markdown(response, args.renderer)
|
165
168
|
else:
|
166
|
-
print(response)
|
169
|
+
print(response)
|
170
|
+
|
171
|
+
# Offer to copy to clipboard if not in a redirected output
|
172
|
+
if not args.no_stream and response:
|
173
|
+
with TERMINAL_RENDER_LOCK:
|
174
|
+
copy_to_clipboard(response)
|
Binary file
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "ngpt"
|
3
|
-
version = "3.9.
|
3
|
+
version = "3.9.6"
|
4
4
|
description = "A Swiss army knife for LLMs: A fast, lightweight CLI and interactive chat tool that brings the power of any OpenAI-compatible LLM (OpenAI, Ollama, Groq, Claude, Gemini, etc.) straight to your terminal. rewrite texts or refine code, craft git commit messages, generate and run OS-aware shell commands."
|
5
5
|
authors = [
|
6
6
|
{name = "nazDridoy", email = "nazdridoy399@gmail.com"},
|
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
|