-
-
Notifications
You must be signed in to change notification settings - Fork 345
Issue snapshot by category
Joshua Oreman edited this page May 12, 2020
·
1 revision
This is an attempt to systematically categorize old issues and close those which are no longer relevant. All issues through #1500 have been processed. oremanj will work on using this list to improve labelling and so on.
- Cancellation improvements
- https://github.com/python-trio/trio/issues/58 - eliminate quadratic behavior
- https://github.com/python-trio/trio/issues/59 - maybe fix fail_after letting other exceptions preempt TooSlowError
- https://github.com/python-trio/trio/issues/147 - graceful shutdown support
- https://github.com/python-trio/trio/issues/44 - make it easier to tell where a Cancelled exception came from
- https://github.com/python-trio/trio/issues/285 - optionally save the Cancelled traceback
-
https://github.com/python-trio/trio/issues/455 - cancelled
__aexit__
handlers eat exceptions - https://github.com/python-trio/trio/issues/626 - trace origin of cancellations
- https://github.com/python-trio/trio/issues/698 - explicitly cancelling a fail_after scope is confusing
- https://github.com/python-trio/trio/issues/686 - can/should we do anything about applying timeouts to sub-operations?
- https://github.com/python-trio/trio/issues/642 - support system tasks being virtually underneath some other task's cancellation state
- https://github.com/python-trio/trio/issues/889 - how should we represent the partial results of a cancelled non-atomic operation?
- https://github.com/python-trio/trio/issues/886 - cancel scopes with disjoint extents
- https://github.com/python-trio/trio/issues/885 - talk about "cancel requested" and "cancelled", instead of "cancel called" and "cancelled caught" and "raise Cancelled"
- https://github.com/python-trio/trio/issues/961 - make checkpoint_if_cancelled() sync-colored and rename it
- https://github.com/python-trio/trio/issues/1431 - nursery.start() cancellation edge case causing deadlock
- https://github.com/python-trio/trio/issues/1457 - it's confusing that cancelled_caught might be true even if every task in the nursery ran to completion
- Making it easier to write/compose atomic blocking operations
- https://github.com/python-trio/trio/issues/315 - should we call the abort_fn when rescheduling in general?
- https://github.com/python-trio/trio/issues/242 - strategy for "nowait" and "select" operations
- https://github.com/python-trio/trio/issues/896 - can we make abort functions more composable?
- https://github.com/python-trio/trio/issues/1253 - wait_task_rescheduled API revision umbrella issue
- MultiError
- https://github.com/python-trio/trio/issues/204 - async catch() handlers?
- https://github.com/python-trio/trio/issues/205 - better traceback formatting for IPython
- https://github.com/python-trio/trio/issues/405 - use native traceback mutation where available
- https://github.com/python-trio/trio/issues/408 - catch() should take an exception type
- https://github.com/python-trio/trio/issues/416 - track preempted exceptions somehow
- https://github.com/python-trio/trio/issues/611 - MultiError v2
- https://github.com/python-trio/trio/issues/641 - MultiError.filter() pushing down tracebacks unnecessarily
- https://github.com/python-trio/trio/issues/1199 - MultiError inheritance can assertion-fail
- Channels and Streams
- https://github.com/python-trio/trio/issues/895 - how to handle closure of unidirectional channels atop a bidirectional stream?
- https://github.com/python-trio/trio/issues/823 - merge HalfCloseableStream into Stream
- https://github.com/python-trio/trio/issues/987 - broadcast channels / BroadcastValue abstraction
- https://github.com/python-trio/trio/issues/959 - should we merge Stream and Channel?
- https://github.com/python-trio/trio/issues/719 - fine-tuning channels
- https://github.com/python-trio/trio/issues/356 - should it be possible to change the buffer size of a memory channel dynamically?
- https://github.com/python-trio/trio/issues/562 - should there be a way to get an atomic batch of items from a Channel?
- https://github.com/python-trio/trio/issues/1110 - what to do about send_end_of_channel?
- https://github.com/python-trio/trio/issues/1180 - StapledStream send_eof / send_all mutual exclusion
- Thread usability improvements
- https://github.com/python-trio/trio/issues/178 - make run_sync_in_worker_thread propagate contextvars?
- https://github.com/python-trio/trio/issues/323 - BlockingTrioPortal better support for async CMs
- https://github.com/python-trio/trio/issues/606 - propagating cancellation through threads
- https://github.com/python-trio/trio/issues/680 - make BlockingTrioPortal work with trio.Lock
- https://github.com/python-trio/trio/issues/648 - propagate contextvars to and from threads
- https://github.com/python-trio/trio/issues/810 - better usability for threads
- Low-level event loop improvements
- https://github.com/python-trio/trio/issues/40 - IOCP/kqueue monitor improvements
- https://github.com/python-trio/trio/issues/399 - support interoperating with Qt / other GUI event loops
- https://github.com/python-trio/trio/issues/475 - convert lowest-level I/O primitives from global functions to methods
- https://github.com/python-trio/trio/issues/578 - improve the arbitrary kevent API
- https://github.com/python-trio/trio/issues/684 - support Pythonista (iOS Python environment)
- https://github.com/python-trio/trio/issues/879 - should we be more aggressive about reaping child processes?
- https://github.com/python-trio/trio/issues/978 - spawning a process and making sure it doesn't leave any children behind
- https://github.com/python-trio/trio/issues/932 - io_uring
- https://github.com/python-trio/trio/issues/1165 - Network.framework on macOS
- https://github.com/python-trio/trio/issues/1437 - Solaris support
- Windows
- https://github.com/python-trio/trio/issues/26 - think about IOCP usability
- https://github.com/python-trio/trio/issues/893 - support WSL
- https://github.com/python-trio/trio/issues/824 - support named pipes
- https://github.com/python-trio/trio/issues/1271 - race condition in WaitForSingleObject
- https://github.com/python-trio/trio/issues/1270 - notify_closing should accept a handle and wake up handle operations
- https://github.com/python-trio/trio/issues/1280 - improve scalability of new IOCP socket operations
- Missing pieces
- that should probably go in trio
- https://github.com/python-trio/trio/issues/174 - async stdin/out/err
- https://github.com/python-trio/trio/issues/45 - sendfile
- https://github.com/python-trio/trio/issues/219 - native async file I/O, where applicable
- https://github.com/python-trio/trio/issues/279 - high-level interface for serving UNIX domain server sockets
- https://github.com/python-trio/trio/issues/467 - one obvious way for implementing the common multiplexed request/response pattern
- https://github.com/python-trio/trio/issues/543 - type hints
- https://github.com/python-trio/trio/issues/796 - standard implementations of common protocol tasks
- that should probably go in external libraries (but let's hold onto the issue until an external library exists that has any plans to do it)
- https://github.com/python-trio/trio/issues/5 - delegating work to external processes
- https://github.com/python-trio/trio/issues/15 - more advanced debugging and introspection features
- https://github.com/python-trio/trio/issues/173 - sleeping until a given wall clock time
- https://github.com/python-trio/trio/issues/116 - zeromq support
- https://github.com/python-trio/trio/issues/252 - helper library for services/daemons
- https://github.com/python-trio/trio/issues/549 - support for serial ports
- https://github.com/python-trio/trio/issues/685 - make it easier to farm out work (trimeter?)
- https://github.com/python-trio/trio/issues/1449 - support watching for filesystem changes
- that should probably go in trio
- Helpers for testing/debugging
- https://github.com/python-trio/trio/issues/15 - basic add'l debugging and introspection features
- https://github.com/python-trio/trio/issues/77 - systematically injecting cancellations
- https://github.com/python-trio/trio/issues/62 - should we validate that you don't do blocking I/O without a timeout?
- https://github.com/python-trio/trio/issues/170 - more usable mock networking
- https://github.com/python-trio/trio/issues/169 - catch ResourceWarnings and coroutine-never-awaited warnings in tests
- https://github.com/python-trio/trio/issues/168 - add a wall-clock timeout on tests
- https://github.com/python-trio/trio/issues/152 - enforce that all async functions yield?
- https://github.com/python-trio/trio/issues/79 - can we make forgetting an await be an error?
- https://github.com/python-trio/trio/issues/239 - tools for finding scheduler-dependent heisenbugs
- https://github.com/python-trio/trio/issues/372 - maybe support a mechanism for getting an unused TCP/UDP port (and possibly keeping it that way?)
- https://github.com/python-trio/trio/issues/386 - make Instrument events for nursery.start() and nursery open/close clearer
- https://github.com/python-trio/trio/issues/413 - add a monitor
- https://github.com/python-trio/trio/issues/456 - worker threads + wait_all_tasks_blocked = confusing
- https://github.com/python-trio/trio/issues/591 - add a blocked task watchdog
- https://github.com/python-trio/trio/issues/677 - trio-flavored timeit utility
- https://github.com/python-trio/trio/issues/672 - watch for tasks that hog the run loop without taking too long on any single tick
- https://github.com/python-trio/trio/issues/671 - better lint for trio programs
- https://github.com/python-trio/trio/issues/1022 - LabeledSequencer
- https://github.com/python-trio/trio/issues/927 - helper to dump the task tree
- https://github.com/python-trio/trio/issues/1085 - global deadlock detector
- https://github.com/python-trio/trio/issues/1155 - reduce spew volume on BdbQuit, TrioInternalError, etc
- https://github.com/python-trio/trio/issues/1360 - support 'python -m trio' REPL
- Things that trip lots of people up
- https://github.com/python-trio/trio/issues/264 - cancel scopes and nurseries inside generators
- https://github.com/python-trio/trio/issues/638 - cancel scopes and nurseries inside generators, v2
- https://github.com/python-trio/trio/issues/1056 - make the TrioInternalError experience less confusing
- https://github.com/python-trio/trio/issues/1243 - AsyncExitStack and nurseries
- https://github.com/python-trio/trio/issues/1493 - returning a value inside a nursery block behaves counterintuitively
- Open performance/scalability questions
- https://github.com/python-trio/trio/issues/6 - should we have a "thread cache"?
- https://github.com/python-trio/trio/issues/14 - do we need batched accept / accept_nowait?
- https://github.com/python-trio/trio/issues/32 - weighted fair queuing or similar?
- https://github.com/python-trio/trio/issues/54 - discussion of fairness in synchronization primitives
- https://github.com/python-trio/trio/issues/76 - TCP_NOTSENT_LOWAT advocacy and tweaking
- https://github.com/python-trio/trio/issues/230 - figure out a sensible default number of threads
- https://github.com/python-trio/trio/issues/385 - maybe use a heap instead of sorteddict to track deadlines
- https://github.com/python-trio/trio/issues/492 - validate serve_listeners handling of errors when overloaded
- https://github.com/python-trio/trio/issues/1139 - validate receive_some() default chunk size
- Open API-breaker questions
- https://github.com/python-trio/trio/issues/53 - ParkingLot
- https://github.com/python-trio/trio/issues/310 - what to do about the overlap between sleep(), checkpoint(), sleep_forever()?
- https://github.com/python-trio/trio/issues/470 - what to do about passing kwargs for the target of trio.run, nursery.start_soon, etc?
-
https://github.com/python-trio/trio/issues/563 - should
serve_*
take positional*args
? - https://github.com/python-trio/trio/issues/481 - expose RunVars directly?
- https://github.com/python-trio/trio/issues/504 - rename nurseries?
- https://github.com/python-trio/trio/issues/639 - rename TASK_STATUS_IGNORED?
- https://github.com/python-trio/trio/issues/636 - Listener is at the wrong level of abstraction
- https://github.com/python-trio/trio/issues/733 - rethink KeyboardInterrupt protection APIs
- https://github.com/python-trio/trio/issues/1125 - replace send/receive with other verbs?
- https://github.com/python-trio/trio/issues/1213 - rename StapledStream?
- https://github.com/python-trio/trio/issues/1208 - rename communication ABCs? (Stream and Channel)
- Possible SSL improvements
- https://github.com/python-trio/trio/issues/198 - cancellation robustness
- https://github.com/python-trio/trio/issues/196 - optimize framing/packetization
- https://github.com/python-trio/trio/issues/195 - support activating TLS mid-stream in cases where the other protocol may have overread the handshake?
- https://github.com/python-trio/trio/issues/286 - support sessions better
- https://github.com/python-trio/trio/issues/223 - support TLS 1.3 early data
- https://github.com/python-trio/trio/issues/415 - make sure not to invalidate sessions when closing with https_compatible=True
- https://github.com/python-trio/trio/issues/536 - call SSL_read during shutdown, to avoid weird SSL_shutdown semantics
- https://github.com/python-trio/trio/issues/532 - TLS early data + TCP fast open
- https://github.com/python-trio/trio/issues/741 - support TLS 1.3 post handshake auth
- https://github.com/python-trio/trio/issues/1145 - should we support other backends? (pyopenssl, platform native stuff on macOS/Windows, more)
- Small odds and ends
- that are definitely desired
- https://github.com/python-trio/trio/issues/11 - validate that Trio+SSL handles IDNs correctly on 3.7+
- https://github.com/python-trio/trio/issues/70 - make checkpoint() faster
- https://github.com/python-trio/trio/issues/65 - audit what happens if you write async for/with when you should have written for/with or vice versa
- https://github.com/python-trio/trio/issues/134 - better handling for interrupt signals - maybe support SIGTERM raising an exception, maybe make SIGINT hard-kill if it's received too many times with no response
-
https://github.com/python-trio/trio/issues/275 - support setting source interface in
open_tcp_stream
- https://github.com/python-trio/trio/issues/265 - handle async generator cleanup
- https://github.com/python-trio/trio/issues/423 - validate CancelScope.deadline more carefully
- https://github.com/python-trio/trio/issues/445 - fix native async generator based ACMs not being KI protected
- https://github.com/python-trio/trio/issues/464 - catch errors resulting from careless os.fork()
- https://github.com/python-trio/trio/issues/561 - fix test helper fill_socket() on Windows
- https://github.com/python-trio/trio/issues/542 - use less magic constructing API exports so we can be friendlier to static analysis
- https://github.com/python-trio/trio/issues/1024 - makefile() for Trio sockets (or possibly arbitrary streams)
- https://github.com/python-trio/trio/issues/1104 - spawn a process into a nursery
- https://github.com/python-trio/trio/issues/1065 - don't warn about apport when running on Ubuntu
- https://github.com/python-trio/trio/issues/1249 - getaddrinfo can avoid spawning a worker thread in some cases
- https://github.com/python-trio/trio/issues/1244 - better errors when passing the wrong flavor of function
- https://github.com/python-trio/trio/issues/1136 - can't use raw sockets due to getaddrinfo incompatibility
- https://github.com/python-trio/trio/issues/1315 - check for process exit when accessing its returncode
- https://github.com/python-trio/trio/issues/1327 - memory channel types are improperly not marked generic
- https://github.com/python-trio/trio/issues/1340 - reduce overhead of having instrumentation for rarely-fired events
- https://github.com/python-trio/trio/issues/1344 - run a blocking iterator in a thread
- that still probably merit some discussion about whether to do or not / what exactly to do
- https://github.com/python-trio/trio/issues/47 - should we handle instrument errors in a way that lets the instrument clean up?
-
https://github.com/python-trio/trio/issues/60 - maybe rename run_sync_in_worker_thread
cancellable
arg to be more descriptive? - https://github.com/python-trio/trio/issues/217 - decide what should happen when combining trio.Path and pathlib.Path objects
-
https://github.com/python-trio/trio/issues/280 -
getsockname()
andgetpeername()
equivalents forStream
andListener
- https://github.com/python-trio/trio/issues/281 - early socket options for the high-level socket interface?
-
https://github.com/python-trio/trio/issues/283 - should we try to bind v4 and v6 on the same port number if you say
open_tcp_listeners(0)
? - https://github.com/python-trio/trio/issues/260#issuecomment-321422675 - should we support a "forceful" socket close that sends RST?
- https://github.com/python-trio/trio/issues/266 - support for "shared tasks"
- https://github.com/python-trio/trio/issues/328 - should streams serialize calls to send_all()?
- https://github.com/python-trio/trio/issues/351 - should we support micropython?
- https://github.com/python-trio/trio/issues/371 - should we fold wait_send_all_might_not_block() into send_all()?
- https://github.com/python-trio/trio/issues/414 - support setting Stream send timeouts in terms of minimum transmission rate
- https://github.com/python-trio/trio/issues/479 - should we have a way to filter the hosts that open_tcp_stream connects to?
- https://github.com/python-trio/trio/issues/528 - readers/writer lock?
- https://github.com/python-trio/trio/issues/673 - can we deal better with C libraries that set their own signal handler?
- https://github.com/python-trio/trio/issues/924 - expose scandir through Trio's async filesystem API?
- https://github.com/python-trio/trio/issues/1082 - move or remove trio.Condition?
- https://github.com/python-trio/trio/issues/1209 - what to do if run_process() is cancelled but can't kill the child?
- https://github.com/python-trio/trio/issues/1189 - support "weak" tasks?
- https://github.com/python-trio/trio/issues/1148 - name our threads?
- https://github.com/python-trio/trio/issues/1434 - trio.Barrier synchronization primitive?
- that are definitely desired
- Documentation improvements
- https://github.com/python-trio/trio/issues/78 - default_role='obj' leaves function references without their parens
- https://github.com/python-trio/trio/issues/88 - document functools.partial better
- https://github.com/python-trio/trio/issues/240 - grab bag of doc fixes
- https://github.com/python-trio/trio/issues/407 - add a short comprehensive index of API entry points
- https://github.com/python-trio/trio/issues/409 - document memory consumption of nurseries
- https://github.com/python-trio/trio/issues/421 - add an example of collecting results from tasks
- https://github.com/python-trio/trio/issues/472 - add a collection of worked examples
- https://github.com/python-trio/trio/issues/798 - documentation on interpreting tracebacks
- https://github.com/python-trio/trio/issues/802 - write docs on porting code to Trio
- https://github.com/python-trio/trio/issues/970 - clarify what is and is not guaranteed by start_soon() wrt order and soonness
- https://github.com/python-trio/trio/issues/943 - add notes on profiling Trio programs
- https://github.com/python-trio/trio/issues/931 - documentation on interop with C/Rust libraries
- https://github.com/python-trio/trio/issues/1246 - use a less arcane signal example for open_signal_receiver()
- https://github.com/python-trio/trio/issues/1210 - format the wide table better in trio.abc docs
- https://github.com/python-trio/trio/issues/1350 - document that wrap_file() operations are not cancellable
- https://github.com/python-trio/trio/issues/1439 - explain how to get a trio token for from_thread.run()
- Trio developer happiness and community stuff
- https://github.com/python-trio/trio/issues/495 - Python 3.8 wishlist
- https://github.com/python-trio/trio/issues/167 - do we need other interaction channels besides gitter/discourse?
- https://github.com/python-trio/trio/issues/213 - create a vulnerability reporting procedure
- https://github.com/python-trio/trio/issues/220 - automated release tooling
- https://github.com/python-trio/trio/issues/500 - define and document our deprecation policy
- https://github.com/python-trio/trio/issues/729 - maybe generate PyPI long description by reading README.rst
- https://github.com/python-trio/trio/issues/1105 - distinguish "merge" from "approve" in PR workflow?
- https://github.com/python-trio/trio/issues/1187 - thoughts on newcomer welcomingness
- https://github.com/python-trio/trio/issues/1163 - the money thread
- Internal test improvements
- https://github.com/python-trio/trio/issues/825 - add a test that checks the allcaps constants re-exports
- https://github.com/python-trio/trio/issues/816 - raise() on Windows is broken in the debug CRT
- https://github.com/python-trio/trio/issues/813 - add a bulk transfer test to check_one_way_stream
- https://github.com/python-trio/trio/issues/274 - clean up our test layout
- https://github.com/python-trio/trio/issues/604 - we should have benchmarks
- https://github.com/python-trio/trio/issues/923 - maybe run some downstream projects' tests in our CI
- https://github.com/python-trio/trio/issues/913 - test against old versions of requirements in CI