Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add macos-latest to CI's os matrix #228

Closed
wants to merge 337 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
337 commits
Select commit Hold shift + click to select a range
ed719f3
Add "root mailbox" contact info passing
goodboy Oct 4, 2020
a162ab1
Add re-entrant root breakpoint test; demonstrates a bug..
goodboy Oct 4, 2020
d978404
Facepalm: tty locking from root doesn't require an extra task
goodboy Oct 5, 2020
51ca9dd
Add a multi-subactor test where the root errors
goodboy Oct 5, 2020
60404b7
Change to relative conftest.py imports
goodboy Oct 5, 2020
45ec3ab
Add a deep nested error propagation test
goodboy Oct 6, 2020
e168b09
Add mention subactor uid during locking
goodboy Oct 7, 2020
ee60df1
Add test showing issue with child in tty lock when cancelled
goodboy Oct 7, 2020
1b562ce
Add a "cancel arrives during a sync sleep in child" test
goodboy Oct 12, 2020
6f2f11e
Report `trio.Cancelled` when exhausting portals..
goodboy Oct 13, 2020
749faf6
Add pattern matching to test
goodboy Oct 13, 2020
4dae16d
Fix missing await
goodboy Oct 13, 2020
f9d6502
Make tests a package (for relative imports)
goodboy Oct 13, 2020
eef27b1
mypy fixes
goodboy Oct 13, 2020
81d8581
Add `pexpect` dep for debugger tests
goodboy Oct 13, 2020
76bd251
Add better actor cancellation tracking
goodboy Oct 13, 2020
7cb729c
Add some comments
goodboy Oct 13, 2020
217feee
Skip sync sleep test on mp backend
goodboy Oct 13, 2020
45bfd72
Skip quad ex on local mp tests as well
goodboy Oct 13, 2020
0f0eec9
Support debug mode only on the trio backend
goodboy Oct 13, 2020
ee69a53
Revert "Change to relative conftest.py imports"
goodboy Oct 13, 2020
0e6afff
Revert "Make tests a package (for relative imports)"
goodboy Oct 13, 2020
ab7bc2a
Factor `repodir()` helper into conftest.py
goodboy Oct 13, 2020
03238ed
On windows .spawn dne?
goodboy Oct 13, 2020
b6993be
Skip it on windows too
goodboy Oct 13, 2020
a01e62b
Skip sync sleep test on windows
goodboy Oct 13, 2020
cb4cfaf
Report on skipped tests
goodboy Oct 13, 2020
fa44b81
Drop travisCI; it's slower and has worse windows support.
goodboy Oct 14, 2020
7c8e350
Add gh actions badge
goodboy Oct 14, 2020
cdd9c17
Comments tweak
goodboy Oct 14, 2020
067dec0
Always cancel service nursery last
goodboy Oct 14, 2020
c8c1b58
Drop remaining warn()s
goodboy Oct 14, 2020
4deef40
Try out sync sleep on windows again
goodboy Oct 14, 2020
d430af7
Always call `Actor.cancel()` at end of root's main task
goodboy Oct 14, 2020
edbf24e
Revert "Try out sync sleep on windows again"
goodboy Oct 14, 2020
c0446c3
Set _is_root runtime var in _main()
goodboy Oct 16, 2020
9dc7771
Add explanation to module load error
goodboy Oct 16, 2020
f34fbc8
Toss in another tests with daemon subactors
goodboy Oct 16, 2020
19f8aea
Drop duplicate project-package name in msg header
goodboy Nov 3, 2020
a248576
End the `pdb` SIGINT handling madness
goodboy Dec 11, 2020
16d6090
Appease 3.8 mypy
goodboy Dec 10, 2020
1b9d12b
Add race case handling for mp backend
goodboy Dec 12, 2020
f921175
Add a way to shield a stream's underlying channel
goodboy Dec 17, 2020
b82ca7f
'Fix mypy, change interal type name to `ReceiveStream`, settle on `.s…
goodboy Dec 17, 2020
0ebb3f9
Handle early timeouts on last debugger test
goodboy Dec 17, 2020
7b023fb
Skip debugger tests on non-trio backends
goodboy Dec 17, 2020
bc94828
Handle pexpect's internal timeout
goodboy Dec 18, 2020
5b71d5e
Fix collections type import for py3.10
goodboy Dec 18, 2020
8de6e29
More obnoxious CI timeout handling
goodboy Dec 18, 2020
d751177
Allow passing function refs to `Portal.run()`
goodboy Dec 21, 2020
7628b13
Add `Portal.run_from_ns()`
goodboy Dec 22, 2020
033bacf
Port inter-process method calls to `Portal.run_from_ns()`
goodboy Dec 22, 2020
1fc1ee3
Port tests to `Portal.run_from_ns()`
goodboy Dec 22, 2020
b993748
Port remaining tests to pass func refs
goodboy Dec 22, 2020
7ba8974
Drop all .statespace refs; it was a silly idea
goodboy Dec 23, 2020
9297c29
Add type annots to exceptions mod
goodboy Dec 25, 2020
f5e9a5d
Denoise some common teardown "errors" to warnings.
goodboy Dec 25, 2020
e148c3c
Don't exception log multi-cancels
goodboy Dec 25, 2020
8bceffe
Use error log level by default
goodboy Dec 25, 2020
b37a3b5
Add a "runtime" log level
goodboy Dec 26, 2020
bae0716
Drop warning level logging assert(s)
goodboy Dec 26, 2020
74e168d
Include Python 3.9 in CI
goodboy Dec 10, 2020
346984f
Add null byte guard from mainline
goodboy Dec 23, 2020
16a2b94
Re-org root actor startup into context manager
goodboy Dec 27, 2020
30a0fe8
Add deprecation warning to run()
goodboy Dec 27, 2020
d59ed52
Use runtime level on attach
goodboy Jan 2, 2021
e11f3ba
Use explicit named args
goodboy Jan 3, 2021
6a61845
Allow for error bypass
goodboy Jan 3, 2021
52fb5df
Implicitly open root actor on first nursery use.
goodboy Jan 3, 2021
6c6879b
Can we ever really appease mypy?
goodboy Jan 3, 2021
298f911
Fix some borked tests
goodboy Jan 9, 2021
0e2c2c9
Use actual task name lel
goodboy Jan 9, 2021
fb89383
Drop tractor.run() from @tractor_test
goodboy Jan 9, 2021
59857cd
Begin rpc_module_paths deprecation
goodboy Jan 5, 2021
1b401e8
Fix msg pub global lock sharing
goodboy Jan 9, 2021
0780b42
Pub sub internals type fixes
goodboy Jan 14, 2021
4873ebd
Add an example which breaks shielded proc waits
goodboy Jan 9, 2021
dc011ef
Don't shield proc waits
goodboy Jan 9, 2021
140d12b
Support sync code breakpointing via built-in
goodboy Feb 16, 2021
4101ab3
Fix more stdlib typing issues with latest mypy
goodboy Jan 24, 2021
bd48295
Add our version of the std lib's "worker pool"
goodboy Dec 23, 2020
0a21b67
Make new paralellism example space
goodboy Jan 17, 2021
64ebcbb
Remove use of tractor.run()
goodboy Jan 17, 2021
f9f1614
Yield results on demand using a mem chan
goodboy Jan 17, 2021
93f5785
More comments
goodboy Jan 17, 2021
29c5e91
Add concise readme example
goodboy Jan 17, 2021
e82b62e
Contain the error
goodboy Jan 18, 2021
a21a93e
Run parallel examples
goodboy Jan 18, 2021
c7e7b75
Add `aclosing()` around asyn gen loop
goodboy Jan 24, 2021
e85fcae
Ignore type checks on stdlib overrides
goodboy Jan 24, 2021
2bffea4
Don't run stdlib example as part of test set
goodboy Feb 21, 2021
f76f34b
Test putting readme in docs dir
goodboy Feb 21, 2021
b40e782
Factor OCA supervisor into new func
goodboy Feb 24, 2021
02c64d5
Add second implicit-runtime-boot branch
goodboy Feb 24, 2021
c41c7bd
Lint fixes
goodboy Feb 24, 2021
784deb0
Remove tractor run from some debug examples
goodboy Feb 23, 2021
72f57f4
Update debug tests to expect 'root' actor name
goodboy Feb 24, 2021
14dd369
Use root as default name from `tractor.run()`
goodboy Feb 25, 2021
ac1ff5a
Readme rework draft
goodboy Oct 14, 2020
14564e0
Further tweaks, add non-scary snippet
goodboy Dec 9, 2020
88689cd
Draft use sphinx-restbuilder to gen readme
goodboy Feb 22, 2021
7adc5fe
Revert auto-gen readme and merge in auto-gen code blocks by hand for now
goodboy Feb 22, 2021
255eab0
Compress terminal cmd line lens
goodboy Feb 22, 2021
2a56194
Drop worker pool and add debug example
goodboy Feb 22, 2021
e60274c
Add comma
goodboy Feb 23, 2021
4772581
Attempt to add logo
goodboy Feb 24, 2021
c9803ed
Reorg and rejig flow
goodboy Feb 24, 2021
b6c991e
Fix code indent and worker pool link
goodboy Feb 24, 2021
93c2e73
Further simplifications
goodboy Feb 25, 2021
205b785
Tweak version for release, add 3.9 tag
goodboy Feb 26, 2021
e0d9a89
Add a single func ex for our first one
goodboy Feb 27, 2021
4f4fabb
Try fix worker pool link, again
goodboy Feb 27, 2021
775b98c
Add pypi install line
goodboy Feb 27, 2021
e0a0021
Tweak classifiers
goodboy Feb 27, 2021
67a8340
Bump alpha version
goodboy Apr 27, 2021
ccb9290
Add `Actor.cancel_soon()` for sync self destruct
goodboy Nov 16, 2020
2216fba
Drop sync function support
goodboy Apr 26, 2021
d7fc84e
Enforce async funcs on callee side, convert arbiter methods
goodboy Apr 27, 2021
e4284cc
Convert all test suite sync funcs
goodboy Apr 27, 2021
f419100
Only accept asyncfunc response type
goodboy Apr 27, 2021
0c2e5d5
Appease mypy
goodboy Apr 27, 2021
51d1e95
Aggregate and organize streaming components
goodboy Apr 27, 2021
e5bdd77
Add a no runtime error
goodboy Apr 27, 2021
5c4ac28
Formatting
goodboy Apr 27, 2021
3fec99f
Add a new one-way stream API
goodboy Apr 28, 2021
5e70a3e
Add a warning for soon to be deprecated `ctx` use in `@stream` func
goodboy Apr 28, 2021
e0cc352
Move debugger locking to new stream api
goodboy Apr 28, 2021
c13675d
Drop stream exhaustion; no longer needed
goodboy Apr 28, 2021
1a2c343
Fix func type checking
goodboy Apr 28, 2021
4408f6b
Error on bad registry pops
goodboy Apr 28, 2021
e51004e
Add func type checking to `.run_in_actor()`
goodboy Apr 28, 2021
52ac5ae
Update all examples to new streaming API
goodboy Apr 28, 2021
2bee099
Update all tests to new streaming API
goodboy Apr 28, 2021
25d0f57
De-compact async with tuple on 3.8-
goodboy Apr 28, 2021
a7bfd3c
Comment out `MsgStream` for now
goodboy Apr 28, 2021
733fea4
Distinctly separate and harden mp spawning
goodboy Apr 29, 2021
d003dc0
Shield around root actor cancel
goodboy Apr 29, 2021
69e1a04
Appease mypy
goodboy Apr 29, 2021
3b29380
Re-raise any sidestepped `trio.Cancelled`
goodboy May 6, 2021
162f8a0
Drop `tractor.run()` from all examples
goodboy Feb 24, 2021
6fff3fe
Drop tractor.run() from docs
goodboy Feb 24, 2021
b26b6e3
Drop run and rpc_module_paths from cancel tests
goodboy Feb 24, 2021
04d83f1
Drop run and rpc_module_paths from discovery tests
goodboy Feb 24, 2021
824898c
Mostly drop run from local tests
goodboy Feb 24, 2021
870f87a
Drop run from multi prog tests
goodboy Feb 24, 2021
1c37746
Drop run and rpc_module_paths from pubsub tests
goodboy Feb 24, 2021
9491ac0
Drop run and rpc_module_paths from spawning tests
goodboy Feb 24, 2021
4968060
Drop run and rpc_module_paths from rpc tests
goodboy Feb 24, 2021
79b3476
Drop run and rpc_module_paths from streaming tests
goodboy Feb 24, 2021
42191e4
Drop lingering rpc_module_paths refs
goodboy Feb 24, 2021
c52ee26
Disable leftover debug mode
goodboy Feb 24, 2021
c963482
Use trio.run() in windows tests
goodboy Feb 24, 2021
c373cfd
Drop sleep
goodboy Apr 29, 2021
ce90975
Fix line length
goodboy Apr 29, 2021
5e4d4a5
Try out sphinx-book-theme
goodboy Feb 26, 2021
4eb7e0e
Attempt configuring sphinx-book-theme
goodboy Mar 1, 2021
d347d85
Bump readme for #210
goodboy May 31, 2021
18349fb
Fill out the rant a bit more
goodboy May 31, 2021
9897618
Better rant flow as per suggestions
goodboy Jun 14, 2021
ab909e5
New docs theme hotfix
goodboy Jun 14, 2021
e27c0c5
Add our own "transport closed" signal
goodboy Jun 24, 2021
a4997ac
Accept transport closed error during handshake and msg loop
goodboy Jul 1, 2021
0385190
Handle top level multierror that presents now?
goodboy Jul 2, 2021
365343f
Benign deps reorg
goodboy Jul 2, 2021
3c15d1e
Fix tuple type
goodboy Jul 2, 2021
9d5f70c
Specially remap TCP 104-connection-reset to `TransportClosed`
goodboy Jul 3, 2021
2bbce1c
Remap windows specific connection reset error
goodboy Jul 4, 2021
894952a
Handle race for tty by child actors
goodboy Jul 4, 2021
fb8da71
Try remapping all broken errs wholesale on windows
goodboy Jul 4, 2021
2265123
Drop added logging around root cancel
goodboy Jul 4, 2021
73d8d17
Only expect further message in non-name-error first case
goodboy Jul 4, 2021
ed464cd
Add initial bi-directional streaming
goodboy May 1, 2021
99501b3
Expose `@context` decorator at top level
goodboy May 2, 2021
fde42a7
Cancel scope on stream consumer completion
goodboy May 2, 2021
f6ae11c
Add basic test set
goodboy May 2, 2021
5cc08b2
Support passing `shield` at stream contruction
goodboy May 7, 2021
2e8a199
Parametrize with async for style tests
goodboy May 7, 2021
2db84e7
Fix typing
goodboy May 7, 2021
cc4c96e
Be more pedantic with error handling
goodboy May 10, 2021
a771633
Add dynamic pubsub test using new bidir stream apis
goodboy May 12, 2021
a4af5ff
Expose msg stream types at top level
goodboy May 12, 2021
4baffd3
Only send stop msg if not received from far end
goodboy May 12, 2021
0bd50a9
Support no arg to `Context.started()` like trio
goodboy May 25, 2021
ae04a8c
Add error case
goodboy Jun 10, 2021
774dc16
Only close recv chan if we get a ref
goodboy Jun 10, 2021
e424a69
Add a multi-task streaming test
goodboy Jun 10, 2021
d67aca7
Add a specially handled `ContextCancelled` error
goodboy Jun 13, 2021
c1bf205
Expose streaming components at top level
goodboy Jun 13, 2021
dca03b5
Specially raise a `ContextCancelled` for a task-context rpc
goodboy Jun 13, 2021
a4f3c77
Explicitly formalize context/streaming teardown
goodboy Jun 13, 2021
5cf1719
Fix exception typing
goodboy Jun 14, 2021
1fad35a
Adjustments for non-frozen context dataclass change
goodboy Jun 14, 2021
bd933c2
Drop trailing comma
goodboy Jun 14, 2021
1d22b35
Add detailed ``@tractor.context`` cancellation/termination tests
goodboy Jun 14, 2021
c531635
Speedup the dynamic pubsub test
goodboy Jun 14, 2021
dba0c64
Modernize streaming tests
goodboy Jun 14, 2021
5569a2e
Don't clobber msg loop mem chan on rx stream close
goodboy Jun 14, 2021
0b6472c
Set stream "end of channel" after shielded check!
goodboy Jun 14, 2021
201c2b9
Consider relaying context error via raised-in-scope-nursery task
goodboy Jun 24, 2021
17a6bee
Add temp warning msg for context cancel call
goodboy Jun 27, 2021
2db9f57
First try: pack cancelled tracebacks and ship to caller
goodboy Jun 27, 2021
2e028b4
Always shield cancel the caller on cancel-causing-errors, add teardow…
goodboy Jun 28, 2021
287a487
De-densify some code
goodboy Jun 30, 2021
2104c3f
Add pre-stream open error conditions
goodboy Jun 30, 2021
ecac3e4
Expect context cancelled when we cancel
goodboy Jun 30, 2021
765f624
Avoid mutate during interate error
goodboy Jun 30, 2021
04e786e
Always hard kill sub-procs on teardown
goodboy Jun 26, 2021
ddd0520
Don't shield on root cancel it can causes hangs
goodboy May 30, 2021
8dc9b7c
Move join event trigger to direct exit path
goodboy Jul 5, 2021
b27f7ff
Don't enter debug on closed resource errors
goodboy Jul 5, 2021
e8edb08
Drop trip kwarg
goodboy Jul 5, 2021
318c143
Avoid mutate on iterate race
goodboy Jun 10, 2021
cd7980d
Go back to only logging crashes if no pdb gets engaged
goodboy Jun 29, 2021
880cb60
Skip debugger tests on windows at module level
goodboy Jul 6, 2021
137bcd3
Flip "trace" level to "transport" level logging
goodboy Jun 30, 2021
b24eb1a
Change trace to transport level
goodboy Jun 30, 2021
b905798
Mypy fixes
goodboy Jul 8, 2021
68d83ef
Define explicit adapter level methods for mypy
goodboy Jul 8, 2021
28d8bc4
Use "pdb" level logging in debug mode
goodboy Jul 8, 2021
e16f0b1
Install test deps and py3.9 for type check job
goodboy Jul 8, 2021
cba0bfb
Add 2-way streaming example to readme and scripts
goodboy Jul 31, 2021
dc6b272
Use context for remote debugger locking
goodboy May 10, 2021
9624140
Fix up var naming and typing
goodboy May 12, 2021
187002c
Wait for debugger lock task context termination
goodboy Jun 14, 2021
a75fe34
Add some brief todo notes on idea of shielded breakpoint
goodboy Jun 27, 2021
717c5bb
Add debug example that causes pdb stdin clobbering
goodboy May 10, 2021
32058cf
Don't kill root's immediate children when in debug
goodboy May 10, 2021
e86a3b8
Catch and delay errors in the root if debugger is active
goodboy May 30, 2021
4495a6e
Don't shield debugger status wait; it causes hangs
goodboy Jun 2, 2021
862ddf7
Move debugger wait inside OCA nursery
goodboy Jun 10, 2021
0e6cf4d
Move some infos to runtime level
goodboy Jun 27, 2021
a831c05
Fix hard kill in debug mode; only do it when debug lock is empty
goodboy Jun 26, 2021
8778820
Distinguish between a local pdb unlock and the tty unlock in root
goodboy Jun 27, 2021
1e2d619
Solve the root-cancels-child-in-tty-lock race
goodboy Jun 29, 2021
43df81b
Comment hard-kill-sidestep for now since nursery version covers it?
goodboy Jun 30, 2021
b71f607
Go back to only logging tbs on no debugger
goodboy Jun 30, 2021
b7b3964
Adjust debug tests to accomodate no more root clobbering
goodboy Jun 30, 2021
862657d
Add fast fail test using the context api
goodboy Jun 30, 2021
66d6c32
Drop debugger path and duplicate func from rebasing
goodboy Jul 5, 2021
0d3ff35
Fix lock context manager return type
goodboy Jul 31, 2021
f097a54
Hide `_invoke()` tb, move actor error to exceptions mod
goodboy Jul 31, 2021
c551116
Handle repeat child tty-acquires race
goodboy Jul 31, 2021
cda8b90
Docs and comments tidying
goodboy Aug 1, 2021
da36db4
Add .alpha1 news flash
goodboy Jul 31, 2021
947c90d
Facepalm: fix rst hyperlinks
goodboy Aug 1, 2021
2b00e0b
Better early timeout handling, continue on child re-lock
goodboy Aug 1, 2021
578028a
Drop leftover noisy exception logging..
goodboy Aug 2, 2021
c0412a9
Don't log cancelled inceptions seen by the root
goodboy Aug 3, 2021
abac3f1
Terminate async gen example caller to avoid (benign) errors in consol…
goodboy Aug 3, 2021
bbc4c38
Add macos-latest to os matrix
Aug 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: CI

on: push

jobs:
mypy:
name: 'MyPy'
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.9'

- name: Install dependencies
run: pip install -U . --upgrade-strategy eager -r requirements-test.txt

- name: Run MyPy check
run: mypy tractor/ --ignore-missing-imports

testing:
name: '${{ matrix.os }} Python ${{ matrix.python }} - ${{ matrix.spawn_backend }}'
timeout-minutes: 10
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python: ['3.7', '3.8', '3.9']
spawn_backend: ['trio', 'mp']
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '${{ matrix.python }}'
- name: Install dependencies
run: pip install -U . -r requirements-test.txt -r requirements-docs.txt --upgrade-strategy eager
- name: Run tests
run: pytest tests/ --spawn-backend=${{ matrix.spawn_backend }} -rs
68 changes: 0 additions & 68 deletions .travis.yml

This file was deleted.

100 changes: 100 additions & 0 deletions NEWS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
=========
Changelog
=========

tractor 0.1.0a1 (2021-08-01)
============================

Features
--------
- Updated our uni-directional streaming API (`#206
<https://github.com/goodboy/tractor/pull/206>`_) to require a context
manager style ``async Portal.stream_from(target) as stream:`` which
explicitly determines when to stop a stream in the calling (aka portal
opening) actor much like ``async_generator.aclosing()`` enforcement.

- Improved the ``multiprocessing`` backend sub-actor reaping (`#208
<https://github.com/goodboy/tractor/pull/208>`_) during actor nursery
exit, particularly during cancellation scenarios that previously might
result in hard to debug hangs.

- Added initial bi-directional streaming support in `#219
<https://github.com/goodboy/tractor/pull/219>`_ with follow up debugger
improvements via `#220 <https://github.com/goodboy/tractor/pull/220>`_
using the new ``tractor.Context`` cross-actor task syncing system.
The debugger upgrades add an edge triggered last-in-tty-lock semaphore
which allows the root process for a tree to avoid clobbering children
who have queued to acquire the ``pdb`` repl by waiting to cancel
sub-actors until the lock is known to be released **and** has no
pending waiters.


Experiments and WIPs
--------------------
- Initial optional ``msgspec`` serialization support in `#214
<https://github.com/goodboy/tractor/pull/214>`_ which should hopefully
land by next release.

- Improved "infect ``asyncio``" cross-loop task cancellation and error
propagation by vastly simplifying the approach. We may end up just
going with a use of ``anyio`` in the medium term to avoid re-doing
work done by that group cross-event-loop portals. See the
``infect_asyncio`` for details.


Improved Documentation
----------------------
- `Updated our readme <https://github.com/goodboy/tractor/pull/211>`_ to
include more (and better) `examples
<https://github.com/goodboy/tractor#run-a-func-in-a-process>`_ (with
matching multi-terminal process monitoring shell commands) as well as
added many more examples to the `repo set
<https://github.com/goodboy/tractor/tree/master/examples>`_.

- Added a readme `"actors under the hood" section
<https://github.com/goodboy/tractor#under-the-hood>`_ in an effort to
guard against suggestions for changing the API away from ``trio``'s
*tasks-as-functions* style.

- Moved to using the `sphinx book theme
<https://sphinx-book-theme.readthedocs.io/en/latest/index.html>`_
though it needs some heavy tweaking and doesn't seem to show our logo
on rtd :(


Trivial/Internal Changes
------------------------
- Added a new ``TransportClosed`` internal exception/signal (`#215
<https://github.com/goodboy/tractor/pull/215>`_ for catching TCP
channel gentle closes instead of silently falling through the message
handler loop via an async generator ``return```.


Deprecations and Removals
-------------------------
- Dropped support for invoking sync functions (`#205
<https://github.com/goodboy/tractor/pull/205>`_) in other
actors/processes since you can always wrap a sync function from an
async one. Users can instead consider using ``trio-parallel`` which
is a project specifically geared for purely synchronous calls in
sub-processes.

- Deprecated our ``tractor.run()`` entrypoint `#197
<https://github.com/goodboy/tractor/pull/197>`_; the runtime is now
either started implicitly in first actor nursery use or via an
explicit call to ``tractor.open_root_actor()``. Full removal of
``tractor.run()`` will come by beta release.


tractor 0.1.0a0 (2021-02-28)
============================

..
TODO: fill out more of the details of the initial feature set in some TLDR form

Summary
-------
- ``trio`` based process spawner (using ``subprocess``)
- initial multi-process debugging with ``pdb++``
- windows support using both ``trio`` and ``multiprocessing`` spawners
- "portal" api for cross-process, structured concurrent, (streaming) IPC
61 changes: 0 additions & 61 deletions README.rst

This file was deleted.

Loading