ngpt 3.11.2__tar.gz → 3.11.3__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.
Files changed (67) hide show
  1. {ngpt-3.11.2 → ngpt-3.11.3}/PKG-INFO +1 -1
  2. {ngpt-3.11.2 → ngpt-3.11.3}/docs/examples/basic.md +19 -0
  3. {ngpt-3.11.2 → ngpt-3.11.3}/docs/usage/cli_usage.md +35 -0
  4. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/args.py +5 -5
  5. {ngpt-3.11.2 → ngpt-3.11.3}/pyproject.toml +1 -1
  6. {ngpt-3.11.2 → ngpt-3.11.3}/uv.lock +11 -11
  7. {ngpt-3.11.2 → ngpt-3.11.3}/.github/banner.svg +0 -0
  8. {ngpt-3.11.2 → ngpt-3.11.3}/.github/workflows/aur-publish.yml +0 -0
  9. {ngpt-3.11.2 → ngpt-3.11.3}/.github/workflows/python-publish.yml +0 -0
  10. {ngpt-3.11.2 → ngpt-3.11.3}/.github/workflows/repo-mirror.yml +0 -0
  11. {ngpt-3.11.2 → ngpt-3.11.3}/.gitignore +0 -0
  12. {ngpt-3.11.2 → ngpt-3.11.3}/.python-version +0 -0
  13. {ngpt-3.11.2 → ngpt-3.11.3}/COMMIT_GUIDELINES.md +0 -0
  14. {ngpt-3.11.2 → ngpt-3.11.3}/CONTRIBUTING.md +0 -0
  15. {ngpt-3.11.2 → ngpt-3.11.3}/LICENSE +0 -0
  16. {ngpt-3.11.2 → ngpt-3.11.3}/PKGBUILD +0 -0
  17. {ngpt-3.11.2 → ngpt-3.11.3}/README.md +0 -0
  18. {ngpt-3.11.2 → ngpt-3.11.3}/docs/CONTRIBUTING.md +0 -0
  19. {ngpt-3.11.2 → ngpt-3.11.3}/docs/LICENSE.md +0 -0
  20. {ngpt-3.11.2 → ngpt-3.11.3}/docs/_config.yml +0 -0
  21. {ngpt-3.11.2 → ngpt-3.11.3}/docs/_sass/custom/custom.scss +0 -0
  22. {ngpt-3.11.2 → ngpt-3.11.3}/docs/configuration.md +0 -0
  23. {ngpt-3.11.2 → ngpt-3.11.3}/docs/examples/advanced.md +0 -0
  24. {ngpt-3.11.2 → ngpt-3.11.3}/docs/examples/role_gallery.md +0 -0
  25. {ngpt-3.11.2 → ngpt-3.11.3}/docs/examples/specialized_tools.md +0 -0
  26. {ngpt-3.11.2 → ngpt-3.11.3}/docs/examples.md +0 -0
  27. {ngpt-3.11.2 → ngpt-3.11.3}/docs/index.md +0 -0
  28. {ngpt-3.11.2 → ngpt-3.11.3}/docs/installation.md +0 -0
  29. {ngpt-3.11.2 → ngpt-3.11.3}/docs/overview.md +0 -0
  30. {ngpt-3.11.2 → ngpt-3.11.3}/docs/usage/cli_config.md +0 -0
  31. {ngpt-3.11.2 → ngpt-3.11.3}/docs/usage/gitcommsg.md +0 -0
  32. {ngpt-3.11.2 → ngpt-3.11.3}/docs/usage/roles.md +0 -0
  33. {ngpt-3.11.2 → ngpt-3.11.3}/docs/usage/web_search.md +0 -0
  34. {ngpt-3.11.2 → ngpt-3.11.3}/docs/usage.md +0 -0
  35. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/__init__.py +0 -0
  36. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/__main__.py +0 -0
  37. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/__init__.py +0 -0
  38. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/config_manager.py +0 -0
  39. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/formatters.py +0 -0
  40. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/main.py +0 -0
  41. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/__init__.py +0 -0
  42. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/chat.py +0 -0
  43. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/code.py +0 -0
  44. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/gitcommsg.py +0 -0
  45. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/interactive.py +0 -0
  46. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/rewrite.py +0 -0
  47. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/shell.py +0 -0
  48. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/modes/text.py +0 -0
  49. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/renderers.py +0 -0
  50. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/roles.py +0 -0
  51. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/cli/ui.py +0 -0
  52. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/client.py +0 -0
  53. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/utils/__init__.py +0 -0
  54. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/utils/cli_config.py +0 -0
  55. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/utils/config.py +0 -0
  56. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/utils/log.py +0 -0
  57. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/utils/pipe.py +0 -0
  58. {ngpt-3.11.2 → ngpt-3.11.3}/ngpt/utils/web_search.py +0 -0
  59. {ngpt-3.11.2 → ngpt-3.11.3}/previews/icon.png +0 -0
  60. {ngpt-3.11.2 → ngpt-3.11.3}/previews/ngpt-g.png +0 -0
  61. {ngpt-3.11.2 → ngpt-3.11.3}/previews/ngpt-i.png +0 -0
  62. {ngpt-3.11.2 → ngpt-3.11.3}/previews/ngpt-s-c.png +0 -0
  63. {ngpt-3.11.2 → ngpt-3.11.3}/previews/ngpt-sh-c-a.png +0 -0
  64. {ngpt-3.11.2 → ngpt-3.11.3}/previews/ngpt-w-self.png +0 -0
  65. {ngpt-3.11.2 → ngpt-3.11.3}/previews/ngpt-w.png +0 -0
  66. {ngpt-3.11.2 → ngpt-3.11.3}/previews/social-preview.png +0 -0
  67. {ngpt-3.11.2 → ngpt-3.11.3}/wiki.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngpt
3
- Version: 3.11.2
3
+ Version: 3.11.3
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
@@ -143,6 +143,25 @@ ngpt --rewrite --humanize "ChatGPT generated this text which is very formal and
143
143
  cat ai_content.txt | ngpt --rewrite --humanize
144
144
  ```
145
145
 
146
+ ### Customized Text Rewriting
147
+
148
+ ```bash
149
+ # Rewrite text with a specific style guide
150
+ ngpt --rewrite --preprompt "You are a technical documentation expert. Follow these guidelines: 1) Use active voice, 2) Keep sentences under 20 words, 3) Use clear headings, 4) Include examples" "The system processes data through multiple stages. First, it validates input. Then it transforms data. Finally, it stores results."
151
+
152
+ # Rewrite text for a specific audience
153
+ ngpt --rewrite --preprompt "You are a teacher explaining complex topics to 8th graders. Use simple language, relatable examples, and avoid jargon" "Quantum entanglement is a physical phenomenon where particles become correlated in such a way that the quantum state of each particle cannot be described independently."
154
+
155
+ # Humanize text while maintaining academic tone
156
+ ngpt --rewrite --humanize --preprompt "You are an academic writer. Maintain scholarly language while making the text sound more natural and less AI-generated" "The implementation of machine learning algorithms in healthcare diagnostics has demonstrated significant improvements in accuracy rates across multiple studies."
157
+
158
+ # Humanize text for a specific writing style
159
+ ngpt --rewrite --humanize --preprompt "You are a creative blogger. Make the text engaging and conversational while preserving the technical accuracy" "Artificial intelligence is revolutionizing the healthcare industry by enhancing diagnostic accuracy and streamlining administrative processes."
160
+
161
+ # Rewrite text with specific formatting requirements
162
+ ngpt --rewrite --preprompt "You are a professional email writer. Format the text as a formal business email with proper greeting and closing" "I want to say that I think your product is good and I like it alot. Can you tell me more about the pricing?"
163
+ ```
164
+
146
165
  ### Interactive Text Rewriting
147
166
 
148
167
  ```bash
@@ -309,6 +309,41 @@ The humanize option helps with:
309
309
  - Breaking predictable AI writing structures
310
310
  - Creating content that reads authentically human
311
311
 
312
+
313
+ #### Customized Text Rewriting
314
+
315
+ ```bash
316
+ # Rewrite text with a specific style guide
317
+ ngpt --rewrite --preprompt "You are a technical documentation expert. Follow these guidelines: 1) Use active voice, 2) Keep sentences under 20 words, 3) Use clear headings, 4) Include examples" "The system processes data through multiple stages. First, it validates input. Then it transforms data. Finally, it stores results."
318
+
319
+ # Rewrite text for a specific audience
320
+ ngpt --rewrite --preprompt "You are a teacher explaining complex topics to 8th graders. Use simple language, relatable examples, and avoid jargon" "Quantum entanglement is a physical phenomenon where particles become correlated in such a way that the quantum state of each particle cannot be described independently."
321
+
322
+ # Humanize text while maintaining academic tone
323
+ ngpt --rewrite --humanize --preprompt "You are an academic writer. Maintain scholarly language while making the text sound more natural and less AI-generated" "The implementation of machine learning algorithms in healthcare diagnostics has demonstrated significant improvements in accuracy rates across multiple studies."
324
+
325
+ # Humanize text for a specific writing style
326
+ ngpt --rewrite --humanize --preprompt "You are a creative blogger. Make the text engaging and conversational while preserving the technical accuracy" "Artificial intelligence is revolutionizing the healthcare industry by enhancing diagnostic accuracy and streamlining administrative processes."
327
+
328
+ # Rewrite text with specific formatting requirements
329
+ ngpt --rewrite --preprompt "You are a professional email writer. Format the text as a formal business email with proper greeting and closing" "I want to say that I think your product is good and I like it alot. Can you tell me more about the pricing?"
330
+
331
+ # Rewrite text in a journalistic style
332
+ ngpt --rewrite --preprompt "You are an investigative journalist. Write in a clear, objective style with a focus on facts and evidence" "The new AI system has shown promising results in early testing, with accuracy rates exceeding 95% in controlled environments."
333
+
334
+ # Humanize text while maintaining technical accuracy
335
+ ngpt --rewrite --humanize --preprompt "You are a senior software engineer explaining complex concepts to junior developers. Use analogies and real-world examples while keeping technical details precise" "The microservices architecture pattern involves breaking down applications into smaller, independent services that communicate through well-defined APIs."
336
+
337
+ # Rewrite text in a persuasive style
338
+ ngpt --rewrite --preprompt "You are a marketing copywriter. Write compelling, persuasive content that highlights benefits and creates urgency" "Our new product offers several features that can help improve productivity and save time."
339
+
340
+ # Humanize text for social media
341
+ ngpt --rewrite --humanize --preprompt "You are a social media influencer. Write engaging, authentic content that resonates with your audience while maintaining credibility" "The latest research shows that regular exercise can significantly improve mental health and cognitive function."
342
+
343
+ # Rewrite text for a specific industry
344
+ ngpt --rewrite --preprompt "You are a healthcare professional writing for medical journals. Use appropriate medical terminology while ensuring clarity for a general medical audience" "The patient presented with symptoms consistent with acute respiratory distress syndrome, including dyspnea and hypoxemia."
345
+ ```
346
+
312
347
  ### Git Commit Message Generation
313
348
 
314
349
  Generate conventional, detailed commit messages from git diffs:
@@ -119,6 +119,11 @@ def setup_argument_parser():
119
119
  gitcommsg_group.add_argument('--max-recursion-depth', type=int, default=3,
120
120
  help='Maximum recursion depth for commit message condensing (default: 3)')
121
121
 
122
+ # Rewrite mode options
123
+ rewrite_group = parser.add_argument_group('Rewrite Mode Options')
124
+ rewrite_group.add_argument('--humanize', action='store_true',
125
+ help='Transform AI-generated text into human-like content that passes AI detection tools')
126
+
122
127
  # Mode flags (mutually exclusive)
123
128
  mode_group = parser.add_argument_group('Modes (mutually exclusive)')
124
129
  mode_exclusive_group = mode_group.add_mutually_exclusive_group()
@@ -135,11 +140,6 @@ def setup_argument_parser():
135
140
  mode_exclusive_group.add_argument('-g', '--gitcommsg', action='store_true',
136
141
  help='Generate AI-powered git commit messages from staged changes or diff file')
137
142
 
138
- # Rewrite mode options
139
- rewrite_group = parser.add_argument_group('Rewrite Mode Options')
140
- rewrite_group.add_argument('--humanize', action='store_true',
141
- help='Transform AI-generated text into human-like content that passes AI detection tools')
142
-
143
143
  return parser
144
144
 
145
145
  def parse_args():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ngpt"
3
- version = "3.11.2"
3
+ version = "3.11.3"
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"},
@@ -22,11 +22,11 @@ wheels = [
22
22
 
23
23
  [[package]]
24
24
  name = "certifi"
25
- version = "2025.4.26"
25
+ version = "2025.6.15"
26
26
  source = { registry = "https://pypi.org/simple" }
27
- sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" }
27
+ sdist = { url = "https://files.pythonhosted.org/packages/73/f7/f14b46d4bcd21092d7d3ccef689615220d8a08fb25e564b65d20738e672e/certifi-2025.6.15.tar.gz", hash = "sha256:d747aa5a8b9bbbb1bb8c22bb13e22bd1f18e9796defa16bab421f7f7a317323b", size = 158753, upload-time = "2025-06-15T02:45:51.329Z" }
28
28
  wheels = [
29
- { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" },
29
+ { url = "https://files.pythonhosted.org/packages/84/ae/320161bd181fc06471eed047ecce67b693fd7515b16d495d8932db763426/certifi-2025.6.15-py3-none-any.whl", hash = "sha256:2e0c7ce7cb5d8f8634ca55d2ba7e6ec2689a2fd6537d8dec1296a477a4910057", size = 157650, upload-time = "2025-06-15T02:45:49.977Z" },
30
30
  ]
31
31
 
32
32
  [[package]]
@@ -148,7 +148,7 @@ wheels = [
148
148
 
149
149
  [[package]]
150
150
  name = "ngpt"
151
- version = "3.11.2"
151
+ version = "3.11.3"
152
152
  source = { editable = "." }
153
153
  dependencies = [
154
154
  { name = "beautifulsoup4" },
@@ -181,11 +181,11 @@ wheels = [
181
181
 
182
182
  [[package]]
183
183
  name = "pygments"
184
- version = "2.19.1"
184
+ version = "2.19.2"
185
185
  source = { registry = "https://pypi.org/simple" }
186
- sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" }
186
+ sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" }
187
187
  wheels = [
188
- { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
188
+ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" },
189
189
  ]
190
190
 
191
191
  [[package]]
@@ -203,7 +203,7 @@ dependencies = [
203
203
  { name = "charset-normalizer" },
204
204
  { name = "idna" },
205
205
  { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" },
206
- { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
206
+ { name = "urllib3", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" },
207
207
  ]
208
208
  sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" }
209
209
  wheels = [
@@ -272,14 +272,14 @@ wheels = [
272
272
 
273
273
  [[package]]
274
274
  name = "urllib3"
275
- version = "2.4.0"
275
+ version = "2.5.0"
276
276
  source = { registry = "https://pypi.org/simple" }
277
277
  resolution-markers = [
278
278
  "python_full_version >= '3.9'",
279
279
  ]
280
- sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" }
280
+ sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" }
281
281
  wheels = [
282
- { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" },
282
+ { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" },
283
283
  ]
284
284
 
285
285
  [[package]]
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