diff --git a/pyproject.toml b/pyproject.toml index d8b28257..dcd489d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -116,7 +116,6 @@ uis = [ dev = [ # https://docs.astral.sh/uv/concepts/projects/dependencies/#development-dependencies "cython >=3.0.0, <4.0.0", - # nested deps-groups # https://docs.astral.sh/uv/concepts/projects/dependencies/#nesting-groups {include-group = 'uis'}, @@ -134,6 +133,10 @@ repl = [ "prompt-toolkit ==3.0.40", "pyperclip>=1.9.0", + # for @claude's `snippets/claude_debug_helper.py` it uses to do + # "offline" debug/crash REPL-in alongside a dev. + "pexpect>=4.9.0", + # ?TODO, new stuff to consider.. # "visidata" # console numerics # "xxh" # for remote `xonsh`-ing @@ -191,10 +194,15 @@ pyqtgraph = { git = "https://github.com/pikers/pyqtgraph.git" } tomlkit = { git = "https://github.com/pikers/tomlkit.git", branch ="piker_pin" } pyvnc = { git = "https://github.com/regulad/pyvnc.git" } +# to get fancy next-cmd/suggestion feats prior to 0.22.2 B) +# https://github.com/xonsh/xonsh/pull/6037 +# https://github.com/xonsh/xonsh/pull/6048 +xonsh = { git = 'https://github.com/xonsh/xonsh.git', branch = 'main' } + # XXX since, we're like, always hacking new shite all-the-time. Bp -tractor = { git = "https://github.com/goodboy/tractor.git", branch ="piker_pin" } +# tractor = { git = "https://github.com/goodboy/tractor.git", branch ="piker_pin" } # tractor = { git = "https://pikers.dev/goodboy/tractor", branch = "piker_pin" } # tractor = { git = "https://pikers.dev/goodboy/tractor", branch = "main" } # ------ goodboy ------ # hackin dev-envs, usually there's something new he's hackin in.. -# tractor = { path = "../tractor", editable = true } +tractor = { path = "../tractor", editable = true } diff --git a/uv.lock b/uv.lock index e0f3d7fd..1d96ab57 100644 --- a/uv.lock +++ b/uv.lock @@ -1000,6 +1000,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6e/23/e98758924d1b3aac11a626268eabf7f3cf177e7837c28d47bf84c64532d0/pendulum-3.1.0-py3-none-any.whl", hash = "sha256:f9178c2a8e291758ade1e8dd6371b1d26d08371b4c7730a6e9a3ef8b16ebae0f", size = 111799, upload-time = "2025-04-19T14:02:34.739Z" }, ] +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + [[package]] name = "piker" version = "0.1.0a0.dev0" @@ -1047,6 +1059,7 @@ dev = [ { name = "greenback" }, { name = "i3ipc" }, { name = "pdbp" }, + { name = "pexpect" }, { name = "prompt-toolkit" }, { name = "pyperclip" }, { name = "pyqt6" }, @@ -1062,6 +1075,7 @@ lint = [ repl = [ { name = "greenback" }, { name = "pdbp" }, + { name = "pexpect" }, { name = "prompt-toolkit" }, { name = "pyperclip" }, { name = "xonsh" }, @@ -1099,7 +1113,7 @@ requires-dist = [ { name = "tomli", specifier = ">=2.0.1,<3.0.0" }, { name = "tomli-w", specifier = ">=1.0.0,<2.0.0" }, { name = "tomlkit", git = "https://github.com/pikers/tomlkit.git?branch=piker_pin" }, - { name = "tractor", git = "https://github.com/goodboy/tractor.git?branch=piker_pin" }, + { name = "tractor", editable = "../tractor" }, { name = "trio", specifier = ">=0.27" }, { name = "trio-typing", specifier = ">=0.10.0" }, { name = "trio-util", specifier = ">=0.7.0,<0.8.0" }, @@ -1116,6 +1130,7 @@ dev = [ { name = "greenback", specifier = ">=1.1.1,<2.0.0" }, { name = "i3ipc", specifier = ">=2.2.1" }, { name = "pdbp", specifier = ">=1.8.2,<2.0.0" }, + { name = "pexpect", specifier = ">=4.9.0" }, { name = "prompt-toolkit", specifier = "==3.0.40" }, { name = "pyperclip", specifier = ">=1.9.0" }, { name = "pyqt6", specifier = ">=6.7.0,<7.0.0" }, @@ -1123,15 +1138,16 @@ dev = [ { name = "pytest" }, { name = "qdarkstyle", specifier = ">=3.0.2,<4.0.0" }, { name = "rapidfuzz", specifier = ">=3.2.0,<4.0.0" }, - { name = "xonsh" }, + { name = "xonsh", git = "https://github.com/xonsh/xonsh.git?branch=main" }, ] lint = [{ name = "ruff", specifier = ">=0.9.6" }] repl = [ { name = "greenback", specifier = ">=1.1.1,<2.0.0" }, { name = "pdbp", specifier = ">=1.8.2,<2.0.0" }, + { name = "pexpect", specifier = ">=4.9.0" }, { name = "prompt-toolkit", specifier = "==3.0.40" }, { name = "pyperclip", specifier = ">=1.9.0" }, - { name = "xonsh" }, + { name = "xonsh", git = "https://github.com/xonsh/xonsh.git?branch=main" }, ] testing = [{ name = "pytest" }] uis = [ @@ -1297,6 +1313,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" }, ] +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + [[package]] name = "pyarrow" version = "22.0.0" @@ -1843,7 +1868,7 @@ source = { git = "https://github.com/pikers/tomlkit.git?branch=piker_pin#8e0239a [[package]] name = "tractor" version = "0.1.0a6.dev0" -source = { git = "https://github.com/goodboy/tractor.git?branch=piker_pin#e232d9dd06f41b8dca997f0647f2083d27cc34f2" } +source = { editable = "../tractor" } dependencies = [ { name = "bidict" }, { name = "cffi" }, @@ -1856,6 +1881,48 @@ dependencies = [ { name = "wrapt" }, ] +[package.metadata] +requires-dist = [ + { name = "bidict", specifier = ">=0.23.1" }, + { name = "cffi", specifier = ">=1.17.1" }, + { name = "colorlog", specifier = ">=6.8.2,<7" }, + { name = "msgspec", specifier = ">=0.19.0" }, + { name = "pdbp", specifier = ">=1.8.2,<2" }, + { name = "platformdirs", specifier = ">=4.4.0" }, + { name = "tricycle", specifier = ">=0.4.1,<0.5" }, + { name = "trio", specifier = ">0.27" }, + { name = "wrapt", specifier = ">=1.16.0,<2" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "greenback", specifier = ">=1.2.1,<2" }, + { name = "pexpect", specifier = ">=4.9.0,<5" }, + { name = "prompt-toolkit", specifier = ">=3.0.50" }, + { name = "psutil", specifier = ">=7.0.0" }, + { name = "pyperclip", specifier = ">=1.9.0" }, + { name = "pytest", specifier = ">=8.3.5" }, + { name = "stackscope", specifier = ">=0.2.2,<0.3" }, + { name = "typing-extensions", specifier = ">=4.14.1" }, + { name = "xonsh", specifier = ">=0.19.2" }, +] +devx = [ + { name = "greenback", specifier = ">=1.2.1,<2" }, + { name = "stackscope", specifier = ">=0.2.2,<0.3" }, + { name = "typing-extensions", specifier = ">=4.14.1" }, +] +lint = [{ name = "ruff", specifier = ">=0.9.6" }] +repl = [ + { name = "prompt-toolkit", specifier = ">=3.0.50" }, + { name = "psutil", specifier = ">=7.0.0" }, + { name = "pyperclip", specifier = ">=1.9.0" }, + { name = "xonsh", specifier = ">=0.19.2" }, +] +testing = [ + { name = "pexpect", specifier = ">=4.9.0,<5" }, + { name = "pytest", specifier = ">=8.3.5" }, +] + [[package]] name = "tricycle" version = "0.4.1" @@ -2095,14 +2162,8 @@ wheels = [ [[package]] name = "xonsh" -version = "0.20.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/56/af/7e2ba3885da44cbe03c7ff46f90ea917ba10d91dc74d68604001ea28055f/xonsh-0.20.0.tar.gz", hash = "sha256:d44a50ee9f288ff96bd0456f0a38988ef6d4985637140ea793beeef5ec5d2d38", size = 811907, upload-time = "2025-11-24T07:50:50.847Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e8/db/1c5c057c0b2a89b8919477726558685720ae0849ea1a98a3803e93550824/xonsh-0.20.0-py311-none-any.whl", hash = "sha256:65d27ba31d558f79010d6c652751449fd3ed4df1f1eda78040a6427fa0a0f03e", size = 646312, upload-time = "2025-11-24T07:50:49.488Z" }, - { url = "https://files.pythonhosted.org/packages/d2/a2/d6f7534f31489a4b8b54bd2a2496248f86f7c21a6a6ce9bfdcdd389fe4e7/xonsh-0.20.0-py312-none-any.whl", hash = "sha256:3148900e67b9c2796bef6f2eda003b0a64d4c6f50a0db23324f786d9e1af9353", size = 646323, upload-time = "2025-11-24T07:50:43.028Z" }, - { url = "https://files.pythonhosted.org/packages/bd/48/bcb1e4d329c3d522bc29b066b0b6ee86938ec392376a29c36fac0ad1c586/xonsh-0.20.0-py313-none-any.whl", hash = "sha256:c83daaf6eb2960180fc5a507459dbdf6c0d6d63e1733c43f4e43db77255c7278", size = 646830, upload-time = "2025-11-24T07:50:45.078Z" }, -] +version = "0.22.1" +source = { git = "https://github.com/xonsh/xonsh.git?branch=main#336658ff0919f8d7bb96d581136d37d470a8fe99" } [[package]] name = "yapic-json"