Hi Tom, thank you for your interest in participating in this project!

Of the top of my head there’s really nothing that needs explaining, the code is 
well documented and structured in a logical fashion.




Would you prefer us to keep the coding style consistent across the project?

I noticed my coding style differs quite heavily from yours, I believe however 
that a “guest” of a project should adapt to the already defined style 
guidelines so I would have no trouble doing just that.


—
Sent from Mailbox

On Tue, May 26, 2015 at 7:44 PM, Tom Cocagne <[email protected]>
wrote:

> Pontus & Eliza,
> Please consider me a resource for your efforts. I have little development 
> time available and I wrote txdbus quite a while back but I should at least 
> be able to answer some questions and serve as a sounding board for design 
> and implementation ideas. Good luck!
> Tom Cocagne
> On Tuesday, May 26, 2015 at 2:07:32 AM UTC-5, Pontus Karlsson wrote:
>>
>>  How are you running the tests? Using tox I’m not getting that import 
>> error so try that and verify that the issue still exists.
>>
>> Could you enable issues on the repository and start an initial branch for 
>> the abstraction?
>>
>> I suggest we keep a branch for the abstraction and when that’s done we’ll 
>> start with the asyncio branch.
>>
>> I’ve added a Gitter room as well for general talks regarding how to 
>> proceed, unless you prefer keeping those discussions in this mailing list?
>>
>> —
>> Sent from Mailbox <https://www.dropbox.com/mailbox> 
>>
>>
>> On Tue, May 26, 2015 at 6:34 AM, Elizaveta Guseva <[email protected] 
>> <javascript:>> wrote:
>>
>>>   Hello,
>>>
>>> I've added you as collaborator to my fork. 
>>>
>>> So for planing and dividing the work I suggest we start of by mapping the 
>>>> work needed to be done and start creating issues on the repository.
>>>>
>>>
>>> OK. That sounds like a plan.
>>> Last time I worked together with a collaborator. I kept a plan in the 
>>> Wiki of gitHub in order to remember what was the last step and who is 
>>> responsible for which task.
>>> I don't know if you'd like to use it for coordination.
>>> https://github.com/gelisa/txdbus/wiki/Plan
>>>
>>> I also keep some notes there too. Mainly for myself to keep track of 
>>> things. You can disregard them
>>>  
>>> My vacation doesn’t start until July really but I do have some spare time 
>>>> on the evenings on which I will work on this.
>>>>
>>> That's fine.
>>>
>>> The first thing I noticed was that three tests fails on Python 3.4, these 
>>>> seems to be related to string -> bytes differences in the socket 
>>>> implementation which needs to be taken care of first.
>>>>
>>>  
>>> Ugh, I run the tests too and saw them. I am going to look into it.
>>> Did you have issues  with import UNIXServerEndpoint/UNIXClientEndpoint in 
>>> Python 3.4?
>>> It's looks similar to the endpoints, which can be imported in the source 
>>> file of Twisted 15.2.1. Which puzzles me.
>>>
>>>  Eliza
>>>  
>>>
>>>
>>>
>>>  
>>> On Mon, May 25, 2015 at 2:59 AM, <[email protected] <javascript:>> 
>>> wrote:
>>>
>>>> Actually I just remembered twisted can interact with the stdlib logging 
>>>> library as well through `twisted.python.log.PythonLoggingObserver`.
>>>>
>>>> So I would change it to using `logging` and in the twisted interface 
>>>> implementation use that.
>>>>
>>>> That leaves us with twisted specific code only in:
>>>> * protocol.py
>>>> * client.py
>>>> * object.py
>>>> * endpoints.py
>>>>
>>>> And also the tests needs a bit of abstraction as well, preferably by 
>>>> testing the D-Bus protocol implementation by itself.
>>>>
>>>> —
>>>> Sent from Mailbox <https://www.dropbox.com/mailbox> 
>>>>  
>>>>
>>>> On Mon, May 25, 2015 at 8:41 AM, [email protected] <javascript:> <
>>>> [email protected] <javascript:>> wrote:
>>>>
>>>>> I forked the project yesterday (github.com/wolfhechel/txdbus) and had 
>>>>> another look at it.
>>>>>
>>>>> The first thing I noticed was that three tests fails on Python 3.4, 
>>>>> these seems to be related to string -> bytes differences in the socket 
>>>>> implementation which needs to be taken care of first.
>>>>>
>>>>> Six is already a requirement so I would probably use that in order to 
>>>>> normalise the output from the protocols.
>>>>>
>>>>> Second step would be to separate all Twisted related code into its own 
>>>>> interfaces and place that code in its own package.
>>>>>
>>>>> From those interfaces I would create the abstraction and then create 
>>>>> the asyncio implementation on top of that.
>>>>>
>>>>> As for the logging, two approaches came to mind:
>>>>> 1. Initialize logging alongside the event loop abstraction and pass the 
>>>>> log object to all involved classes.
>>>>> 2. Setup a global logging object in txdbus.log and upon initalization 
>>>>> setup the appropriate logging facility (default to stdlib logging).
>>>>>
>>>>> I would prefer alternative number 1 since IMHO global objects with 
>>>>> common names (such as logger, log, logging) tend to collide with a lot of 
>>>>> other packages and increase chances of circular import dependencies.
>>>>>
>>>>> Since this is really your project, do you wish to start your own fork 
>>>>> so that the main code is held in your account? Otherwise I’ll just give 
>>>>> you 
>>>>> write permission in the fork I’ve already done.
>>>>>
>>>>> My vacation doesn’t start until July really but I do have some spare 
>>>>> time on the evenings on which I will work on this.
>>>>>
>>>>> So for planing and dividing the work I suggest we start of by mapping 
>>>>> the work needed to be done and start creating issues on the repository.
>>>>>
>>>>> —
>>>>> Sent from Mailbox <https://www.dropbox.com/mailbox> 
>>>>>
>>>>>
>>>>> On Sun, May 24, 2015 at 11:33 PM, Elizaveta Guseva <[email protected] 
>>>>> <javascript:>> wrote:
>>>>>
>>>>>>  Ultimately it is your choice, but it sounds like there is interest in
>>>>>>> this project from the txdbus community, which never hurt a project's
>>>>>>> chances of success :)
>>>>>>
>>>>>>
>>>>>> Awesome. For me, with my primary scientific programming experience, 
>>>>>> help is never bad =)
>>>>>>
>>>>>> OK, I'll start with planning. Will keep you updated.
>>>>>>
>>>>>>  *Pontus,*
>>>>>>
>>>>>> I will start figuring out how to abstract the event loop. 
>>>>>> Do you have any specific plan of action in mind?
>>>>>>
>>>>>> With regards, to your plans of participation... 
>>>>>> I don't have much of the collaborative coding experience.
>>>>>> I am not sure what would be the best way of work organization.
>>>>>>
>>>>>> Eliza
>>>>>>
>>>>>>  
>>>>>> On Sun, May 24, 2015 at 4:57 PM, Tycho Andersen <[email protected] 
>>>>>> <javascript:>> wrote:
>>>>>>
>>>>>>> On Sat, May 23, 2015 at 09:42:21PM -0400, Elizaveta Guseva wrote:
>>>>>>> > Hi,
>>>>>>> >
>>>>>>> > *Pontus,*
>>>>>>> >
>>>>>>> > As I understood from the discussion you mentioned, the author of 
>>>>>>> txbus
>>>>>>> > cogane wants to keep one code base in order to wait for kdbus merge.
>>>>>>> >
>>>>>>> > I think it's not compatible with asyncio, because asyncio isn't 
>>>>>>> supported
>>>>>>> > in 2.7.
>>>>>>>
>>>>>>> asyncio is supported in 2.7 (and <3.3), just not as an stdlib module,
>>>>>>> so I don't think this is a big factor for us, as we already require
>>>>>>> users to install it (qtile's event loop is asyncio based no matter
>>>>>>> which version of python you're running).
>>>>>>>
>>>>>>> > Besides that as I saw from code txdbus relies not only on twisted 
>>>>>>> event
>>>>>>> > loop but also on logger for example. I don't know how it would be 
>>>>>>> possible
>>>>>>> > to separate twisted and asyncio in that framework without fork, to 
>>>>>>> be.
>>>>>>> >
>>>>>>> > I'm also not sure if we should worry about kdbus anytime soon, 
>>>>>>> judging from
>>>>>>> > the heated discussion about merge into kernel. Maybe I am wrong.
>>>>>>> >
>>>>>>> > *Tycho,*
>>>>>>> >
>>>>>>> > Where do you think is better to start from txdbus or python-dbus?
>>>>>>> >
>>>>>>> > Pontus listed files in txdbus which rely on Twisted.
>>>>>>> >
>>>>>>> > As for python-dbus, it's:
>>>>>>> >
>>>>>>> >
>>>>>>> >    - *bus.py -- calls for abstract async from connection.py*
>>>>>>> >    - _compat.py -- None
>>>>>>> >    - *connection.py  -- has abstract async function*
>>>>>>> >    - *_dbus.py -- asks for abstract loop*
>>>>>>> >    - *decorators.py -- calls for abstract async*
>>>>>>> >    - exceptions.py -- None
>>>>>>> >    - *_expat_introspect_parser.py -- None*
>>>>>>> >    -
>>>>>>> > *gi_service.py -- uses gobjects *
>>>>>>> >    -
>>>>>>> > *glib.py -- glib.. *
>>>>>>> >    - gobject_service.py -- depricated
>>>>>>> >    - lowlevel.py -- None
>>>>>>> >    - *mainloop -- import from glib bindings*
>>>>>>> >    - *proxies.py -- uses connections' abstract async*
>>>>>>> >    - *server.py **-- asks for abstract loop*
>>>>>>> >    - *service.py -- calls for abstract async*
>>>>>>> >    - types.py -- None
>>>>>>> >
>>>>>>> > To me it seems python-dbus hid its gobject dependencies pretty well 
>>>>>>> and it
>>>>>>> > might be rather easy to add asyncio without touching most of the 
>>>>>>> code.
>>>>>>>
>>>>>>> It sounds to me like you might get some help doing it in txdbus,
>>>>>>> whereas you wouldn't doing it in dbus-python, which is a benefit.
>>>>>>>
>>>>>>> A pure python implementation also causes less of a problem with
>>>>>>> distribution, although again I'm not sure this is a big concern for us
>>>>>>> since the majority of our users are Linux with a handful of OpenBSD
>>>>>>> folks.
>>>>>>>
>>>>>>> Ultimately it is your choice, but it sounds like there is interest in
>>>>>>> this project from the txdbus community, which never hurt a project's
>>>>>>> chances of success :)
>>>>>>>
>>>>>>> Tycho
>>>>>>>
>>>>>>> > Eliza
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > On Sat, May 23, 2015 at 6:54 AM, <[email protected] 
>>>>>>> <javascript:>> wrote:
>>>>>>> >
>>>>>>> > > I’ve mentioned this on an issue in txdbus
>>>>>>> > > https://github.com/cocagne/txdbus/issues/11 and the author had 
>>>>>>> some
>>>>>>> > > pretty good points on implementing a twisted/asyncio abstraction
>>>>>>> > > in the txdbus library.
>>>>>>> > >
>>>>>>> > > I would be willing to contribute to this as well if the decision 
>>>>>>> is taken
>>>>>>> > > to simply work on top of txdbus.
>>>>>>> > >
>>>>>>> > >
>>>>>>> > >
>>>>>>> > > On Wed, May 20, 2015 at 5:01 AM, Elizaveta Guseva <
>>>>>>> [email protected] <javascript:>>
>>>>>>> > > wrote:
>>>>>>> > >
>>>>>>> > >>   Hello Pontus,
>>>>>>> > >>
>>>>>>> > >> Oh, cool! Thanks a lot for your recommendation!
>>>>>>> > >> I will definitely look into it.
>>>>>>> > >>
>>>>>>> > >> Eliza
>>>>>>> > >>
>>>>>>> > >> On Tue, May 19, 2015 at 7:47 AM, Pontus Karlsson <
>>>>>>> > >> [email protected] <javascript:>> wrote:
>>>>>>> > >>
>>>>>>> > >>> Not sure on how far you've gotten on researching this, but as 
>>>>>>> the model
>>>>>>> > >>> of asyncio is heavily inspired by the Twisted structure
>>>>>>> > >>> I would recommend trying to port txdbus
>>>>>>> > >>> <https://github.com/cocagne/txdbus> to asyncio.
>>>>>>> > >>>
>>>>>>> > >>> I was actually looking into doing this a month back and started 
>>>>>>> to map
>>>>>>> > >>> the code structure and looking into what needs to be altered:
>>>>>>> > >>>
>>>>>>> > >>>    - *authentication.py* - Zope interfaces, twisted logger
>>>>>>> > >>>    - *bus.py* - twisted logger and Factory?
>>>>>>> > >>>    - *client.py* - Heavy twisted usage
>>>>>>> > >>>    - *endpoints.py* - Heavy twisted usage
>>>>>>> > >>>    - error.py - No Twisted API usage
>>>>>>> > >>>    - interface.py - No Twisted API usage
>>>>>>> > >>>    - introspection.py - No Twisted API usage
>>>>>>> > >>>    - marshal.py - No Twisted API usage
>>>>>>> > >>>    - message.py - No Twisted API usage
>>>>>>> > >>>    - *objects.py* - Zope interfaces, twisted defer
>>>>>>> > >>>    - *protocol.py* - Zope interfaces, heavy twisted usage
>>>>>>> > >>>    - *router.py* - Twisted log
>>>>>>> > >>>
>>>>>>> > >>> My recommended approach here is to fork it and abstract the 
>>>>>>> event loop
>>>>>>> > >>> to work with both Twisted and asyncio.
>>>>>>> > >>>
>>>>>>> > >>> Den måndag 4 maj 2015 kl. 22:54:20 UTC+2 skrev Eliza Guseva:
>>>>>>> > >>>>
>>>>>>> > >>>> Hello all,
>>>>>>> > >>>>
>>>>>>> > >>>> First. Thanks a lot for choosing me as a student for your 
>>>>>>> project!!
>>>>>>> > >>>>
>>>>>>> > >>>> As an international student in USA, I'm having some challenges 
>>>>>>> with
>>>>>>> > >>>> bureaucratic system in my University.
>>>>>>> > >>>> It starts taking too long at the moment. So I'd better not 
>>>>>>> wait even
>>>>>>> > >>>> longer and start communication now.
>>>>>>> > >>>> I have to warn: there might be issues with the system, but I'm 
>>>>>>> trying
>>>>>>> > >>>> hard to get it work.
>>>>>>> > >>>>
>>>>>>> > >>>> On the brighter topic:)
>>>>>>> > >>>> As I understand it's time to read the documentation now.
>>>>>>> > >>>> Could you recommend me the reading, which suits the best for 
>>>>>>> the
>>>>>>> > >>>> purposes of the project?
>>>>>>> > >>>> What source codes do you think, I should look into to get a 
>>>>>>> better
>>>>>>> > >>>> understanding?
>>>>>>> > >>>> I will be asking questions, in the progress.
>>>>>>> > >>>>
>>>>>>> > >>>> Thanks a lot!
>>>>>>> > >>>>
>>>>>>> > >>>   --
>>>>>>> > >>> You received this message because you are subscribed to the 
>>>>>>> Google
>>>>>>> > >>> Groups "qtile-dev" group.
>>>>>>> > >>> To unsubscribe from this group and stop receiving emails from 
>>>>>>> it, send
>>>>>>> > >>> an email to [email protected] <javascript:>.
>>>>>>> > >>> For more options, visit https://groups.google.com/d/optout.
>>>>>>> > >>>
>>>>>>> > >>
>>>>>>> > >>  --
>>>>>>> > >> You received this message because you are subscribed to a topic 
>>>>>>> in the
>>>>>>> > >> Google Groups "qtile-dev" group.
>>>>>>> > >> To unsubscribe from this topic, visit
>>>>>>> > >> 
>>>>>>> https://groups.google.com/d/topic/qtile-dev/eica8sXohwI/unsubscribe.
>>>>>>> > >> To unsubscribe from this group and all its topics, send an email 
>>>>>>> to
>>>>>>> > >> [email protected] <javascript:>.
>>>>>>> > >> For more options, visit https://groups.google.com/d/optout.
>>>>>>> > >>
>>>>>>> > >
>>>>>>> > >  --
>>>>>>> > > You received this message because you are subscribed to the 
>>>>>>> Google Groups
>>>>>>> > > "qtile-dev" group.
>>>>>>> > > To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an
>>>>>>> > > email to [email protected] <javascript:>.
>>>>>>> > > For more options, visit https://groups.google.com/d/optout.
>>>>>>> > >
>>>>>>> >
>>>>>>> > --
>>>>>>> > You received this message because you are subscribed to the Google 
>>>>>>> Groups "qtile-dev" group.
>>>>>>> > To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected] <javascript:>.
>>>>>>> > For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "qtile-dev" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected] <javascript:>.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>  
>>>>>>  -- 
>>>>>> You received this message because you are subscribed to a topic in the 
>>>>>> Google Groups "qtile-dev" group.
>>>>>> To unsubscribe from this topic, visit 
>>>>>> https://groups.google.com/d/topic/qtile-dev/eica8sXohwI/unsubscribe.
>>>>>> To unsubscribe from this group and all its topics, send an email to 
>>>>>> [email protected] <javascript:>.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>  
>>>>>  
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "qtile-dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected] <javascript:>.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>  
>>>  -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "qtile-dev" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/qtile-dev/eica8sXohwI/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> [email protected] <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "qtile-dev" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/qtile-dev/eica8sXohwI/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"qtile-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to