diff --git a/pyproject.toml b/pyproject.toml index dd7df3b0..ebf044f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,11 +44,12 @@ dependencies = [ "tricycle>=0.4.1,<0.5", "wrapt>=1.16.0,<2", "colorlog>=6.8.2,<7", + # built-in multi-actor `pdb` REPL "pdbp>=1.8.2,<2", # windows only (from `pdbp`) + # typed IPC msging "msgspec>=0.20.0", - "cffi>=1.17.1", "bidict>=0.23.1", "multiaddr>=0.2.0", "platformdirs>=4.4.0", @@ -64,10 +65,13 @@ dev = [ ] devx = [ # `tractor.devx` tooling - "greenback>=1.2.1,<2", # TODO? 3.14 greenlet on nix? "stackscope>=0.2.2,<0.3", # ^ requires this? "typing-extensions>=4.14.1", + # {include-group = 'sync_pause'}, # XXX, no 3.14 yet! +] +sync_pause = [ + "greenback>=1.2.1,<2", # TODO? 3.14 greenlet on nix? ] testing = [ # test suite @@ -85,6 +89,14 @@ repl = [ lint = [ "ruff>=0.9.6" ] +# XXX, used for linux-only hi perf eventfd+shm channels +# now mostly moved over to `hotbaud`. +eventfd = [ + "cffi>=1.17.1", +] +subints = [ + "msgspec>=0.21.0", +] # TODO, add these with sane versions; were originally in # `requirements-docs.txt`.. # docs = [ @@ -93,6 +105,17 @@ lint = [ # ] # ------ dependency-groups ------ +[tool.uv.dependency-groups] +# for subints, we require 3.14+ due to 2 issues, +# - hanging behaviour for various multi-task teardown cases (see +# "Availability" section in the `tractor.spawn._subints` doc string). +# - `msgspec` support which is oustanding per PEP 684 upstream tracker: +# https://github.com/jcrist/msgspec/issues/563 +# +# https://docs.astral.sh/uv/concepts/projects/dependencies/#group-requires-python +subints = {requires-python = ">=3.14"} +eventfd = {requires-python = ">=3.13, <3.14"} +sync_pause = {requires-python = ">=3.13, <3.14"} [tool.uv.sources] # XXX NOTE, only for @goodboy's hacking on `pprint(sort_dicts=False)`