Split py-version-gated uv dependency-groups

Reshuffle `pyproject.toml` deps into per-python-version
`[tool.uv.dependency-groups]`:
- `subints` group: `msgspec>=0.21.0`, py>=3.14
- `eventfd` group: `cffi>=1.17.1`, py>=3.13,<3.14
- `sync_pause` group: `greenback`, py>=3.13,<3.14
  (was in `devx`; moved out bc no 3.14 yet)

Bump top-level `msgspec>=0.20.0` too.

(this commit msg was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code

(cherry picked from commit 34d9d482e4)
(factored: kept only the pyproject dep-group parts of
 "Raise `subint` floor to py3.14 and split dep-groups"; dropped
 tractor/spawn/_spawn.py + tractor/spawn/_subint.py)
wkt/tooling_enhancements_from_mtf_spawner
Gud Boi 2026-06-09 20:18:04 -04:00
parent e2cc5d150e
commit ab6796dd45
1 changed files with 25 additions and 2 deletions

View File

@ -44,11 +44,12 @@ dependencies = [
"tricycle>=0.4.1,<0.5", "tricycle>=0.4.1,<0.5",
"wrapt>=1.16.0,<2", "wrapt>=1.16.0,<2",
"colorlog>=6.8.2,<7", "colorlog>=6.8.2,<7",
# built-in multi-actor `pdb` REPL # built-in multi-actor `pdb` REPL
"pdbp>=1.8.2,<2", # windows only (from `pdbp`) "pdbp>=1.8.2,<2", # windows only (from `pdbp`)
# typed IPC msging # typed IPC msging
"msgspec>=0.20.0", "msgspec>=0.20.0",
"cffi>=1.17.1",
"bidict>=0.23.1", "bidict>=0.23.1",
"multiaddr>=0.2.0", "multiaddr>=0.2.0",
"platformdirs>=4.4.0", "platformdirs>=4.4.0",
@ -64,10 +65,13 @@ dev = [
] ]
devx = [ devx = [
# `tractor.devx` tooling # `tractor.devx` tooling
"greenback>=1.2.1,<2", # TODO? 3.14 greenlet on nix?
"stackscope>=0.2.2,<0.3", "stackscope>=0.2.2,<0.3",
# ^ requires this? # ^ requires this?
"typing-extensions>=4.14.1", "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 = [ testing = [
# test suite # test suite
@ -85,6 +89,14 @@ repl = [
lint = [ lint = [
"ruff>=0.9.6" "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 # TODO, add these with sane versions; were originally in
# `requirements-docs.txt`.. # `requirements-docs.txt`..
# docs = [ # docs = [
@ -93,6 +105,17 @@ lint = [
# ] # ]
# ------ dependency-groups ------ # ------ 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] [tool.uv.sources]
# XXX NOTE, only for @goodboy's hacking on `pprint(sort_dicts=False)` # XXX NOTE, only for @goodboy's hacking on `pprint(sort_dicts=False)`