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" }