Commit Graph

163 Commits

Author SHA1 Message Date
LLM
c2bfca5550 [+] ruff line-length 100, add meson:install:list, bump pr34 v0.1.5.66
1. set ruff line-length to 100, reformat 18 files;
  2. move pr34 version to pyproject.common.toml, read via toml in meson.build;
  3. fix meson install_subdir to only include meson/toolchains, not entire meson/;
  4. add meson:install:list command with --mode meson|pyproject for dry-run;
  5. add .venv-whl-cache to .gitignore exceptions and .gitattributes lfs tracking;
  6. release pr34 v0.1.5.66 .whl;
  7. commit python/.venv-whl-cache and archlinux/.venv-whl-cache via lfs;
2026-04-06 09:56:11 +00:00
LLM
5e1a06a6b5 [+] merge gitea/master, regenerate requirements for py3.13
1. merge gitea/master into 25-llm-archlinux-package-manager;
  2. incorporate master deps: tomlq, pip==25.1, django, fastapi, uvicorn;
  3. add requirements.3.13.txt with version-specific mapping;
  4. remove generic requirements.txt, pyproject.toml from tracking;
  5. fix whl_cache_download to run once after compile, before install;
  6. update m.py to use pyproject.common.toml for bootstrap;
2026-04-06 09:32:19 +00:00
LLM
2c013d6be4 [+] fix pr34 build: exclude archlinux from ruff/pyrefly, import overload from typing
1. exclude archlinux namespace from pr34 ruff and pyrefly configs;
  2. import overload from typing (available since py3.5) instead of typing_extensions;
  3. add --no-annotate --no-header to uv pip compile;
  4. read version from pyproject.toml in archlinux meson.build;
  5. exclude archlinux from pr34 meson.build find;
2026-04-06 07:43:37 +00:00
LLM
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
LLM
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
LLM
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
LLM
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
79a1296281 [+] update pr34
1. update cli_boostrap.py example;
  1.1. allow to force whl_cache update;
    not reset;
  1.2. log more command calls, before executing them;
  2. update oom_firefox,
    to produce some logs;
  2.1. still not practical solution,
    since tabs crash very fast,
    and no integration with the browser,
    to say extensions killing,
    which happens still for some reason;
  3. reuse pr34_logging.setup();
2026-02-04 11:39:47 +03:00
ad7c176f6f [+] update status command
1. add timezone %Z;
2026-01-06 13:55:16 +03:00
2e4f407974 [+] update oom_firefox
1. allow to change kill percent
    via p hotkey;
2025-12-24 16:11:17 +03:00
d782ec7731 [+] update pr34
1. fetch sensitive configs,
    mark telegram to prevent sway idle, when fullscreen;
  2. update oom_firefox tool,
    to support custom worker_regex, main_regex;
  3. update .whl for pr34;
2025-12-13 20:18:55 +03:00
0c581d6f5c [+] update oom_firefox
1. add l keybinding
    to change in realtime cgroup max memory limit;
  2. make sure keybindings are not working
    when a dialog is opened;
  3. make sure the app correctly handles Ctrl+C;
  4. improve logging format, include a timestamp
    and line locatin;
2025-12-12 16:41:32 +03:00
c0125914d2 [+] update status
1. make sure it handles properly
    time jumps due to suspend for example;
2025-12-09 13:32:03 +03:00
6410df3326 [+] update status
1. add repeat_interval;
2025-12-04 11:58:41 +03:00
904c77fc29 [+] update textwrap
1. do as in the source code,
    either COLUMNS env variable,
    otherwise 99999
    for no wrap, instead of default 80 width;
2025-12-04 11:29:12 +03:00
67fcefbce0 [+] reformat ruff
1. column width 80;
2025-12-04 11:25:58 +03:00
314426c674 [+] update status
1. move to typed commands;
  2. partially fixed monkey patch
    for format of help;
2025-12-04 11:25:24 +03:00
c568d8d9a7 [+] update oom_firefox
1. fix .pid attributes for dict;
  2. reformat;
  3. migrate into pr34 repo;
  4. update Makefile for fetch, deploy;
2025-12-03 17:38:12 +03:00
b50468154f [+] update config
1. update pr34 cpufreq action
  1.1. add support for amd_pstate cpus;
  1.2. add pr34 .whl release;
  2. fetch configs for new platform;
  3. fetch sensitive configs and store gpg encrypted data;
2025-11-30 21:51:48 +03:00
1377fdd9ff [+] update pr34
1. update cli_bootstrap
    to explicitly fetch whl-cache;
2025-11-08 09:56:53 +03:00
938e5a94e6 [+] update pr34
1. make .whl reproducible;
2025-11-06 15:53:03 +03:00
0462559cc6 [+] update pr34
1. backport fixed timestamp
    for zip, .whl; when calling deploy:wheel;
2025-11-06 15:43:42 +03:00
8a7de59e73 [+] update pr34
1. add dark/light mode
    changing via gsettings
    for GTK, wayland;
2025-11-01 21:30:32 +03:00
14f0a66c67 [+] update cli.py, fix assert 2025-10-29 14:57:47 +03:00
cf2476ec28 [+] update vim, pydantic
1. refactor python vim module;
  1.1. experiment
    with fast select based on popup in vim,
    and multi threaded app in python;
  1.2. TODO,
    figure out some thread safe way
    to call vim.command from python side threads;
  1.3. update pydantic validate params;
2025-10-12 00:29:01 +03:00
cc4a703bcb [+] update pydantic, validate_params
1. extend to support sync/async methods;
2025-10-11 17:07:45 +03:00
aa6b407fe7 [+] update pr34
1. add -U to UV_ARGS,
    ignore it in venv;
  2. generate .whl;
  3. update m.py for pr34;
2025-09-11 13:51:35 +03:00
f4f579b8f1 [+] update Battery service 2025-09-11 13:44:18 +03:00
7f2f0cbda3 [+] update checks service
1. make metrics in commands_typed
    be agnostic of fastapi, django;
  2. implement ping wrapper for rest.py in checks;
  3. use env settings to specify hosts to ping;
  4. add pyright, ruff into Makefile;
  5. test in production;
2025-08-29 11:45:23 +03:00
aa927da556 [+] improve checks service 2025-08-27 16:41:44 +03:00
83c9d864da [+] improve checks app
1. partially add simple module for fastapi apps;
  2. update checks rest.py;
2025-08-27 11:36:31 +03:00
b3c0dd2703 [+] improve deploy:wheel
1. format with ruff;
  2. use tomlq from venv;
2025-08-25 19:02:09 +03:00
99a0013f42 [+] add metrics for prometheus, django 2025-08-25 18:54:16 +03:00
9d2d48f6ed [+] improve meson wrapper
1. provide properly custom pkg_config_path
    folders for meson;
  1.1. check that pyproject mode
    correctly discovers library built
    and installed by meson mode;
2025-08-05 16:56:52 +03:00
41d90d5dcf [+] improve mode usage
1. update ninja command;
  2. add .whl for .20, .21 versions;
2025-08-04 10:06:40 +03:00
f87de4d9bf [+] improve meson:setup
1. allow to pass mode;
2025-08-04 09:53:31 +03:00
3a01fc9e87 [+] improve check_type 2025-08-01 12:43:55 +03:00
ba3fe1284c [+] add check_type, add .whl 2025-07-31 16:50:04 +03: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