Add in zmq protocol links to feats list
parent
0272936fdc
commit
aace10ccfb
|
@ -1,10 +1,9 @@
|
||||||
|logo| ``tractor``: next-gen Python parallelism
|
|logo| ``tractor``: distributed structurred concurrency
|
||||||
|
|
||||||
|gh_actions|
|
|gh_actions|
|
||||||
|docs|
|
|docs|
|
||||||
|
|
||||||
``tractor`` is a `structured concurrency`_ (SC), (optionally
|
``tractor`` is a `structured concurrency`_ (SC), multi-processing_ runtime built on trio_.
|
||||||
distributed_) multi-processing_ runtime built on trio_.
|
|
||||||
|
|
||||||
Fundamentally, ``tractor`` provides parallelism via
|
Fundamentally, ``tractor`` provides parallelism via
|
||||||
``trio``-"*actors*": independent Python *processes* (currently
|
``trio``-"*actors*": independent Python *processes* (currently
|
||||||
|
@ -46,14 +45,25 @@ Features
|
||||||
- A modular transport stack, allowing for custom interchange formats (eg.
|
- A modular transport stack, allowing for custom interchange formats (eg.
|
||||||
as offered from `msgspec`_), varied transport protocols (TCP, RUDP), and
|
as offered from `msgspec`_), varied transport protocols (TCP, RUDP), and
|
||||||
OS-env specific higher perf IPC primitives (like shared-mem buffers).
|
OS-env specific higher perf IPC primitives (like shared-mem buffers).
|
||||||
- Builtin streaming API with task fan-out `broadcasting`_.
|
- optionally distributed_; all IPC and RPC works over multi-host
|
||||||
- A "native" and multi-core-safe debugger REPL using `pdbp`_ (a fork
|
transports the same as for localhost.
|
||||||
& fix of `pdb++`_ thanks to @mdmintz!)
|
- A high-level builtin streaming API that enables your app to easily
|
||||||
|
leverage the benefits of a "`cheap or nasty`_" `(un)protocol`_.
|
||||||
|
- "native UX" for a multicore-safe debugger REPL using `pdbp`_ (a
|
||||||
|
fork & fix of `pdb++`_)
|
||||||
- "infected ``asyncio``" mode: support for starting each
|
- "infected ``asyncio``" mode: support for starting each
|
||||||
``tractor.Actor`` to run as a guest on the ``asyncio`` loop
|
``tractor.Actor`` to run as a guest on the ``asyncio`` loop
|
||||||
allowing us to provide stringent SC-style ``trio.Task``-supervision
|
allowing us to provide stringent SC-style ``trio.Task``-supervision
|
||||||
around any ``asyncio.Task`` spawned via our ``tractor.to_asyncio``
|
around any ``asyncio.Task`` spawned via our ``tractor.to_asyncio``
|
||||||
APIs.
|
APIs.
|
||||||
|
- various ``trio`` extension APIs via ``tractor.trionics`` such as,
|
||||||
|
- task fan-out `broadcasting`_,
|
||||||
|
- multi-task-single-resource-caching and fan-out-to-multi ``__aenter__()``
|
||||||
|
APIs for ``@acm`` functions (``contextlib.asynccontextmanager``),
|
||||||
|
- (WIP) a ``TaskMngr``: one-cancels-one style nursery supervisor.
|
||||||
|
- a **very naive** and still very much work-in-progress inter-actor
|
||||||
|
`discovery`_ sys with plans to support multiple `modern protocol`_
|
||||||
|
approaches.
|
||||||
|
|
||||||
|
|
||||||
Install
|
Install
|
||||||
|
@ -658,8 +668,12 @@ channel`_!
|
||||||
.. _trio gitter channel: https://gitter.im/python-trio/general
|
.. _trio gitter channel: https://gitter.im/python-trio/general
|
||||||
.. _matrix channel: https://matrix.to/#/!tractor:matrix.org
|
.. _matrix channel: https://matrix.to/#/!tractor:matrix.org
|
||||||
.. _broadcasting: https://github.com/goodboy/tractor/pull/229
|
.. _broadcasting: https://github.com/goodboy/tractor/pull/229
|
||||||
|
.. _modern procotol: https://en.wikipedia.org/wiki/Rendezvous_protocol
|
||||||
.. _pdbp: https://github.com/mdmintz/pdbp
|
.. _pdbp: https://github.com/mdmintz/pdbp
|
||||||
.. _pdb++: https://github.com/pdbpp/pdbpp
|
.. _pdb++: https://github.com/pdbpp/pdbpp
|
||||||
|
.. _cheap or nasty: https://zguide.zeromq.org/docs/chapter7/#The-Cheap-or-Nasty-Pattern
|
||||||
|
.. _(un)protocol: https://zguide.zeromq.org/docs/chapter7/#Unprotocols
|
||||||
|
.. _discovery: https://zguide.zeromq.org/docs/chapter8/#Discovery
|
||||||
.. _guest mode: https://trio.readthedocs.io/en/stable/reference-lowlevel.html?highlight=guest%20mode#using-guest-mode-to-run-trio-on-top-of-other-event-loops
|
.. _guest mode: https://trio.readthedocs.io/en/stable/reference-lowlevel.html?highlight=guest%20mode#using-guest-mode-to-run-trio-on-top-of-other-event-loops
|
||||||
.. _messages: https://en.wikipedia.org/wiki/Message_passing
|
.. _messages: https://en.wikipedia.org/wiki/Message_passing
|
||||||
.. _trio docs: https://trio.readthedocs.io/en/latest/
|
.. _trio docs: https://trio.readthedocs.io/en/latest/
|
||||||
|
|
Loading…
Reference in New Issue