49276b0e06
[+] register archlinux as separate project, update cli tooling
...
1. add archlinux project to cli.py _projects dict;
2. add archive command delegation in archlinux cli.py;
3. add --archive-cache flag to compile for multi-date sqlite pool;
4. add deploy:wheel overwrite protection with --force-whl-overwrite;
5. add pyrefly command to commands_typed/cli.py;
6. fix pip.py compatibility with pinned pip version;
7. fix toml.py merging for list[str] values;
2026-04-03 16:46:44 +00:00
77be19948d
[+] improve cli_bootstrap.py with whl cache, venv_partial, packaging_t
...
1. add packaging_t: canonicalize_name, parse_whl_name_version, parse_req_spec;
2. add whl_cache_download: download missing wheels into .venv-whl-cache;
3. add check_host_prerequisites: verify pip and uv available on host;
4. add BootstrapSettings: whl_cache_path, uv_cache_dir, whl_cache_update;
5. add BootstrapSettings: uv_compile_allow_index, venv_partial;
6. add check_type helper for typed attribute access;
7. venv_partial recompiles with existing requirements.txt as constraints;
8. compile output goes to temp file, moved on success only;
9. guard typing_extensions import for bootstrap without venv;
2026-04-03 16:46:08 +00:00
b67a40936b
[+] add sqlite cache and archive sync for archlinux package
...
1. add cache_db.py: sqlite3 ORM with pydantic row models, typed streaming;
2. add archive.py: archive sync logic, list-dates, list-packages, show-versions cli;
3. cache_db stores snapshots, packages, relations, local_packages, signatures;
4. archive.py delegates cli subparser to archive.main(), keeps cli.py thin;
5. sync downloads .db files per date, parses into sqlite, skips unchanged;
6. supports date ranges with configurable step;
2026-04-03 16:45:34 +00:00
64845d732d
[+] add archlinux package management module with libsolv backend
...
1. add models: package_desc_t, repo_index_t, vercmp_t, compile_options_t;
2. add db.py: parse pacman .db tar archives into repo_index_t;
3. add pacman.py: wrap pacman cli for listing installed, downloading .db;
4. add resolver.py: pure python dependency resolver;
5. add compile.py: fetch archive indices, resolve, output compiled reqs;
6. add solv_backend.py: libsolv-based solver with repo_store_t, solv_pool_t;
7. add cli.py: list-installed, compile, download subcommands;
8. add mypy-stubs/types-solv for solv python bindings;
9. add .gitattributes lfs tracking for test .db files;
2026-04-03 16:45:00 +00:00
8bfce9c4f6
[+] improve check_generic, release .whl
2025-07-01 16:28:46 +03:00
bc7ecd5d40
[+] partially add check_generic
2025-07-01 16:27:47 +03:00
1e73d19122
[+] release .whl, fix ruff
2025-06-21 14:05:31 +03:00
91dbbde50d
[+] add type checking decorator
...
1. add pydantic based decorator,
that checks typing for incoming
arguments;
1.1. helps when some wrapping decorator
uses *args, **kwargs,
since pyright just ignores what happens after wards;
2025-06-21 13:59:09 +03:00
62a21cc6a0
[+] fix cross_file usage
2025-06-09 17:58:09 +03:00
fc10601632
[+] improve shutil_rmtree
2025-06-06 11:28:38 +03:00
4474e08e10
[+] add default third_party_roots
2025-06-05 18:34:13 +03:00
520ea4211a
[+] improve commands_typed
...
1. improve third_party_roots from pyproject;
2. improve typing for pip;
2025-06-05 11:55:45 +03:00
20a4570484
[+] implement toml_add_overlay
2025-06-04 11:24:06 +03:00
fa09245da6
[+] update meson_install
2025-06-02 17:44:02 +03:00
fbe6fb01cb
[+] add custom shutil_rmtree
2025-06-02 14:26:57 +03:00
15ab55e370
[+] fix meson wrapper
2025-05-30 12:10:40 +03:00
bab76643f2
[+] fix meson third_party_roots option
2025-05-29 12:02:52 +03:00
a7d68110c8
[+] add project_name for third_party_roots
2025-05-28 16:35:33 +03:00
e0843e8496
[+] remove build dir when deploy with force=True
2025-05-27 10:25:15 +03:00
a7c192a51e
[+] update toolchain name
2025-05-23 14:35:45 +03:00
0a0e8c7079
[+] add .whl
2025-05-23 14:01:06 +03:00
c720465c59
[+] fix typing
2025-05-23 13:57:51 +03:00
79f6d3544c
[+] partially added cross-file parser
2025-05-23 11:58:46 +03:00
772279b5d5
[+] fix cli_bootstrap
2025-05-23 11:41:45 +03:00
66e32b4fc9
[+] use meson from venv
...
1. fix typing for tomllib,
since it is found in python <3.11
2025-05-23 11:31:08 +03:00
b4199d3faa
[+] add tomllib option for toml_load
2025-05-22 14:40:14 +03:00
4d10656e0a
[+] extend tool.meson
...
1. allow to specify setup args
for meson setup,
when building mode=meson of pyproject.toml;
2025-05-22 14:27:30 +03:00
b46571b198
[+] fix python 3.10 compatibility
...
1. add .whl;
2025-05-20 14:00:09 +03:00
794b86d90e
[+] add .whl
...
1. fix type errors;
2. release new .whl;
2025-05-20 12:03:08 +03:00
64a898ce44
[+] reformat with ruff
2025-05-20 11:03:00 +03:00
cf9ede1dde
[+] fix ruff issues
2025-05-20 10:56:48 +03:00
5491f92bbe
[+] improve typing
2025-05-20 10:46:04 +03:00
a7f6bd927c
[+] improve typing
2025-05-19 17:06:01 +03:00
d30cdc7d70
[+] improve typing
2025-05-19 16:58:40 +03:00
5e6b2b2e63
[+] improve typing
2025-05-19 16:46:37 +03:00
21326dd222
[+] improve typing
2025-05-19 13:23:02 +03:00
cc506baa9e
[+] improve typing
2025-05-19 13:16:08 +03:00
91af45c582
[+] improve typing
2025-05-19 13:11:26 +03:00
1dbba925f1
[+] improve typing
2025-05-19 12:33:28 +03:00
591c893909
[+] improve typing
2025-05-19 12:24:51 +03:00
9f4b426229
[+] improve typing
2025-05-19 11:38:25 +03:00
218af2d173
[+] integrate ruff, pyright into deploy_wheel
2025-05-17 11:24:26 +03:00
3ef16b70de
[+] improve logging
2025-05-17 11:10:37 +03:00
cf840258c2
[+] pass python_version to uv pip compile
2025-05-16 17:05:51 +03:00
c6b2b62ba4
[+] improve venv:compile
2025-05-16 16:58:23 +03:00
8c07cea8b7
[+] improve module:switch
2025-05-16 14:18:12 +03:00
1d0f719531
[+] fix module:switch
2025-05-16 14:11:19 +03:00
54134ed0a8
[+] improve venv_compile
2025-05-15 13:18:00 +03:00
8fecbe3e8a
[+] isolate requirements_name
2025-05-15 11:01:38 +03:00
f4891526a7
[m] merge a change from master
2025-05-14 17:22:51 +03:00