pipu-cli 0.1.dev0__py3-none-any.whl → 0.1.dev2__py3-none-any.whl

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.
pipu_cli/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import logging
2
2
  from .config import LOG_LEVEL
3
3
 
4
- __version__ = '0.1.dev0'
4
+ __version__ = '0.1.dev2'
5
5
 
6
6
 
7
7
  # Configure logging
pipu_cli/internals.py CHANGED
@@ -210,9 +210,16 @@ def list_outdated(
210
210
  extra_index_urls = []
211
211
  extra_index_urls = extra_index_urls or []
212
212
 
213
- # Ensure extra_index_urls is a list
213
+ # Parse extra_index_urls - pip config returns multi-line values as a single string
214
214
  if isinstance(extra_index_urls, str):
215
- extra_index_urls = [extra_index_urls]
215
+ # Split by newlines and clean up each URL (remove comments and whitespace)
216
+ extra_index_urls = [
217
+ url.strip()
218
+ for url in extra_index_urls.split('\n')
219
+ if url.strip() and not url.strip().startswith('#')
220
+ ]
221
+ elif not isinstance(extra_index_urls, list):
222
+ extra_index_urls = []
216
223
 
217
224
  # Combine all index URLs
218
225
  all_index_urls = [index_url] + extra_index_urls
@@ -223,14 +230,30 @@ def list_outdated(
223
230
  except Exception:
224
231
  trusted_hosts = []
225
232
  trusted_hosts = trusted_hosts or []
233
+
234
+ # Parse trusted_hosts - pip config returns multi-line values as a single string
226
235
  if isinstance(trusted_hosts, str):
227
- trusted_hosts = [trusted_hosts]
236
+ # Split by newlines and clean up each host (remove comments and whitespace)
237
+ trusted_hosts = [
238
+ host.strip()
239
+ for host in trusted_hosts.split('\n')
240
+ if host.strip() and not host.strip().startswith('#')
241
+ ]
242
+ elif not isinstance(trusted_hosts, list):
243
+ trusted_hosts = []
228
244
 
229
245
  # Set up pip session and package finder to check for updates
230
246
  try:
231
247
  session = PipSession()
232
248
  # Set timeout on the session
233
249
  session.timeout = timeout
250
+
251
+ # Add trusted hosts to the session
252
+ for host in trusted_hosts:
253
+ # Strip whitespace and skip empty strings
254
+ host = host.strip()
255
+ if host:
256
+ session.add_trusted_host(host, source="pip configuration")
234
257
  except Exception as e:
235
258
  # If we can't create a session (network issues, permissions, etc.), raise error
236
259
  raise ConnectionError(f"Failed to create network session: {e}") from e
@@ -133,6 +133,11 @@ def validate_existing_constraints_and_triggers(env_name: Optional[str] = None) -
133
133
  installed_packages = _get_installed_packages()
134
134
 
135
135
  try:
136
+ # Check if config file exists - if not, there's nothing to validate
137
+ config_path = get_recommended_pip_config_path()
138
+ if not config_path.exists():
139
+ return invalid_constraint_packages, invalid_trigger_packages
140
+
136
141
  # Check constraints
137
142
  section_name = _get_section_name(env_name)
138
143
  config, _ = _load_config(create_if_missing=False)
@@ -1107,7 +1112,11 @@ def remove_all_constraints_from_config(env_name: Optional[str] = None) -> Tuple[
1107
1112
  # Read existing config
1108
1113
  config = configparser.ConfigParser()
1109
1114
  if not config_path.exists():
1110
- raise ValueError(f"No pip configuration file found at {config_path}")
1115
+ # If file doesn't exist, no constraints to remove
1116
+ if env_name:
1117
+ raise ValueError(f"No constraints found in environment '{env_name}'")
1118
+ else:
1119
+ raise ValueError("No constraints found in any environment")
1111
1120
 
1112
1121
  config.read(config_path)
1113
1122
 
@@ -1195,7 +1204,11 @@ def remove_all_ignores_from_config(env_name: Optional[str] = None) -> Tuple[Path
1195
1204
  # Read existing config
1196
1205
  config = configparser.ConfigParser()
1197
1206
  if not config_path.exists():
1198
- raise ValueError(f"No pip configuration file found at {config_path}")
1207
+ # If file doesn't exist, no ignores to remove
1208
+ if env_name:
1209
+ raise ValueError(f"No ignores found in environment '{env_name}'")
1210
+ else:
1211
+ raise ValueError("No ignores found in any environment")
1199
1212
 
1200
1213
  config.read(config_path)
1201
1214
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pipu-cli
3
- Version: 0.1.dev0
3
+ Version: 0.1.dev2
4
4
  Summary: A cute Python package updater
5
5
  Author-email: Scott Arne Johnson <scott.arne.johnson@gmail.com>
6
6
  License-Expression: MIT
@@ -1,9 +1,9 @@
1
- pipu_cli/__init__.py,sha256=KOxurgQjOvev1wXOq9gL0JkZTXSsfbhH_KDEJjhHtG4,1190
1
+ pipu_cli/__init__.py,sha256=74gTCnT1Zpk5OVITB9CrYG1pZlSg1s1OJT-jPZpL8OM,1190
2
2
  pipu_cli/cli.py,sha256=aCN2Fz1bWhXs8MC7kqy5GdzJggNtTdumW4PQkxKOBpg,39993
3
3
  pipu_cli/common.py,sha256=g5krfXFsvVJpOf87Vw4DGi5WIduDgMlRuONKXqO328M,78
4
4
  pipu_cli/config.py,sha256=xsfNU4ORAujla_FGfsMKpxy7QTpd_bJhRF_u4IPKLW0,3635
5
- pipu_cli/internals.py,sha256=mOVsEEzR-xm1Kg1y3c_JU0BcJS4FjnogLoSoyqHV2-8,31806
6
- pipu_cli/package_constraints.py,sha256=aIFYRJc_DhUNWaNQmZBxUED3orG8x8Sy0W7xfJ5XVHY,92483
5
+ pipu_cli/internals.py,sha256=1Fds2mMn2SJwfTwfjbeqAcTWJjOazP9QtrjRvgzzspo,32786
6
+ pipu_cli/package_constraints.py,sha256=6LSFlC93HNIFym7dYkfYn0fsOic6QDe1ADyghK94Pk8,93052
7
7
  pipu_cli/thread_safe.py,sha256=zdQyCoMVJW73MC-d1pL_4ZO-K4AwkI0JeVyQsd8x7nY,7545
8
8
  pipu_cli/utils.py,sha256=ijSHKVuKbjmRbj2RwD9S1606PeY4oDiutzhutpX25wM,5842
9
9
  pipu_cli/ui/__init__.py,sha256=nCb_3G_vZXy5_Or9z9r-3XhYV1ppUR1r7nMZ9_6Srwg,1432
@@ -11,9 +11,9 @@ pipu_cli/ui/apps.py,sha256=ltH24sg-3nqVpoomgCwhVYuAwq3hBUwYRH60JXtV2Yg,59771
11
11
  pipu_cli/ui/constants.py,sha256=HBPf4KYWHiT18c7ciQ0HeI7gZE3VIFOT0uobLU8YxQA,445
12
12
  pipu_cli/ui/modal_dialogs.py,sha256=5OF8UL2lXXH3GoAxFQCqp_T3jc5jeLSk77Y7ffBt6mw,45849
13
13
  pipu_cli/ui/table_widgets.py,sha256=PC0CqqrK3KgMbTCYRPG01lxkEtRBz9xr9PN8EzoObz8,14322
14
- pipu_cli-0.1.dev0.dist-info/licenses/LICENSE,sha256=q6TxVbSI0WMB9ulF2V0FWQfeA5om3d-T9X7QwuhdiYE,1075
15
- pipu_cli-0.1.dev0.dist-info/METADATA,sha256=xfsM0WPvGOfZFYkIZcGRvYhr10qudNk4567_4s76xj8,13200
16
- pipu_cli-0.1.dev0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
- pipu_cli-0.1.dev0.dist-info/entry_points.txt,sha256=VSv6od00zOPblnFPflNLaci4jBtQIgLYJjL1BKxLz_o,42
18
- pipu_cli-0.1.dev0.dist-info/top_level.txt,sha256=z3Yce93-jGQjGRpsGZUZvbS8osh3OyS7MVpzG0uBE5M,9
19
- pipu_cli-0.1.dev0.dist-info/RECORD,,
14
+ pipu_cli-0.1.dev2.dist-info/licenses/LICENSE,sha256=q6TxVbSI0WMB9ulF2V0FWQfeA5om3d-T9X7QwuhdiYE,1075
15
+ pipu_cli-0.1.dev2.dist-info/METADATA,sha256=oJCC9jxaylP7OopD2r_PcLcUvoQDSF2cHSuDr5q-r9g,13200
16
+ pipu_cli-0.1.dev2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
17
+ pipu_cli-0.1.dev2.dist-info/entry_points.txt,sha256=VSv6od00zOPblnFPflNLaci4jBtQIgLYJjL1BKxLz_o,42
18
+ pipu_cli-0.1.dev2.dist-info/top_level.txt,sha256=z3Yce93-jGQjGRpsGZUZvbS8osh3OyS7MVpzG0uBE5M,9
19
+ pipu_cli-0.1.dev2.dist-info/RECORD,,