Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/python-trio/trio

Trio – a friendly Python library for async concurrency and I/O
https://github.com/python-trio/trio

Add help links to the documentation sidebar

Also tweak the layout a bit to avoid making it too crowded, and in
particular hide the version n...

04255812cca9d12c0e8afe9b57d5dc1e09cf2a3f authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #253 from njsmith/socket-overrides

Make it possible to override hostname resolution and socket behavior

56bea8a23829ac69459bcbcd1f97f3d9ceb3fede authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Attempt to fix MacOS crankiness

e668d6d3d0044dc5b49a41edae10860fd11eb174 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Add tests for custom HostnameResolver and SocketFactory

1aa3d5962acf079f3aa47685749b1129f28888b9 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Fix doc build

f70c5a31deb3e2decf63702e62e6934e53ef101d authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Make it possible to override hostname resolution and socket behavior

See gh-170.

Still needs tests.

4e3fa63d2331003b1dd73f80d1555f9324fe2d97 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Underscorify trio.socket's idna import

64a0bbcc0398cca0940f36631ca956a80220b9ca authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #250 from njsmith/local-defaults

Add support for default values to TaskLocal and RunLocal

e87b24cc34e0fb1145bb8962846fbec8a8d5cc54 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #249 from njsmith/fix-SocketType-public-interface

Remove quasi-public APIs from trio socket interface

aa4640d0c0424e6cf46d41cd3d1881011f03f891 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Make did_shutdown_SHUT_WR public API on trio socket objects

This is more prep for gh-170. As of this commit SocketType no longer
has any secret-but-quasi-pu...

6ee9f14d38c6dd68d1a6a7ddec10b170ac20421e authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Add support for default values to TaskLocal and RunLocal

bf72f725479e2acc2271c3a337b4453b940882e1 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Move the socket type fixup code out of the class and into a function

I don't want this in the "public" socket interface, because it
interferes with gh-170.

6b0eeb614e02cd7fe04484fa5e26ee540a0fa2ef authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #248 from njsmith/remove-getprotobyname-reexport

Remove re-export of socket.getprotobyname

12c41b4ede8cae2034f19ebe6d12b3d7e63c8c55 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Remove re-export of socket.getprotobyname

We have a proper async wrapper for it now, which was overwriting this
reexport in any case, so t...

a82a339db49d9ca3a169220e5b23bc8d4df089b9 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #246 from njsmith/hide-SocketType

Hide the trio.socket.SocketType class

a1ad278c93f34ca7c8249b5125d46bbd0685bb5d authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Hide the SocketType class

It's not really an analogue to the stdlib SocketType (which is the raw
_socket.SocketType that s...

d662056fec63e2d321d5a3104e9805eb06a69479 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
An even better way of documenting hidden classes

4188f1fd280623e651ee4c510f9a52a0d389ce09 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Use a slightly less horrible way of documenting interfaces

c8cee18ee6382038d167aecf674c674fbe03512e authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #245 from njsmith/merge-doc-requirements

[ci] Merge doc requirements into one place.

d303f06b442573aa5f521d5f62e160a39f58247b authored over 7 years ago by Nathaniel J. Smith <[email protected]>
[ci] Merge doc requirements into one place.

722b8a96a2dbb99d947b379a77520da705d0d119 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Switch to using trustme for testing TLS certs

c67d2fbed511af9f9d5e338b83bfd695cb89583d authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #237 from njsmith/notes-to-self-3

Commit some more notes-to-self so I can't lose them

5a8a564b4cda70e7fffc79ada50e88f02dc92782 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Commit some more notes-to-self so I can't lose them

9967befb5853cf9e3283feea758524e161745478 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #243 from njsmith/no-intern-cancelled-exceptions

Stop interning Cancelled exceptions

21972ff0d4c50009fe0d27982b4279cbbe9eaf28 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Stop interning Cancelled exceptions

Cancel scopes used to jump through hoops to make sure that if you had
some code like:

with op...

24946a7bc412f3f6e9e551f292687f7b10c64e48 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #181 from njsmith/thread-limiter

Implement capacity limitation for run_in_worker_thread

1d0a7649f4ddf038b2b666de12d8a76565cf3fc9 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Add a pragma: no cover

9f21a04a9807beae6d622d26f63e90e8f7b06753 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Audit 'nonlocal' uses to avoid bpo-30744 and pypy equivalent

Basically using nonlocal and threads together is super dangerous.

- There was a weird/harmless ...

c56d7f5b2b88fb70c210ea95e76ecd87adcab7a5 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Skip test_run_in_worker_thread_limiter on PyPy

This is bad. The test is totally valid, and we should be running it on
PyPy. But it's hitting th...

770f1fc75fd2049240a98cb05d40dcf69575eed8 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Add conceptual docs for run_in_worker_thread

Fixes gh-231

f5c49114271570a1364887bd0eed9a8f1cacdeb9 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #232 from njsmith/asynccontextmanager-fixes

Two small followups to gh-228

4b9466c96ea933add21944845325b3b8ada6c370 authored over 7 years ago by remleduff <[email protected]>
Remove some stray print() calls

315bb7f3f1ef40c27284f1caca306c6742f0347b authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Document that CapacityLimit.acquire* can raise RuntimeError

4350903e63806541e894f55e096eb82431995a87 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #228 from remleduff/asynccontextmanager-fixes

Port fixes for unchaining exceptions in contextmanager from cpython

979d603c7408de18bdc2ca3101c188b5e056e0b4 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Test StopIteration can pass through an async_generator async context manager

670dfa936ec78d27f172670cf7aecf408c810d5f authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Formatting fixups

a8b36a0b5456b94ad9f0a105dfd7229ec4ef09eb authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Hook CapacityLimiter up to the generic lock testing machinery

d9d6ec5636a242e4e62754141e23520bcea12f95 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Implement capacity limitation for threads

- New synchronization primitive: CapacityLimiter. Like a Semaphore but
more specialized. See g...

7d2d5713fb88f4b8131d8c0beb1ba6916ac71c34 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Port fixes for unchaining exceptions in contextmanager from cpython

Cherry-pick 647438fa5a7b9a5fb3fd1af57541b52646c7a013,
bpo-29692: contextlib.contextmanager may i...

a002811df63b95a5e9e813bf3871a3bee25592de authored over 7 years ago by Joel 'Aaron' Cohen <[email protected]>
Merge pull request #226 from kyrias/verbose-travis-tests

ci/travis.sh: Run tests with --verbose

63110690bd9566ac7ca17126291745ac66ebec96 authored over 7 years ago by Johannes Löthberg <[email protected]>
ci/travis.sh: Run tests with --verbose

Signed-off-by: Johannes Löthberg <[email protected]>

2bd18df57e9c810a99ff05065dad0db53de4242f authored over 7 years ago by Johannes Löthberg <[email protected]>
Merge pull request #225 from remleduff/wait_all_tasks_example

Correct the example in wait_all_tasks_blocked

2f1654422b1805c990a942928a05b2fdc41d154f authored over 7 years ago by Matthias Bussonnier <[email protected]>
Correct the example in wait_all_tasks_blocked

The previous example had a small thinko and asserted the lock wasn't
locked when in fact we had ...

f9d2a4bf54357ea2b80b8e05d569c227e2c13b15 authored over 7 years ago by remleduff <[email protected]>
Merge pull request #222 from kyrias/test_multierror_ctr

test_multierror: Use IPython's code_to_run instead of exec_lines

bc64d2c2cc6a5358e5e61ebc99522745d951f2bf authored over 7 years ago by Nathaniel J. Smith <[email protected]>
test_multierror: Use IPython's code_to_run instead of exec_lines

The reason the tests "freeze" on AppVeyor should have been that
`exec_lines` runs the lines at I...

5bdc90ad20be33f5d8b4a98368efad424c09363b authored over 7 years ago by Johannes Löthberg <[email protected]>
Merge pull request #214 from njsmith/fix-ssl-test-threading

The echo server thread in test_ssl had unnoticed errors

190ebd424d417e45abe7fc6fe39c546891d898a8 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Work around a bug in pypy3's ssl module

a38d27885114a653fd98bb93b4ce2135c85aeb57 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
work harder to collect garbage during test runs

e976598b86d8211f91dd80b51089ed6002c97b1e authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Merge pull request #212 from Carreau/async-async-with

Clearer error message if async context manager used synchronously

a7c3e5f2d71824a2a1def4ddc9634690c444fd97 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Fix pragma

3f865fb89be47a653575559659191723c424fff4 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
Fix pragma

9a3fbfd3748a054544fa1feaaba621d9ba0299a6 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
path: repr path value in repr

e4c8ce7b81669f3e886c2ee434c7249aba7f55ed authored over 7 years ago by Zack Buhman <[email protected]>
path: add docstring for open

a05a7504d5bf44a394f5705ae6c2bf1666b966e3 authored over 7 years ago by Zack Buhman <[email protected]>
Merge pull request #180 from buhman/io

add asynchronous file io and path wrappers

9e0df6159e55fe5e389ae5e24f9bbe51e9b77943 authored over 7 years ago by Nathaniel J. Smith <[email protected]>
test_file_io: skip coverage on fake methods

f2b237ff4364b2a0763f265887eba17c8c4ec754 authored over 7 years ago by Zack Buhman <[email protected]>
path: add comment for 3.5-compatibility in __fspath__

b70c41376d925e20079a8915a04908678b1bd83d authored over 7 years ago by Zack Buhman <[email protected]>
path: de-genericify path return value rewrapping logic

e63b4ccc429d70c58c5b0f77cd6b4ca811d140bd authored over 7 years ago by Zack Buhman <[email protected]>
path: add tests for paths being initialized from other paths

This also removes the _from_wrapped classmethod, and adds an adds an additional
test for passing...

04ed0ad5cb1a088a40d204562e8e8639ab29f3fc authored over 7 years ago by Zack Buhman <[email protected]>
file_io: make _FILE_SYNC_ATTRS and _FILE_SYNC_METHODS sets instead of lists

953db745556dd281905619ed87a8655e26b46369 authored over 7 years ago by Zack Buhman <[email protected]>
file_io: add support for duck-files

bc8c3179d02716b999591f1134349407289e3251 authored over 7 years ago by Zack Buhman <[email protected]>
test_io: fix python3.5 compatibility

ancient versions of python don't have proper path support.

ab54e727898717647dfef0838bdefb15c7f51fb1 authored over 7 years ago by Zack Buhman <[email protected]>
path: add more tests

c7203b616c6edd966396119a36cf6199e455d0d3 authored over 7 years ago by Zack Buhman <[email protected]>
_file_io: compute available attributes in __dir__

__init__ is probably more performance sensitive than __dir__, and __dir__ is the
only thing that...

d58585647392f40c55eb87d0f64b9155b0a42943 authored over 7 years ago by Zack Buhman <[email protected]>
_file_io: add methods and attributes not defined in *IOBase

This add and categorizes all of the extra methods and attributes from
non-*IOBase file object cl...

f91c7170679124f9c60d5c4beca76a3df2d8b7e0 authored over 7 years ago by Zack Buhman <[email protected]>
_file_io/_helpers: consolidate __name__ magic in async_wraps

This also adds signature tests for AsyncIO and AsyncPath.

13d0735ab6478ff61db192bd95d2565139309301 authored over 7 years ago by Zack Buhman <[email protected]>
trio.io: docs wip

6dc85bbe8107331e3658d21fc0cf10fdbafbe9d9 authored over 7 years ago by Zack Buhman <[email protected]>
_file_io: move _method_factory to _helpers module

This makes more sense if it is shared between more modules in _file_io. _method_factory is also ...

bc5c08548a17653393b09582a654fca6786fb09f authored over 7 years ago by Zack Buhman <[email protected]>
trio: rename trio.io to trio._file_io

This clarifies that the package is specifically implementing file io, and is a
private package.
...

482ca8fb8d202617fe6b40d2e793c6eed8db597d authored over 7 years ago by Zack Buhman <[email protected]>
path: add proper support for path magic

266bedb211ddd3a44f6ebfb12701216a48d6a7ad authored over 7 years ago by Zack Buhman <[email protected]>
path: rename AsyncPath to Path

39c33f06b6deb5d2a64704456d31aa4d698e603e authored over 7 years ago by Zack Buhman <[email protected]>
file_io: remove package

This collapses the _file_io and _path modules into the trio package, and moves
_helpers to _util

ed6bd54b333152a5d0f6644e604189bb70604301 authored over 7 years ago by Zack Buhman <[email protected]>
path: improve comments

d9c09af6db5f26030b239f0f8109ccb99c9c58dc authored over 7 years ago by Zack Buhman <[email protected]>
path: add tests for repr and forward rewrap

3126442a97d0fa177206b862938784f35a94685f authored over 7 years ago by Zack Buhman <[email protected]>
_path: implement __dir__

The getattr_factory thing was cute, but it prevented __dir__ from being
implementable. This remo...

95a1966b27e26d6ec880f2129a91d3c22c64e716 authored over 7 years ago by Zack Buhman <[email protected]>
async_wraps: add __doc__

84c0238ebc006f04124ed7f5b103a013c04a5271 authored over 7 years ago by Zack Buhman <[email protected]>
file_io: make duck-file definition more restrictive

duck-files are now required to define either write or read in addition to close

7555d3b621ca9355a5695260be02b54c25ce9fb3 authored over 7 years ago by Zack Buhman <[email protected]>
test_path: fix windows compatibility

e74396cc5f78d75a9093fca4bead3acd99322c9a authored over 7 years ago by Zack Buhman <[email protected]>
path: re-wrap property return values

f0e5fa443058cdbe63bda2b63131b4ab03f3de25 authored over 7 years ago by Zack Buhman <[email protected]>
path: add documentation

da7b8ec0cac8546d7f9b7f96c9a91e2c8d45a27b authored over 7 years ago by Zack Buhman <[email protected]>
trio.io: wrap heap classes

Despite not directly inheriting them, implementations are at least
registered subclasses of the ...

f20874fe085c2f5ecb98576392e295e2b79cd261 authored over 7 years ago by Zack Buhman <[email protected]>
test_path: improve magic tests

This removes references to _wrapped, and adds all possible Path comparisons that
affect trio.Path.

66836f34f4056219f8565b94abddac3d19f7c194 authored over 7 years ago by Zack Buhman <[email protected]>
_path: special-case open method

AsyncPath.open should look identical to open_file, so similarly wrap both the
return value with ...

86543fb0e9c3ee470a82b571ae582211e2ca28c0 authored over 7 years ago by Zack Buhman <[email protected]>
trio: initial path implementation

d828f39e46cdc991be3275956c8d37326aad694b authored over 7 years ago by Zack Buhman <[email protected]>
io: replace async_generator_context with closing

The async generator context was broken, and fixing it seemed
un-necessarily complicated.

f7f7bcc8f81418dcb1e8f7a59ffd7e2fac3efe06 authored over 7 years ago by Zack Buhman <[email protected]>
trio.io: wrap open in AsyncGeneratorContextManager

This replaces the open implementation with an asynchronous generator,
and wraps it in an asynchr...

b401562634b1e4cb373a83480231db048270f2eb authored over 7 years ago by Zack Buhman <[email protected]>
test_file_io: use wrap_file instead of private _wrapped

67e8f9c9a001a4e391d7e4036df487509f5c424d authored over 7 years ago by Zack Buhman <[email protected]>
io: rename public API

This renames io.open to io.open_file and io.wrap to io.wrap_file.

This also replaces singledisp...

77fde94640f7f483f022e3e9575b59fbebb0b894 authored over 7 years ago by Zack Buhman <[email protected]>
io: add aiter compatibility wrapper

This adds pre-3.5.2 compatibility.

e5b69c8cb76e8060567435fe99dcf36bdc1eb3ba authored over 7 years ago by Zack Buhman <[email protected]>
io: re-add AsyncIOBase context manager

This adds support for the pattern:

f = await io.open(path)
async with f:
pass

7b704a221361e845b5679b5c58216b146a61ada1 authored over 7 years ago by Zack Buhman <[email protected]>
tests: add io tests

b0668dd7e05bd80f8dd47b2588d95392e68b6432 authored over 7 years ago by Zack Buhman <[email protected]>
_file_io: gaurantee the underlying file is closed during cancellation

1dad9eea8cf1430d61c74e462cbc14ca66a95f6b authored over 7 years ago by Zack Buhman <[email protected]>
_path: fix python3.5 compatibility

python3.5 doesn't have os.PathLike

df0b6cb7a9d5ddf056225429803e1e3ef66a6ff6 authored over 7 years ago by Zack Buhman <[email protected]>
_file_io: promote wrapper_factory cls re-wrapping to _helpers

Move the cls re-wrapping logic from _path to _helpers, so it can be consumed by
_file_io.

This ...

efb739c329760a93c5f60bad624a16ccf2e78b16 authored over 7 years ago by Zack Buhman <[email protected]>
_path: remove WindowsPath and PosixPath wrappers

These are not necessary.

39b4d0ca8167eb29af20bc3d0e744732d24463dd authored over 7 years ago by Zack Buhman <[email protected]>
docs: improve file_io documentation

This also adds or updates docstrings within _file_io.

45d8ad80630cf0a6c4eb21e0b5e477974d91e98d authored over 7 years ago by Zack Buhman <[email protected]>
io: fix warnings

4d3614f34568b4181397f795a541c836b7724a88 authored over 7 years ago by Zack Buhman <[email protected]>
test_file_io: clean up tests

This removes type-specialized tests entirely, and moves some setup code to
fixtures.

2a26335925f711359ec94d41f83e34bf3993bc70 authored over 7 years ago by Zack Buhman <[email protected]>
_file_io: remove closing

We decided that it's better to only support one context manager convention, and
that the non-mag...

066d1f267a63b8262669183346a8c4b567f74511 authored over 7 years ago by Zack Buhman <[email protected]>
file_io: make AsyncIOWrapper private

179393a66add4b6678edecb0cc4c468ec0bf79ab authored over 7 years ago by Zack Buhman <[email protected]>
trio: rename AsyncIO to AsyncIOWrapper

This frees us up to create other AsyncIO implementations, and clarifies that
this one is the thr...

f217d736b8a426b22e295a61eb31c6b8e5e0f2c0 authored over 7 years ago by Zack Buhman <[email protected]>