From eab9dfcd13dd14942dfc4a84e2091d401ff19db6 Mon Sep 17 00:00:00 2001 From: goodboy Date: Wed, 14 Jan 2026 09:49:50 -0500 Subject: [PATCH 1/3] Update `pdbp` to latest release Since i fixed a UX regression that's critical for our dev tooling. See the patch @ https://github.com/mdmintz/pdbp/pull/83 --- pyproject.toml | 4 +++- uv.lock | 10 +++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b89c8ca5..cca0a961 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -111,7 +111,9 @@ uis = [ # use `uv --dev` to enable repl = [ # debug - "pdbp >=1.5.0, <2.0.0", + "pdbp >=1.8.2, <2.0.0", + # ^XXX, to get our frame indexing fix B) + # https://github.com/mdmintz/pdbp/releases/tag/v1.8.2 "greenback >=1.1.1, <2.0.0", "xonsh", "prompt-toolkit ==3.0.40", diff --git a/uv.lock b/uv.lock index c50f5a50..e0f3d7fd 100644 --- a/uv.lock +++ b/uv.lock @@ -955,16 +955,16 @@ wheels = [ [[package]] name = "pdbp" -version = "1.8.1" +version = "1.8.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, { name = "pygments" }, { name = "tabcompleter" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/f5/794ef06a84b4aea5619cda8956aefb838c6b4849002079dca3bc8955f6e3/pdbp-1.8.1.tar.gz", hash = "sha256:e2acef6b14567b5599f624aec7378139cba086695c13a4e7e327ccb235c3a00b", size = 25812, upload-time = "2025-11-02T18:15:27.098Z" } +sdist = { url = "https://files.pythonhosted.org/packages/50/91/2d614b0db12840d646159f65510415ade0db9db595d6dee3eac60dfe9302/pdbp-1.8.2.tar.gz", hash = "sha256:367c25c17555d3ac1f024b9ad494ff50e6e20f6494a84741487f3e6596d88f94", size = 25843, upload-time = "2026-01-14T03:10:28.134Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/75/58/3af430d0de0b95d5adf7e576067e07d750ba76e28d142871982464fb40db/pdbp-1.8.1-py3-none-any.whl", hash = "sha256:643e8c84df7c09542c0c7c3f0f18a6c2fb4fb372f9f054ceca80a9037db986a5", size = 21950, upload-time = "2025-11-02T18:15:25.923Z" }, + { url = "https://files.pythonhosted.org/packages/51/fe/53ac0cd932db5dcaf55961bc7cb7afdca8d80d8cc7406ed661f0c7dc111a/pdbp-1.8.2-py3-none-any.whl", hash = "sha256:d4fd05e177636b5ccd0b2e03e378cec57afc06149e5fd975de6f8ddb3d0109a8", size = 21969, upload-time = "2026-01-14T03:10:27.062Z" }, ] [[package]] @@ -1115,7 +1115,7 @@ dev = [ { name = "cython", specifier = ">=3.0.0,<4.0.0" }, { name = "greenback", specifier = ">=1.1.1,<2.0.0" }, { name = "i3ipc", specifier = ">=2.2.1" }, - { name = "pdbp", specifier = ">=1.5.0,<2.0.0" }, + { name = "pdbp", specifier = ">=1.8.2,<2.0.0" }, { name = "prompt-toolkit", specifier = "==3.0.40" }, { name = "pyperclip", specifier = ">=1.9.0" }, { name = "pyqt6", specifier = ">=6.7.0,<7.0.0" }, @@ -1128,7 +1128,7 @@ dev = [ lint = [{ name = "ruff", specifier = ">=0.9.6" }] repl = [ { name = "greenback", specifier = ">=1.1.1,<2.0.0" }, - { name = "pdbp", specifier = ">=1.5.0,<2.0.0" }, + { name = "pdbp", specifier = ">=1.8.2,<2.0.0" }, { name = "prompt-toolkit", specifier = "==3.0.40" }, { name = "pyperclip", specifier = ">=1.9.0" }, { name = "xonsh" }, From 6f0f926259ceb6c881984bb3688b84f773d73205 Mon Sep 17 00:00:00 2001 From: goodboy Date: Wed, 14 Jan 2026 09:51:25 -0500 Subject: [PATCH 2/3] Fix `uv sync` flags in readme Much thx to @momo for pointing out that we were still documenting the old `--extra` flags (which are for `[optional-dependencies]`, see docs https://docs.astral.sh/uv/concepts/projects/dependencies/#optional-dependencies) but we're now using "dev dependency-groups" (https://docs.astral.sh/uv/concepts/projects/dependencies/#dependency-groups) which instead use the `--group` flag. --- README.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index e410791f..c085707e 100644 --- a/README.rst +++ b/README.rst @@ -95,12 +95,15 @@ bc why install with `python` when you can faster with `rust` :: include all GUIs (ex. for charting):: - uv sync --extra uis + uv sync --group uis -AND with all our hacking tools and WIP integrations:: +AND with **all** our normal hacking tools:: - uv sync --dev --all-extras + uv sync --dev +AND if you want to try WIP integrations:: + + uv sync --all-groups Ensure you can run the root-daemon:: From 664be2cd0bf0c2691caa0cba5eebb5081f8455c5 Mon Sep 17 00:00:00 2001 From: goodboy Date: Wed, 14 Jan 2026 15:29:26 -0500 Subject: [PATCH 3/3] Another little `pyproject` rejig Adding links to `uv` stuff and cleaning up old cruft from before recent flash landing of various feature/dev branches. --- pyproject.toml | 108 ++++++++++++++++++++++++------------------------- 1 file changed, 53 insertions(+), 55 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index cca0a961..d8b28257 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,56 +77,42 @@ dependencies = [ "pyvnc", ] # ------ dependencies ------ +# NOTE, by default we ship only a "headless" deps set bc +# the `uis` group is not listed in the optional set. - -# TODO: add an `--only daemon` group for running non-ui / pikerd -# service tree in distributed mode B) +# [optional-dependencies] +# uis = [] +# ?TODO? really we should be able to mv this `uis` group +# to be under [optional-dependencies] and then include +# it in the dev deps? # https://docs.astral.sh/uv/concepts/projects/dependencies/#optional-dependencies +# -> uis should be included in pubbed pkgs. +# [ ] uv seems to have no way to do this though? + +# TODO? move to a `uv.toml`? +[tool.uv] +# https://docs.astral.sh/uv/reference/settings/#python-preference +python-preference = 'system' +# https://docs.astral.sh/uv/reference/settings/#python-downloads +python-downloads = 'manual' +# https://docs.astral.sh/uv/concepts/projects/dependencies/#default-groups +default-groups = [ + 'uis', +] +# ------ tool.uv ------ [dependency-groups] uis = [ - # https://docs.astral.sh/uv/concepts/projects/dependencies/#optional-dependencies - # TODO: make sure the levenshtein shit compiles on nix.. - # rapidfuzz = {extras = ["speedup"], version = "^0.18.0"} - "rapidfuzz >=3.2.0, <4.0.0", - "qdarkstyle >=3.0.2, <4.0.0", - "pyqt6 >=6.7.0, <7.0.0", - "pyqtgraph", + "pyqtgraph", + "qdarkstyle >=3.0.2, <4.0.0", + "pyqt6 >=6.7.0, <7.0.0", - # for consideration, - # - 'visidata' - - "qdarkstyle >=3.0.2, <4.0.0", - "pyqt6 >=6.7.0, <7.0.0", - "pyqtgraph", + # fuzzy search + "rapidfuzz >=3.2.0, <4.0.0", ] -# TODO: a toolset that makes debugging a `pikerd` service (tree) easy -# to hack on directly using more or less the local env: -# - xonsh + xxh -# - rsyscall + pdbp -# - actor runtime control console like BEAM/OTP -# -# console ehancements and eventually remote debugging extras/helpers. -# use `uv --dev` to enable -repl = [ - # debug - "pdbp >=1.8.2, <2.0.0", - # ^XXX, to get our frame indexing fix B) - # https://github.com/mdmintz/pdbp/releases/tag/v1.8.2 - "greenback >=1.1.1, <2.0.0", - "xonsh", - "prompt-toolkit ==3.0.40", - "pyperclip>=1.9.0", - -] -testing = [ - "pytest", -] -de = [ - # DE-specific - "i3ipc>=2.2.1", -] +# dev deps enabled by `uv --dev` +# https://docs.astral.sh/uv/concepts/projects/dependencies/#development-dependencies dev = [ # https://docs.astral.sh/uv/concepts/projects/dependencies/#development-dependencies "cython >=3.0.0, <4.0.0", @@ -138,13 +124,34 @@ dev = [ {include-group = 'testing'}, {include-group = 'de'}, ] +repl = [ + # `tractor`'s debugger + "pdbp >=1.8.2, <2.0.0", + "greenback >=1.1.1, <2.0.0", + + # @goodboy's preferred console toolz + "xonsh", + "prompt-toolkit ==3.0.40", + "pyperclip>=1.9.0", + + # ?TODO, new stuff to consider.. + # "visidata" # console numerics + # "xxh" # for remote `xonsh`-ing + # "rsyscall" # (eventual) optional `tractor` backend + # - an actor-runtime-ctl console like BEAM/OTP +] +testing = [ + "pytest", +] +de = [ # (linux) specific DEs + "i3ipc>=2.2.1", +] lint = [ # XXX, with flake.nix needs to be from nixpkgs - "ruff>=0.9.6" - # - # ^TODO? these markers don't work; use deps-flags for now? + "ruff>=0.9.6" # ; os_name != 'nixos' and platform_system != 'NixOS'", - # ; defined('IN_NIX_SHELL')", + # ?TODO? since ^ markers won't work, use a deps-flags to toggle for + # now. ] dbs = [ "elasticsearch >=8.9.0, <9.0.0", @@ -179,15 +186,6 @@ include = ["piker"] # ------ tool.hatch ------ -# TODO? move to a `uv.toml`? -[tool.uv] -python-preference = 'system' -python-downloads = 'manual' -# https://docs.astral.sh/uv/concepts/projects/dependencies/#default-groups -default-groups = ['uis', 'dev'] -# ------ tool.uv ------ - - [tool.uv.sources] pyqtgraph = { git = "https://github.com/pikers/pyqtgraph.git" } tomlkit = { git = "https://github.com/pikers/tomlkit.git", branch ="piker_pin" }