ngpt 2.5.1__tar.gz → 2.6.0__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 (32) hide show
  1. {ngpt-2.5.1 → ngpt-2.6.0}/PKG-INFO +15 -4
  2. {ngpt-2.5.1 → ngpt-2.6.0}/README.md +11 -0
  3. {ngpt-2.5.1 → ngpt-2.6.0}/docs/installation.md +20 -6
  4. {ngpt-2.5.1 → ngpt-2.6.0}/ngpt/cli.py +6 -4
  5. {ngpt-2.5.1 → ngpt-2.6.0}/pyproject.toml +3 -3
  6. {ngpt-2.5.1 → ngpt-2.6.0}/uv.lock +6 -6
  7. {ngpt-2.5.1 → ngpt-2.6.0}/.github/workflows/python-publish.yml +0 -0
  8. {ngpt-2.5.1 → ngpt-2.6.0}/.gitignore +0 -0
  9. {ngpt-2.5.1 → ngpt-2.6.0}/.python-version +0 -0
  10. {ngpt-2.5.1 → ngpt-2.6.0}/COMMIT_GUIDELINES.md +0 -0
  11. {ngpt-2.5.1 → ngpt-2.6.0}/CONTRIBUTING.md +0 -0
  12. {ngpt-2.5.1 → ngpt-2.6.0}/LICENSE +0 -0
  13. {ngpt-2.5.1 → ngpt-2.6.0}/docs/CONTRIBUTING.md +0 -0
  14. {ngpt-2.5.1 → ngpt-2.6.0}/docs/LICENSE.md +0 -0
  15. {ngpt-2.5.1 → ngpt-2.6.0}/docs/README.md +0 -0
  16. {ngpt-2.5.1 → ngpt-2.6.0}/docs/_config.yml +0 -0
  17. {ngpt-2.5.1 → ngpt-2.6.0}/docs/api/README.md +0 -0
  18. {ngpt-2.5.1 → ngpt-2.6.0}/docs/api/client.md +0 -0
  19. {ngpt-2.5.1 → ngpt-2.6.0}/docs/api/config.md +0 -0
  20. {ngpt-2.5.1 → ngpt-2.6.0}/docs/assets/css/style.scss +0 -0
  21. {ngpt-2.5.1 → ngpt-2.6.0}/docs/configuration.md +0 -0
  22. {ngpt-2.5.1 → ngpt-2.6.0}/docs/examples/README.md +0 -0
  23. {ngpt-2.5.1 → ngpt-2.6.0}/docs/examples/advanced.md +0 -0
  24. {ngpt-2.5.1 → ngpt-2.6.0}/docs/examples/basic.md +0 -0
  25. {ngpt-2.5.1 → ngpt-2.6.0}/docs/examples/integrations.md +0 -0
  26. {ngpt-2.5.1 → ngpt-2.6.0}/docs/overview.md +0 -0
  27. {ngpt-2.5.1 → ngpt-2.6.0}/docs/usage/README.md +0 -0
  28. {ngpt-2.5.1 → ngpt-2.6.0}/docs/usage/cli_usage.md +0 -0
  29. {ngpt-2.5.1 → ngpt-2.6.0}/docs/usage/library_usage.md +0 -0
  30. {ngpt-2.5.1 → ngpt-2.6.0}/ngpt/__init__.py +0 -0
  31. {ngpt-2.5.1 → ngpt-2.6.0}/ngpt/client.py +0 -0
  32. {ngpt-2.5.1 → ngpt-2.6.0}/ngpt/config.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ngpt
3
- Version: 2.5.1
3
+ Version: 2.6.0
4
4
  Summary: A lightweight Python CLI and library for interacting with OpenAI-compatible APIs, supporting both official and self-hosted LLM endpoints.
5
5
  Project-URL: Homepage, https://github.com/nazdridoy/ngpt
6
6
  Project-URL: Repository, https://github.com/nazdridoy/ngpt
@@ -28,10 +28,10 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
28
28
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
29
  Classifier: Topic :: Utilities
30
30
  Requires-Python: >=3.8
31
- Requires-Dist: prompt-toolkit>=3.0.0
32
31
  Requires-Dist: requests>=2.31.0
33
- Provides-Extra: prettify
34
- Requires-Dist: rich>=10.0.0; extra == 'prettify'
32
+ Provides-Extra: full
33
+ Requires-Dist: prompt-toolkit>=3.0.0; extra == 'full'
34
+ Requires-Dist: rich>=10.0.0; extra == 'full'
35
35
  Description-Content-Type: text/markdown
36
36
 
37
37
  # nGPT
@@ -66,6 +66,9 @@ A lightweight Python CLI and library for interacting with OpenAI-compatible APIs
66
66
  # Install
67
67
  pip install ngpt
68
68
 
69
+ # Install with additional features
70
+ pip install "ngpt[full]"
71
+
69
72
  # Chat with default settings
70
73
  ngpt "Tell me about quantum computing"
71
74
 
@@ -136,11 +139,19 @@ Key documentation sections:
136
139
  ## Installation
137
140
 
138
141
  ```bash
142
+ # Basic installation (minimal dependencies)
139
143
  pip install ngpt
144
+
145
+ # Full installation with all features (recommended)
146
+ pip install "ngpt[full]"
140
147
  ```
141
148
 
142
149
  Requires Python 3.8 or newer.
143
150
 
151
+ The full installation includes:
152
+ - Enhanced markdown rendering with syntax highlighting
153
+ - Improved interactive input experience with multiline editing
154
+
144
155
  For detailed installation instructions, see the [Installation Guide](https://nazdridoy.github.io/ngpt/installation.html).
145
156
 
146
157
  ## Usage
@@ -30,6 +30,9 @@ A lightweight Python CLI and library for interacting with OpenAI-compatible APIs
30
30
  # Install
31
31
  pip install ngpt
32
32
 
33
+ # Install with additional features
34
+ pip install "ngpt[full]"
35
+
33
36
  # Chat with default settings
34
37
  ngpt "Tell me about quantum computing"
35
38
 
@@ -100,11 +103,19 @@ Key documentation sections:
100
103
  ## Installation
101
104
 
102
105
  ```bash
106
+ # Basic installation (minimal dependencies)
103
107
  pip install ngpt
108
+
109
+ # Full installation with all features (recommended)
110
+ pip install "ngpt[full]"
104
111
  ```
105
112
 
106
113
  Requires Python 3.8 or newer.
107
114
 
115
+ The full installation includes:
116
+ - Enhanced markdown rendering with syntax highlighting
117
+ - Improved interactive input experience with multiline editing
118
+
108
119
  For detailed installation instructions, see the [Installation Guide](https://nazdridoy.github.io/ngpt/installation.html).
109
120
 
110
121
  ## Usage
@@ -6,11 +6,11 @@ There are several ways to install nGPT depending on your needs and environment.
6
6
 
7
7
  - Python 3.8 or newer
8
8
  - `requests` library (automatically installed as a dependency)
9
- - `prompt_toolkit` library (automatically installed as a dependency)
10
9
 
11
10
  ## Optional Dependencies
12
11
 
13
12
  - `rich` library - For enhanced markdown rendering with syntax highlighting
13
+ - `prompt_toolkit` library - For improved interactive input experience with multiline editing
14
14
 
15
15
  ## Installing from PyPI (Recommended)
16
16
 
@@ -20,18 +20,20 @@ The simplest way to install nGPT is through the Python Package Index (PyPI):
20
20
  pip install ngpt
21
21
  ```
22
22
 
23
- This will install the latest stable release of nGPT and all its dependencies.
23
+ This will install the latest stable release of nGPT with basic functionality.
24
24
 
25
- For markdown rendering capabilities, install with the prettify extra:
25
+ For additional capabilities like markdown rendering, syntax highlighting, and enhanced interactive input experience, install with the full extras:
26
26
 
27
27
  ```bash
28
- pip install ngpt[prettify]
28
+ pip install "ngpt[full]"
29
29
  ```
30
30
 
31
- Alternatively, you can install the optional dependency separately:
31
+ Note that quotes around the package name are required due to the square brackets.
32
+
33
+ Alternatively, you can install the optional dependencies separately:
32
34
 
33
35
  ```bash
34
- pip install rich
36
+ pip install rich prompt_toolkit
35
37
  ```
36
38
 
37
39
  ## Installing in a Virtual Environment
@@ -52,6 +54,9 @@ source ngpt-env/bin/activate
52
54
 
53
55
  # Install nGPT
54
56
  pip install ngpt
57
+
58
+ # Or with all features
59
+ pip install "ngpt[full]"
55
60
  ```
56
61
 
57
62
  ### Using conda
@@ -65,6 +70,9 @@ conda activate ngpt-env
65
70
 
66
71
  # Install nGPT
67
72
  pip install ngpt
73
+
74
+ # Or with all features
75
+ pip install "ngpt[full]"
68
76
  ```
69
77
 
70
78
  ## Installing from Source
@@ -80,6 +88,9 @@ cd ngpt
80
88
 
81
89
  # Install the package in development mode
82
90
  pip install -e .
91
+
92
+ # Or with all features
93
+ pip install -e ".[full]"
83
94
  ```
84
95
 
85
96
  ## Upgrading
@@ -88,6 +99,9 @@ To upgrade to the latest version:
88
99
 
89
100
  ```bash
90
101
  pip install --upgrade ngpt
102
+
103
+ # Or with all features
104
+ pip install --upgrade "ngpt[full]"
91
105
  ```
92
106
 
93
107
  ## Verifying the Installation
@@ -115,10 +115,11 @@ def show_available_renderers():
115
115
  if HAS_RICH:
116
116
  print(f" {COLORS['green']}✓ Rich{COLORS['reset']} - Python library for terminal formatting (Recommended)")
117
117
  else:
118
- print(f" {COLORS['yellow']}✗ Rich{COLORS['reset']} - Not installed (pip install rich)")
118
+ print(f" {COLORS['yellow']}✗ Rich{COLORS['reset']} - Not installed (pip install \"ngpt[full]\" or pip install rich)")
119
119
 
120
120
  if not HAS_GLOW and not HAS_RICH:
121
121
  print(f"\n{COLORS['yellow']}To enable prettified markdown output, install one of the above renderers.{COLORS['reset']}")
122
+ print(f"{COLORS['yellow']}For Rich: pip install \"ngpt[full]\" or pip install rich{COLORS['reset']}")
122
123
  else:
123
124
  renderers = []
124
125
  if HAS_RICH:
@@ -148,11 +149,11 @@ def warn_if_no_markdown_renderer(renderer='auto'):
148
149
 
149
150
  if renderer == 'auto':
150
151
  print(f"{COLORS['yellow']}Warning: No markdown rendering library available.{COLORS['reset']}")
151
- print(f"{COLORS['yellow']}Install 'rich' package with: pip install rich{COLORS['reset']}")
152
+ print(f"{COLORS['yellow']}Install with: pip install \"ngpt[full]\"{COLORS['reset']}")
152
153
  print(f"{COLORS['yellow']}Or install 'glow' from https://github.com/charmbracelet/glow{COLORS['reset']}")
153
154
  elif renderer == 'rich':
154
155
  print(f"{COLORS['yellow']}Warning: Rich is not available.{COLORS['reset']}")
155
- print(f"{COLORS['yellow']}Install with: pip install rich{COLORS['reset']}")
156
+ print(f"{COLORS['yellow']}Install with: pip install \"ngpt[full]\" or pip install rich{COLORS['reset']}")
156
157
  elif renderer == 'glow':
157
158
  print(f"{COLORS['yellow']}Warning: Glow is not available.{COLORS['reset']}")
158
159
  print(f"{COLORS['yellow']}Install from https://github.com/charmbracelet/glow{COLORS['reset']}")
@@ -219,7 +220,8 @@ def prettify_markdown(text, renderer='auto'):
219
220
  # Use rich for rendering
220
221
  elif renderer == 'rich':
221
222
  if not HAS_RICH:
222
- print(f"{COLORS['yellow']}Warning: Rich is not available. Install with: pip install rich{COLORS['reset']}")
223
+ print(f"{COLORS['yellow']}Warning: Rich is not available.{COLORS['reset']}")
224
+ print(f"{COLORS['yellow']}Install with: pip install \"ngpt[full]\" or pip install rich{COLORS['reset']}")
223
225
  # Fall back to glow if available
224
226
  if HAS_GLOW:
225
227
  print(f"{COLORS['yellow']}Falling back to Glow renderer.{COLORS['reset']}")
@@ -1,13 +1,12 @@
1
1
  [project]
2
2
  name = "ngpt"
3
- version = "2.5.1"
3
+ version = "2.6.0"
4
4
  description = "A lightweight Python CLI and library for interacting with OpenAI-compatible APIs, supporting both official and self-hosted LLM endpoints."
5
5
  authors = [
6
6
  {name = "nazDridoy", email = "nazdridoy399@gmail.com"},
7
7
  ]
8
8
  dependencies = [
9
9
  "requests>=2.31.0",
10
- "prompt_toolkit>=3.0.0",
11
10
  ]
12
11
  requires-python = ">=3.8"
13
12
  readme = "README.md"
@@ -35,8 +34,9 @@ classifiers = [
35
34
  ]
36
35
 
37
36
  [project.optional-dependencies]
38
- prettify = [
37
+ full = [
39
38
  "rich>=10.0.0",
39
+ "prompt_toolkit>=3.0.0",
40
40
  ]
41
41
 
42
42
  [project.urls]
@@ -134,25 +134,25 @@ wheels = [
134
134
 
135
135
  [[package]]
136
136
  name = "ngpt"
137
- version = "2.5.1"
137
+ version = "2.6.0"
138
138
  source = { editable = "." }
139
139
  dependencies = [
140
- { name = "prompt-toolkit" },
141
140
  { name = "requests" },
142
141
  ]
143
142
 
144
143
  [package.optional-dependencies]
145
- prettify = [
144
+ full = [
145
+ { name = "prompt-toolkit" },
146
146
  { name = "rich" },
147
147
  ]
148
148
 
149
149
  [package.metadata]
150
150
  requires-dist = [
151
- { name = "prompt-toolkit", specifier = ">=3.0.0" },
151
+ { name = "prompt-toolkit", marker = "extra == 'full'", specifier = ">=3.0.0" },
152
152
  { name = "requests", specifier = ">=2.31.0" },
153
- { name = "rich", marker = "extra == 'prettify'", specifier = ">=10.0.0" },
153
+ { name = "rich", marker = "extra == 'full'", specifier = ">=10.0.0" },
154
154
  ]
155
- provides-extras = ["prettify"]
155
+ provides-extras = ["full"]
156
156
 
157
157
  [[package]]
158
158
  name = "prompt-toolkit"
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