Re: Launching Helium: A Selenium wrapper that makes web automation 50% easier

2013-12-16 Thread Michael Herrmann
On Monday, December 16, 2013 12:40:56 PM UTC+1, larry@gmail.com wrote: ... > Is this open source? No. We quit our daytime jobs to work on this project and need the income to sustain our development... -- https://mail.python.org/mailman/listinfo/python-list

Launching Helium: A Selenium wrapper that makes web automation 50% easier

2013-12-16 Thread Michael Herrmann
ith Selenium alone. You can find more information and download Helium from http://heliumhq.com. Any feedback would be highly appreciated. Hoping to hear your thoughts and comments, Michael Herrmann heliumhq.com -- https://mail.python.org/mailman/listinfo/python-list

Re: Packaging a proprietary Python library for multiple OSs

2013-12-05 Thread Michael Herrmann
On Thursday, December 5, 2013 4:26:40 PM UTC+1, Kevin Walzer wrote: > On 12/5/13, 5:14 AM, Michael Herrmann wrote: > If your library and their dependencies are simply .pyc files, then I > don't see why a zip collated via py2exe wouldn't work on other > platforms. Obviously

Re: Packaging a proprietary Python library for multiple OSs

2013-12-05 Thread Michael Herrmann
On Thursday, December 5, 2013 3:09:32 PM UTC+1, Roy Smith wrote: > > 1. Is it considered a bad idea in the Python community to ship one large > > Zip file with all dependencies? > Yes. I see. Unfortunately, the library's users may be non-technical and might not even have experience with Python.

Re: Packaging a proprietary Python library for multiple OSs

2013-12-05 Thread Michael Herrmann
On Thursday, December 5, 2013 11:56:16 AM UTC+1, rusi wrote: > Wheel is the upcoming standard I think. > http://www.python.org/dev/peps/pep-0427/ I hadn't known of Wheel - thanks for pointing it out! -- https://mail.python.org/mailman/listinfo/python-list

Packaging a proprietary Python library for multiple OSs

2013-12-05 Thread Michael Herrmann
Hi everyone, I am developing a proprietary Python library. The library is currently Windows-only, and I want to also make it available for other platforms (Linux & Mac). I'm writing because I wanted to ask for your expert opinion on how to best do this. The library is currently shipped in the

Re: Help me pick an API design (OO vs functional)

2013-04-04 Thread Michael Herrmann
Hi everyone, we just released the new version of our GUI automation tool with the improved API: http://www.getautoma.com/blog/Automa-1-5-1-window-switching. Thank you again for your help. Best regards, Michael On Monday, March 25, 2013 8:29:23 PM UTC+1, Michael Herrmann wrote: > He

Re: Help me pick an API design (OO vs functional)

2013-03-28 Thread Michael Herrmann
On Thursday, March 28, 2013 1:42:35 AM UTC+1, Steven D'Aprano wrote: > On Wed, 27 Mar 2013 02:34:09 -0700, Michael Herrmann wrote: > > > On Tuesday, March 26, 2013 11:37:23 PM UTC+1, Steven D'Aprano wrote: > >> > >> Global *variables* are bad, n

Re: Help me pick an API design (OO vs functional)

2013-03-28 Thread Michael Herrmann
On Wednesday, March 27, 2013 5:45:49 PM UTC+1, Ethan Furman wrote: > On 03/27/2013 02:34 AM, Michael Herrmann wrote: > > Design #2: > > notepad_1 = start("Notepad") > > notepad_2 = start("Notepad") > > switc

Re: Help me pick an API design (OO vs functional)

2013-03-28 Thread Michael Herrmann
On Wednesday, March 27, 2013 2:56:55 PM UTC+1, Mitya Sirenef wrote: > ... > > I think alt-tab has to be special in any case. Regular alt-tab would act > like the GOTO statement. As a programmer looking at a script you have no > idea where you just alt-tabbed to without possibly looking through > d

Re: Help me pick an API design (OO vs functional)

2013-03-27 Thread Michael Herrmann
On Wednesday, March 27, 2013 12:44:49 PM UTC+1, Chris Angelico wrote: > ... > Not seeking to advocate this particular option, but it would be > possible to make a single wrapper for all your functions to handle the > focus= parameter: > > def focusable(func): > @functools.wraps(func) >

Re: Help me pick an API design (OO vs functional)

2013-03-27 Thread Michael Herrmann
On Tuesday, March 26, 2013 11:37:23 PM UTC+1, Steven D'Aprano wrote: > > Global *variables* are bad, not global functions. You have one global > variable, "the current window". So long as your API makes it obvious when > the current window changes, implicitly operating on the current window is

Re: Help me pick an API design (OO vs functional)

2013-03-27 Thread Michael Herrmann
On Tuesday, March 26, 2013 11:01:08 PM UTC+1, Mitya Sirenef wrote: > On 03/26/2013 10:59 AM, Michael Herrmann wrote: > > ... > > Forcing the library user to always use the "with ..." seems like > overkill though. I think the gained precision does not justify this

Re: Help me pick an API design (OO vs functional)

2013-03-27 Thread Michael Herrmann
On Tuesday, March 26, 2013 5:41:42 PM UTC+1, Dave Angel wrote: > On 03/26/2013 10:40 AM, Michael Herrmann wrote: > > > On Tuesday, March 26, 2013 3:13:30 PM UTC+1, Neil Cerutti wrote: > >> > >> Have you considered adding a keyword argument to each of your &

Re: Help me pick an API design (OO vs functional)

2013-03-27 Thread Michael Herrmann
On Tuesday, March 26, 2013 4:16:57 PM UTC+1, Chris Angelico wrote: > On Wed, Mar 27, 2013 at 1:59 AM, Michael Herrmann > > wrote: > > save_dialogue = press(CTRL + 's') > > Does every single API need to then consider the possibility of focus > changing? How d

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 2:41:38 PM UTC+1, Mitya Sirenef wrote: > ... > At the __exit__, further commands are no longer routed to that window; > if it was a nested context, window is switched to the outer context, > WHEN there are commands in it (i.e. on the first command). This seems > pretty i

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 3:13:30 PM UTC+1, Neil Cerutti wrote: > On 2013-03-25, Mitya Sirenef wrote: > > > I think I would prefer context managers. I don't think it's a > > big problem for win users because this behaviour would be one > > of the first things documented in the start guide and wou

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 1:42:26 PM UTC+1, Dave Angel wrote: > ... > > Also, it seems that in this thread, we are using "window" both to refer > to a particular application instance (like Notepad1 and Notepad2), and > to refer to windows within a single application. > > > > Anyway, if you'r

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 1:59:58 PM UTC+1, Steven D'Aprano wrote: > On Tue, 26 Mar 2013 05:04:43 -0700, Michael Herrmann wrote: > ... > Am I the only one who appreciates the simplicity of > > > start("Notepad") > > write(&quo

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 1:16:56 PM UTC+1, Jean-Michel Pichavant wrote: > - Original Message - > > > > notepad_1 = start("Notepad") > > > > notepad_2 = start("Notepad") > > > > notepad_1.write("Hello World!") > > > > notepad_1.press(CTRL + 'a', CTRL + 'c')

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 12:57:21 PM UTC+1, Chris Angelico wrote: > On Tue, Mar 26, 2013 at 10:52 PM, Michael Herrmann > > Doesn't the IPython do auto-completion for "global" functions? > > Even if it does, it'll be polluted with every other global. Method

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 12:43:18 PM UTC+1, Chris Angelico wrote: > On Tue, Mar 26, 2013 at 8:38 PM, Michael Herrmann > > > What do you think of designs #3 and #4? > > > notepad_1 = start("Notepad") > > notepad_2 = start("

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 12:38:35 PM UTC+1, Chris Angelico wrote: > ... > Fundamental point: As I understand the API, it doesn't *actually* tie > to a window. You don't locate the Notepad window and send it keys - > you switch focus to Notepad and then send keys to the whole system. Is > this cor

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 11:26:30 AM UTC+1, Dave Angel wrote: > ... > Seems to me that the official interface should all be methods. However, > you could have a new object which always represents the "focus" window. > Then the USER could define trivial functions: > > def write(*args): >

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 11:07:45 AM UTC+1, Jean-Michel Pichavant wrote: > - Original Message - > > notepad_1 = start("Notepad") > > notepad_2 = start("Notepad") > > notepad_1.write("Hello World!") > > notepad_1.press(CTRL + 'a', CTRL + 'c') > > notepad_2.press(CTRL +

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 12:40:45 AM UTC+1, Mitya Sirenef wrote: > ... > > I think I would prefer context managers. I don't think it's a big > problem for > win users because this behaviour would be one of the first things documented > in the start guide and would be all over example scripts, s

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Tuesday, March 26, 2013 12:11:34 AM UTC+1, Ethan Furman wrote: > On 03/25/2013 12:29 PM, Michael Herrmann wrote: > ... > > > > notepad_1 = start("Notepad") > > notepad_2 = start("Notepad") > > notepad_1.write("Hello

Re: Help me pick an API design (OO vs functional)

2013-03-26 Thread Michael Herrmann
On Monday, March 25, 2013 10:08:53 PM UTC+1, Chris Angelico wrote: > ... > > I kind of like the context manager solution because the indentation makes > > it very obvious what happens in which window. You are right about our > > target group though. Also, the "with" is not as explicit as it proba

Re: Help me pick an API design (OO vs functional)

2013-03-25 Thread Michael Herrmann
Hi Kwpolska, thanks for your reply (as last time I posted here!). On Monday, March 25, 2013 8:42:25 PM UTC+1, Kwpolska wrote: > ... > > > notepad_1 = start("Notepad") > > notepad_2 = start("Notepad") > > with notepad_1: > > write("Hello World!") > >

Help me pick an API design (OO vs functional)

2013-03-25 Thread Michael Herrmann
Hello everyone, my name is Michael, I'm the lead developer of a Python GUI automation library for Windows called Automa: http://www.getautoma.com. We want to add some features to our library but are unsure how to best expose them via our API. It would be extremely helpful for us if you could l

Re: Is it bad style to override the built-in function `type`?

2012-12-03 Thread Michael Herrmann
Hi Rusi, > Im entering this thread late (was off mail for a week), so pardon me > if someone has already said this -- but have you looked at the > difference between internal and external dsls: > http://martinfowler.com/bliki/DomainSpecificLanguage.html (and links > therein) ? > Roughly speaking

Re: Is it bad style to override the built-in function `type`?

2012-11-29 Thread Michael Herrmann
anks again, Michael Co-founder and lead developer @BugFreeSoftware http://www.getautoma.com On Friday, November 23, 2012 5:12:39 PM UTC+1, Michael Herrmann wrote: > Hi, > > > > do you think it's bad style to override the built-in function `type`? I'm > co-developing

Re: 10 sec poll - please reply!

2012-11-29 Thread Michael Herrmann
anks again, Michael Co-founder and lead developer @BugFreeSoftware http://www.getautoma.com On Tuesday, November 20, 2012 1:18:38 PM UTC+1, Michael Herrmann wrote: > Hi, > > > > I'm developing a GUI Automation library (http://www.getautoma.com) and am > having difficulty pic

Re: 10 sec poll - please reply!

2012-11-25 Thread Michael Herrmann
On Sunday, November 25, 2012 4:56:49 AM UTC+1, Steven D'Aprano wrote: > Michael, please trim your replies. There is no need to quote nearly 200 > lines of previous emails that you don't make direct reference to in your > response. We prefer inline quoting here (where you interleave quoted text >

Re: 10 sec poll - please reply!

2012-11-25 Thread Michael Herrmann
On Sunday, November 25, 2012 12:23:13 AM UTC+1, Dennis Lee Bieber wrote: > ... > Pardon? In ASCII (and encodings that share the first 128 positions), > > a TAB is x09. > > > > >>> def show(c): > > ... print "%r is 0x%2.2X" % (c, ord(c)) > > ... > > >>> show(raw_input()[0]) > > i >

Re: Is it bad style to override the built-in function `type`?

2012-11-24 Thread Michael Herrmann
Hi, how about "write" instead of "type"? Just came to me in a flash of inspiration. I know it's also pretty general but at least it's not a built-in! Thanks! Michael On Friday, November 23, 2012 11:30:18 PM UTC+1, Cameron Simpson wrote: > On 23Nov2012

Re: 10 sec poll - please reply!

2012-11-24 Thread Michael Herrmann
Hey, how about 'write' instead of 'enter'? write("Hello World!") write("Brick Lane", into="Street") This avoids the ambiguity of whether 'enter' ends by pressing ENTER or not. Thanks, Michael On Tuesday, Nove

Re: 10 sec poll - please reply!

2012-11-24 Thread Michael Herrmann
also be to use a context manager: with key_down(SHIFT): # some action... Cheers On Friday, November 23, 2012 11:11:34 PM UTC+1, Dennis Lee Bieber wrote: > On Thu, 22 Nov 2012 10:00:54 -0800 (PST), Michael Herrmann > > declaimed the following in > > gmane

Re: 10 sec poll - please reply!

2012-11-24 Thread Michael Herrmann
ou were just happily using `press` with the understanding that it presses and releases keys, so I hope this one isn't too bad. As I said, I opened a new thread solely for overriding `type` in the context of a GUI automation library: https://groups.google.com/forum/?fromgroups=#!topic/comp.lang.

Re: 10 sec poll - please reply!

2012-11-23 Thread Michael Herrmann
just how many people would have a problem with this. I know I'm really spamming this list and apologize. I promise it'll be over soon. Michael On Friday, November 23, 2012 5:43:08 PM UTC+1, Kwpolska wrote: > On Fri, Nov 23, 2012 at 2:42 PM, Michael Herrmann > > <...&g

Re: 10 sec poll - please reply!

2012-11-23 Thread Michael Herrmann
oogle.com/forum/?fromgroups=#!topic/comp.lang.python/GjZ2hAS1Wyk Thanks, Michael On Friday, November 23, 2012 10:08:06 AM UTC+1, Michael Herrmann wrote: > Hi Steven, > > > > On Friday, November 23, 2012 6:41:35 AM UTC+1, Steven D'Aprano wrote: > > > On Thu, 22 Nov

Re: 10 sec poll - please reply!

2012-11-23 Thread Michael Herrmann
"Hello World!") enter("test.txt", into="File name") Thanks, Michael On Thursday, November 22, 2012 7:00:55 PM UTC+1, Michael Herrmann wrote: > Dear all, > > > > thank you for your replies. After experimenting with your suggestions, we &

Re: 10 sec poll - please reply!

2012-11-22 Thread Michael Herrmann
But then again you might have people trying to `type(ALT + TAB)`, which in our current proposal can only be input using `press`... What do the others think about this? Cheers On Thursday, November 22, 2012 8:08:39 PM UTC+1, Chris Angelico wrote: > On Fri, Nov 23, 2012 at 5:00 AM, Micha

Re: 10 sec poll - please reply!

2012-11-22 Thread Michael Herrmann
e a ValueError if the user supplies a string that is longer than one character: >>> press("OK") ValueError: 'press' generates keystrokes and can only press single letters at a time. Did you maybe mean click("OK") or press('O', 'K

Re: 10 sec poll - please reply!

2012-11-21 Thread Michael Herrmann
Dear all, thanks so much for your replies. Based on your inputs, we have started to experiment with changes to our API. I hope to be able to present the results to you tomorrow. Thanks again, Michael On Tuesday, November 20, 2012 1:18:38 PM UTC+1, Michael Herrmann wrote: > Hi, > >

Re: 10 sec poll - please reply!

2012-11-20 Thread Michael Herrmann
parameter indicating the target. It would just be send_keys(ENTER) send_keys("Hello World!") send_keys(CTRL + 'a') Does that change your preference for 'send_keys'? Thanks a lot!!! On Tuesday, November 20, 2012 1:18:38 PM UTC+1, Michael Herrmann wrote

Re: 10 sec poll - please reply!

2012-11-20 Thread Michael Herrmann
P.S.: The website is back online; our hosting provider was having technical problems... On Tuesday, November 20, 2012 1:18:38 PM UTC+1, Michael Herrmann wrote: > Hi, > > > > I'm developing a GUI Automation library (http://www.getautoma.com) and am > having difficulty

Re: 10 sec poll - please reply!

2012-11-20 Thread Michael Herrmann
it might bother more experienced Python programmers who are used to a very different meaning of 'type'. Do you think that could be a problem? Thanks again to all who have replied, Michael On Tuesday, November 20, 2012 1:18:38 PM UTC+1, Michael Herrmann wrote: > Hi, >

10 sec poll - please reply!

2012-11-20 Thread Michael Herrmann
Hi, I'm developing a GUI Automation library (http://www.getautoma.com) and am having difficulty picking a name for the function that simulates key strokes. I currently have it as 'type' but that clashes with the built-in function. Example uses of 'type': type(ENTER) type("Hello World!") ty