pystand 2.1__py3-none-any.whl → 2.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pystand
3
- Version: 2.1
3
+ Version: 2.2
4
4
  Summary: Install Python versions from python-build-standalone project
5
5
  Author-email: Mark Blakeney <mark.blakeney@bullet-systems.net>
6
6
  License: GPLv3
@@ -281,17 +281,17 @@ options:
281
281
  ### Command `path`
282
282
 
283
283
  ```
284
- usage: pystand path [-h] [-p] [version]
284
+ usage: pystand path [-h] [-p] [-c | version]
285
285
 
286
286
  Show path prefix to installed version base directory.
287
287
 
288
288
  positional arguments:
289
- version version to return path for, or latest installed version
290
- if not specified
289
+ version print resolved path for specified version
291
290
 
292
291
  options:
293
- -h, --help show this help message and exit
294
- -p, --python-path return full path to python executable
292
+ -h, --help show this help message and exit
293
+ -p, --python-path show full path to python executable
294
+ -c, --cache-prefix print path to cache dir
295
295
  ```
296
296
 
297
297
  ## Installation and Upgrade
@@ -0,0 +1,6 @@
1
+ pystand.py,sha256=tOQ4SxeqAtz3Tc-kd9jt_v-Hbx_vXnatHPkT5f1pdAA,33114
2
+ pystand-2.2.dist-info/METADATA,sha256=45hYFkXnngYMEDtsQ_lciU38qxK-Jl98ZxXyjvhhd2I,17403
3
+ pystand-2.2.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
4
+ pystand-2.2.dist-info/entry_points.txt,sha256=DG4ps3I3nni1bubV1tXs6u8FARgkdbAYaEAzZD4RAo8,41
5
+ pystand-2.2.dist-info/top_level.txt,sha256=NoWUh19UQymAJLHTCdxMnVwV6Teftef5fzyF3OWLyNY,8
6
+ pystand-2.2.dist-info/RECORD,,
pystand.py CHANGED
@@ -361,7 +361,7 @@ def update_version_symlinks(args: Namespace) -> None:
361
361
  oldlinks = {}
362
362
  vers = []
363
363
  for path in base.iterdir():
364
- if not path.name.startswith('.'):
364
+ if path.name[0] != '.' and path.name[0].isdigit():
365
365
  if path.is_symlink():
366
366
  oldlinks[path.name] = os.readlink(str(path))
367
367
  else:
@@ -604,8 +604,8 @@ def main() -> str | None:
604
604
  'using -D/--distribution option.')
605
605
 
606
606
  # Keep some useful info in the namespace passed to the command
607
- prefix_dir = Path(args.prefix_dir).expanduser()
608
- cache_dir = Path(args.cache_dir).expanduser()
607
+ prefix_dir = Path(args.prefix_dir).expanduser().resolve()
608
+ cache_dir = Path(args.cache_dir).expanduser().resolve()
609
609
 
610
610
  args._distribution = distribution
611
611
  args._data = f'{PROG}.json'
@@ -871,15 +871,29 @@ class _path(COMMAND):
871
871
  @staticmethod
872
872
  def init(parser: ArgumentParser) -> None:
873
873
  parser.add_argument('-p', '--python-path', action='store_true',
874
- help='return full path to python executable')
875
- parser.add_argument('version', nargs='?',
876
- help='version to return path for, or latest '
877
- 'installed version if not specified')
874
+ help='show full path to python executable')
875
+ group = parser.add_mutually_exclusive_group()
876
+ group.add_argument('-c', '--cache-prefix', action='store_true',
877
+ help='print path to cache dir')
878
+ group.add_argument('version', nargs='?',
879
+ help='print resolved path for specified version')
878
880
 
879
881
  @staticmethod
880
882
  def run(args: Namespace) -> str | None:
883
+ if args.cache_prefix:
884
+ if args.python_path:
885
+ args.parser.error('Can not specify --python-path.')
886
+ print(args._downloads.parent)
887
+ return
888
+
889
+ if not args.version:
890
+ if args.python_path:
891
+ args.parser.error('Can not specify --python-path.')
892
+ print(args._versions)
893
+ return
894
+
881
895
  matcher = VersionMatcher([f.name for f in iter_versions(args)])
882
- version = matcher.match(args.version) or args.version
896
+ version = matcher.match(args.version)
883
897
  if not version:
884
898
  return 'No Python version installed.'
885
899
 
@@ -1,6 +0,0 @@
1
- pystand.py,sha256=x6qijPBLaKWX0BxlbQyKa3_N20dWnbSCGvBSfflEczU,32597
2
- pystand-2.1.dist-info/METADATA,sha256=d79DfUbvnmHlCFkUDHYSxJwQDGJTDFMT_nmNx1Wu7yI,17403
3
- pystand-2.1.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
4
- pystand-2.1.dist-info/entry_points.txt,sha256=DG4ps3I3nni1bubV1tXs6u8FARgkdbAYaEAzZD4RAo8,41
5
- pystand-2.1.dist-info/top_level.txt,sha256=NoWUh19UQymAJLHTCdxMnVwV6Teftef5fzyF3OWLyNY,8
6
- pystand-2.1.dist-info/RECORD,,
File without changes