[+] improve commands_typed

1. improve third_party_roots from pyproject;
  2. improve typing for pip;
This commit is contained in:
Siarhei Siniak 2025-06-05 11:55:45 +03:00
parent 20a4570484
commit 520ea4211a
6 changed files with 35 additions and 7 deletions

@ -5,7 +5,7 @@ project(
).stdout().strip('\n'), ).stdout().strip('\n'),
# 'online.fxreader.uv', # 'online.fxreader.uv',
# ['c', 'cpp'], # ['c', 'cpp'],
version: '0.1.5.17+27.14', version: '0.1.5.17+27.17',
# default_options: [ # default_options: [
# 'cpp_std=c++23', # 'cpp_std=c++23',
# # 'prefer_static=true', # # 'prefer_static=true',

@ -68,6 +68,9 @@ class PyProject:
pip_find_links: Optional[list[pathlib.Path]] = None pip_find_links: Optional[list[pathlib.Path]] = None
runtime_libdirs: Optional[list[pathlib.Path]] = None runtime_libdirs: Optional[list[pathlib.Path]] = None
runtime_preload: Optional[list[pathlib.Path]] = None runtime_preload: Optional[list[pathlib.Path]] = None
third_party_roots: list[str] = dataclasses.field(
default_factory=lambda: [],
)
requirements: dict[str, pathlib.Path] = dataclasses.field(default_factory=lambda: dict()) requirements: dict[str, pathlib.Path] = dataclasses.field(default_factory=lambda: dict())
modules: list[Module] = dataclasses.field( modules: list[Module] = dataclasses.field(
@ -227,14 +230,21 @@ def pyproject_load(
res.runtime_libdirs = [ res.runtime_libdirs = [
d.parent / pathlib.Path(o) d.parent / pathlib.Path(o)
# pathlib.Path(o) # pathlib.Path(o)
for o in pr34_tool['runtime_libdirs'] for o in check_list(pr34_tool['runtime_libdirs'], str)
] ]
if 'runtime_preload' in pr34_tool: if 'runtime_preload' in pr34_tool:
res.runtime_preload = [ res.runtime_preload = [
d.parent / pathlib.Path(o) d.parent / pathlib.Path(o)
# pathlib.Path(o) # pathlib.Path(o)
for o in pr34_tool['runtime_preload'] for o in check_list(pr34_tool['runtime_preload'], str)
]
if 'third_party_roots' in pr34_tool:
res.third_party_roots = [
o
# pathlib.Path(o)
for o in check_list(pr34_tool['third_party_roots'], str)
] ]
if 'requirements' in pr34_tool: if 'requirements' in pr34_tool:
@ -423,11 +433,20 @@ def env_bootstrap(
# ]) # ])
uv_python_version: list[str] = [] uv_python_version: list[str] = []
venv_python_version: list[str] = []
if not bootstrap_settings.python_version is None: if not bootstrap_settings.python_version is None:
uv_python_version.extend( uv_python_version.extend(
[
# '-p',
'--python-version',
bootstrap_settings.python_version,
]
)
venv_python_version.extend(
[ [
'-p', '-p',
# '--python-version',
bootstrap_settings.python_version, bootstrap_settings.python_version,
] ]
) )
@ -462,7 +481,7 @@ def env_bootstrap(
[ [
'uv', 'uv',
'venv', 'venv',
*uv_python_version, *venv_python_version,
*pip_find_links_args, *pip_find_links_args,
# '--seed', # '--seed',
*bootstrap_settings.uv_args, *bootstrap_settings.uv_args,
@ -477,8 +496,8 @@ def env_bootstrap(
'install', 'install',
*uv_python_version, *uv_python_version,
*pip_find_links_args, *pip_find_links_args,
# '-p', '-p',
# bootstrap_settings.python_path, bootstrap_settings.python_path,
'--require-hashes', '--require-hashes',
*bootstrap_settings.uv_args, *bootstrap_settings.uv_args,
'-r', '-r',

@ -43,7 +43,7 @@ logger = logging.getLogger(__name__)
class pip_show_t: class pip_show_t:
class res_t: class res_t:
class package_info_t: class package_info_t:
pass location: str
def pip_show( def pip_show(

Binary file not shown.

Binary file not shown.

Binary file not shown.