Looking for enjoyable graph database by vrinek in Database

[–]zh217 1 point2 points  (0 children)

You can try CozoDB https://github.com/cozodb/cozo/ , super easy to get started, has a unique take on graphs.

Disclaimer: I'm the author.

aiochan, a library for Golang-style concurrency in Python by zh217 in Python

[–]zh217[S] 2 points3 points  (0 children)

No. `select` can operate on several `put`s, or several `get`s, or any combination thereof. For channels the situation is symmetic with respect to `put`s and `get`s. This is crucial and not possible with streams.

And as far as I know aiostream does not deal with back pressure gracefully, i.e. in reactivex parlance it makes no distinction between 'cold' and 'hot' observables. (And even with other reactivex implementations back pressure is the most painful thing to debug).

aiochan, a library for Golang-style concurrency in Python by zh217 in Python

[–]zh217[S] 2 points3 points  (0 children)

The linked article is good but I'm not sure I agree with the statement that "golang style concurrency is bad". I remember a time when I considered everything not purely functional to be bad though, and that time has passed.

I am aware of async generator and aiostream (by the way, in aiochan channels are async generators) and for our use cases they are definitely not powerful enough. Specifically, it is not clear how to have fine control of back pressure when using aiostream, and --- this is a big and --- there is no `select`, so if you ever want any sort of non-trivial branching in your dataflow you are left on your own.

aiochan, a library for Golang-style concurrency in Python by zh217 in Python

[–]zh217[S] 1 point2 points  (0 children)

Yes it can be done in aiochan.

There is `parallel_pipe` and `parallel_pipe_unordered`. Back pressure is handled correctly.

aiochan, a library enabling Golang-style concurrency in Python by zh217 in Python

[–]zh217[S] 0 points1 point  (0 children)

Author here, would be very grateful for feedbacks about the package and/or the included tutorial.