pdurbin | prologic: talk to me about https://docs.python.org/3/library/asyncio.html | 01:54 |
---|---|---|
pdurbin | part of the standard library since Python 3.4 | 01:54 |
pdurbin | heard about it at http://www.talkpythontome.com/episodes/show/2/python-and-mongodb | 01:55 |
pdurbin | where (sadly) circuits was not mentioned when it should have been around 18 minutes in | 01:55 |
prologic | sure | 01:56 |
prologic | what do you want to know? | 01:56 |
prologic | I agree :) circuits should be mentioned more in the wider community | 01:57 |
prologic | we just need to market it better :) haha | 01:57 |
prologic | The TL;DR of AsyncIO is that Guido felt the need to standarize Async I/O in Python in general | 01:57 |
prologic | and also introduced better coroutines in the process with yield from | 01:57 |
prologic | none of this will affect circuits however in the future | 01:57 |
prologic | since it _is_ (even right now) trivial to write an asyncio poller for circuits | 01:58 |
pdurbin | oh. so it's not like someone chooses asyncio over circuits | 01:58 |
prologic | not that there would be much to gain at this point | 01:58 |
prologic | what's more interesting for us in the long term is utilizing yield from | 01:58 |
prologic | no | 01:58 |
prologic | you choose circuits because of it's powerful component and eventing architecture | 01:58 |
prologic | not because it happens to do Async I/O too :) | 01:58 |
prologic | that's just a side effect of the various poller components that do async i/o | 01:59 |
prologic | :) | 01:59 |
prologic | we (circuits) can quite literally wrap up almost anything in a component | 01:59 |
prologic | including other frameworks :) | 01:59 |
prologic | when it comes down to Async I/O | 02:00 |
prologic | basically circuits, asyncio and twisted all share very similar (if not identical) ways of handling async I/O | 02:00 |
pdurbin | and tornado? | 02:00 |
prologic | we liberally borrowed in fact much of Twisted's reactor code when improving the builtin pollers in circuits | 02:00 |
prologic | so that we woudn't miss any edge cases for various platforms | 02:01 |
prologic | tornado is another async i/o framework from facebook | 02:01 |
prologic | more geared towards the web though | 02:01 |
prologic | similar to twisted -- callback style | 02:01 |
prologic | but doesn't use zope.interface | 02:01 |
prologic | circuits has always been unique in this arena | 02:02 |
prologic | we do async i/o but not by design | 02:02 |
prologic | it's the components and loose coupling architecture that's our differing point | 02:02 |
prologic | components + events | 02:02 |
prologic | and the ways you can compose applications | 02:02 |
prologic | hot code loading/reloading | 02:03 |
prologic | and coroutines | 02:03 |
pdurbin | ok. thanks :) | 02:04 |
prologic | anything else I can talk about? :) | 02:07 |
pdurbin | sign me to sleep. it's bedtime | 02:07 |
prologic | haha | 02:08 |
prologic | g'night :) | 02:08 |
prologic | pdurbin: go to sleep :) | 02:47 |
pdurbin | prologic: I decided to submit a talk before the deadline in a few hours: https://www.oracle.com/javaone/call-for-proposals.html | 02:47 |
prologic | haha | 02:49 |
prologic | fair enough :) | 02:49 |
prologic | I think I've missed on a talk proposal for PyConAU this year | 02:49 |
prologic | bit too busy atm | 02:49 |
pdurbin | me too but oh well :) | 02:53 |
prologic | http://stackoverflow.com/questions/30092888/send-large-object-over-network-in-python | 05:54 |
prologic | somebody answer this :) | 05:54 |
prologic | in the context of circuits ofc :) | 05:54 |
*** qwebirc58783 has joined #circuits | 13:08 | |
*** treemo has joined #circuits | 13:21 | |
*** qwebirc58783 has quit IRC | 13:23 | |
*** treemo has quit IRC | 13:24 | |
*** treemo has joined #circuits | 13:25 | |
*** FatalNIX has joined #circuits | 13:27 | |
FatalNIX | Hey guys | 13:28 |
*** FatalNIX has left #circuits () | 13:28 | |
*** robert_ has quit IRC | 13:42 | |
treemo | hi prologic, on reading circuits source code i find an strange condition (i don't know if i not understand or an error). source: https://github.com/circuits/circuits/commit/b27dcd04898d9ee3b73f92fb5a99411c301d739d#diff-c7708e9b4897a0de48500e9679bf1cb9R84 | 13:57 |
treemo | ps: sorry for my english | 13:57 |
spaceone | + if self.result: → do you mean that? | 13:58 |
spaceone | treemo: + :ivar result: True if this value has been changed. | 13:59 |
treemo | the condition check "result" var but the next line "value" is use | 14:02 |
treemo | if self.result:\n value = repr(self.value) | 14:03 |
spaceone | yes, do you know what self.result is? | 14:25 |
spaceone | result → True if this value has been changed. | 14:25 |
treemo | ha ok | 14:32 |
*** treemo has quit IRC | 17:27 | |
*** treemo has joined #circuits | 17:47 | |
*** treemo has quit IRC | 18:42 | |
*** robert_ has joined #circuits | 19:34 | |
*** robert_ has quit IRC | 19:34 | |
*** robert_ has joined #circuits | 19:34 | |
prologic | damint | 19:58 |
prologic | miseed them :) | 19:58 |
spaceone | opinions abput tornado? | 21:22 |
y0no | prologic, treemo say to me that all test doesn't pass with merge from master. Do you have executed tests before merging ? | 21:22 |
prologic | spaceone: none really | 21:38 |
prologic | y0no: Oh? :) | 21:38 |
prologic | Haha no I didn't I trusted him to have run the tests on his branch before submitting the PR :) | 21:38 |
prologic | y0no: File an issue and @treemo in the issue and reference that PR :) | 21:39 |
prologic | Please :) | 21:39 |
prologic | He should fix the brokenness if it was indeed his PR that broke things :) | 21:39 |
y0no | On his branch that was okay but not with the master one | 21:39 |
prologic | We need to get CI back up and running :( | 21:39 |
prologic | I hit the "Merge Pull Request" button | 21:39 |
prologic | hmm | 21:39 |
prologic | not sure what happened then | 21:39 |
prologic | File an issue anyway :) | 21:40 |
prologic | We'll sort it out | 21:40 |
y0no | I know that he was working on it this afternoon | 21:40 |
prologic | But yeah we need to get CI back and running | 21:40 |
prologic | so we get back to "master always passes" | 21:40 |
prologic | kk | 21:40 |
y0no | Yep, CI seems to be a good solution = | 21:44 |
y0no | =) | 21:44 |
spaceone | there is some tool which is integrated into github | 21:46 |
spaceone | badger/curl is using it | 21:46 |
spaceone | every PR will be tested | 21:46 |
spaceone | result is shown then | 21:46 |
y0no | Yep, Travis and Drone can be connected to github | 21:47 |
spaceone | that would be cool | 21:47 |
prologic | thanks y0no greatly appreciated | 21:48 |
prologic | spaceone: Travis CI is the tool | 21:49 |
y0no | prologic, no problem | 21:49 |
prologic | we need to get someone (one of us) on that :) | 21:49 |
prologic | and get it going :) | 21:49 |
prologic | but yeah | 21:49 |
prologic | it tightly integrates with inocming PR(s) | 21:49 |
prologic | I can at least connect Drone for now | 21:49 |
prologic | at least we can have CI against Python 2.7 | 21:50 |
y0no | this is a good starting point =) | 21:51 |
y0no | Maybe it can be good to see where circuits is going no ? | 21:55 |
prologic | hmm | 21:59 |
prologic | apparently I cannot connect to my github account from drone | 21:59 |
prologic | I've sent them an email | 21:59 |
prologic | oh well | 21:59 |
prologic | y0no: circuits has a bright future ahead of it | 22:00 |
prologic | as long as we all keep up the momentum that's started recently :) | 22:00 |
y0no | Yep | 22:00 |
y0no | but do you have any plan or something like a roadmap ? | 22:04 |
spaceone | in tornado they yield direct function calls instead of named events | 22:05 |
prologic | y0no: We do :) | 22:08 |
prologic | Well | 22:09 |
prologic | we did :) | 22:09 |
prologic | until we moved to Bitbucket | 22:09 |
prologic | we'll sort it out | 22:09 |
prologic | but high level | 22:09 |
prologic | more protocols | 22:09 |
prologic | improved core componnets | 22:09 |
prologic | improved docs | 22:10 |
prologic | and more frequent releases | 22:10 |
prologic | also be good to sort out this namespace thing as well | 22:10 |
prologic | and encourages more 3rd party plugin componnets | 22:10 |
y0no | nice =) | 22:10 |
spaceone | which protocols? | 22:11 |
prologic | ahh :) | 22:11 |
prologic | all of them :) | 22:11 |
prologic | haha | 22:11 |
prologic | we're missing so many common ones | 22:11 |
prologic | I mentioned this as my talk last year at PyCOnAU | 22:11 |
spaceone | i saw | 22:11 |
prologic | unfortunately many protocol libraires just don't exist | 22:11 |
prologic | and even if they do | 22:11 |
prologic | they don't interoperate very well with frameworks | 22:11 |
prologic | they make too many assumptions and tightly couple too many things | 22:12 |
y0no | prologic, if I correctly remember there is still an issue with HTTP protocol :D | 22:12 |
prologic | I've only found one good protocl library | 22:12 |
prologic | dnslib | 22:12 |
prologic | which I wrote udns with | 22:12 |
prologic | y0no: in what sense? | 22:12 |
prologic | the client protocol or server? | 22:12 |
y0no | prologic, the client, if I'm not wrong, we can't do HEAD requests | 22:13 |
prologic | y0no: Ahh | 22:13 |
y0no | I've tried to handle it but my PR broke some tests :D | 22:13 |
prologic | yes that'll be fixed too | 22:13 |
prologic | Is there a bug report on GH for this? | 22:13 |
spaceone | no | 22:14 |
spaceone | on github is nothing | 22:14 |
prologic | y0no: you should file a bug report and try ot fix it :) | 22:14 |
prologic | spaceone: yes I know of your http work :) | 22:14 |
prologic | we should talk more about revamping that side of circuits.web | 22:14 |
y0no | prologic, currently I'm little busy with treemo to improve circuits.core, but if I have free time I will try to do it. | 22:15 |
prologic | circuits.core? | 22:16 |
prologic | seriously? :) | 22:16 |
y0no | Yep if it works, circuits will be a little more faster =) | 22:18 |
prologic | really? | 22:19 |
prologic | without breaking any/much of the existing API and functionality? | 22:19 |
prologic | tell me more :) | 22:19 |
prologic | I'm excited :) | 22:19 |
prologic | not that I find circuits terribly slow at all in my use-cases | 22:19 |
prologic | and it's on average 10x faster on PyPy :) | 22:19 |
prologic | treemo should be here on IRC with us | 22:20 |
prologic | please encourage him to ujoin if you see hijm next :) | 22:20 |
spaceone | wtf, i get error(115, 'Operation now in progress') with latest circuits | 22:20 |
spaceone | ah, wrong import | 22:21 |
spaceone | prologic: is there a pastebin which executed python code (having circuits) | 22:22 |
spaceone | ? | 22:22 |
y0no | prologic, He will be here next week | 22:22 |
prologic | spaceone: I wish :) | 22:22 |
prologic | let me know if you find one that can do such a thing :) | 22:22 |
prologic | haha | 22:22 |
prologic | maybe we can write our own? | 22:22 |
prologic | and host it somewhere | 22:22 |
prologic | y0no: awesome sauce :) | 22:22 |
y0no | I have to go, have a good night|day. | 22:25 |
spaceone | y0no: regarding your HEAD problem, have a look at: http://cxg.de/_87005c.htm | 22:25 |
prologic | nps you too y0no | 22:26 |
y0no | prologic, thx =) | 22:28 |
spaceone | y0no: also https://github.com/spaceone/circuits.http/blob/master/examples/curl.py (curl like CLI tool) | 22:34 |
Generated by irclog2html.py 2.11.0 by Marius Gedminas - find it at mg.pov.lt!