Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #28141 > unrolled thread

PipeController v0.1 - experimental tool to simulate simple UNIX-style pipes in Python

Started byvasudevram <vasudevram@gmail.com>
First post2012-08-30 14:57 -0700
Last post2012-09-02 13:56 -0700
Articles 4 — 2 participants

Back to article view | Back to comp.lang.python


Contents

  PipeController v0.1 - experimental tool to simulate simple UNIX-style pipes in Python vasudevram <vasudevram@gmail.com> - 2012-08-30 14:57 -0700
    Re: PipeController v0.1 - experimental tool to simulate simple UNIX-style pipes in Python Ramchandra Apte <maniandram01@gmail.com> - 2012-09-01 08:32 -0700
      Re: PipeController v0.1 - experimental tool to simulate simple UNIX-style pipes in Python vasudevram <vasudevram@gmail.com> - 2012-09-02 12:35 -0700
        Re: PipeController v0.1 - experimental tool to simulate simple UNIX-style pipes in Python vasudevram <vasudevram@gmail.com> - 2012-09-02 13:56 -0700

#28141 — PipeController v0.1 - experimental tool to simulate simple UNIX-style pipes in Python

Fromvasudevram <vasudevram@gmail.com>
Date2012-08-30 14:57 -0700
SubjectPipeController v0.1 - experimental tool to simulate simple UNIX-style pipes in Python
Message-ID<229067cc-dee6-4f0c-bcf2-c30f20b4a9be@googlegroups.com>
I wrote PipeController recently to experiment with doing UNIX-style pipes in Python.

Blog post about it:

http://jugad2.blogspot.in/2012/08/pipecontroller-v01-released-simulating.html

The blog post has a link to the downloadable PipeController source code.

It will be released under the New BSD License, which means you can use it for any purpose, commercial or otherwise, subject to the terms of the license.

- Vasudev Ram
www.dancingbison.com
jugad2.blogspot.com
twitter.com/vasudevram

[toc] | [next] | [standalone]


#28215

FromRamchandra Apte <maniandram01@gmail.com>
Date2012-09-01 08:32 -0700
Message-ID<58eb1290-dbdc-4b89-b03f-d4efd125a132@googlegroups.com>
In reply to#28141
On Friday, 31 August 2012 03:27:54 UTC+5:30, vasudevram  wrote:
> I wrote PipeController recently to experiment with doing UNIX-style pipes in Python.
> 
> 
> 
> Blog post about it:
> 
> 
> 
> http://jugad2.blogspot.in/2012/08/pipecontroller-v01-released-simulating.html
> 
> 
> 
> The blog post has a link to the downloadable PipeController source code.
> 
> 
> 
> It will be released under the New BSD License, which means you can use it for any purpose, commercial or otherwise, subject to the terms of the license.
> 
> 
> 
> - Vasudev Ram
> 
> www.dancingbison.com
> 
> jugad2.blogspot.com
> 
> twitter.com/vasudevram

Doesn't the pipes module already do this?

[toc] | [prev] | [next] | [standalone]


#28300

Fromvasudevram <vasudevram@gmail.com>
Date2012-09-02 12:35 -0700
Message-ID<97cb2e8e-1b62-4096-a0af-6aa8fae2d1e8@googlegroups.com>
In reply to#28215
On Saturday, September 1, 2012 9:02:33 PM UTC+5:30, Ramchandra Apte wrote:
> On Friday, 31 August 2012 03:27:54 UTC+5:30, vasudevram  wrote:
> 
> > I wrote PipeController recently to experiment with doing UNIX-style pipes in Python.
> 
> 
> Doesn't the pipes module already do this?

Yes. As Ian Kelly points out here:

http://www.mail-archive.com/python-list@python.org/msg335943.html

the pipes module of Python does deal with actual UNIX pipes.

But I had mentioned this - Python's pipes module - in my first post, some months ago, about doing UNIX-pipes in Python ( on my blog, here: http://jugad2.blogspot.in/2011/09/some-ways-of-doing-unix-style-pipes-in.html ), and that first post was in turn linked to, in the current post under discussion ( i.e. this one: http://jugad2.blogspot.in/2012/08/pipecontroller-v01-released-simulating.html ).

To Ian Kelly:

> No, that deals with actual Unix pipes. This appears to be about pipelined
> processing within a single program and not IPC; the description "Unix-like"
> is a bit misleading, IMO.

I guess it can be interpreted as a bit misleading, but it was not intentionally so. The way I meant it was that PipeController tries to achieve _roughly_ similar functionality, of composing a program out of components, as UNIX pipes do. (That too, only a small subset, as I mention in my blog post). In the case of UNIX the components are commands, in the case of my Python approach the components are functions. Also, I used the term "UNIX-style pipes", not "UNIX pipes", to stress that it was the overall concept of a pipeline that was being simulated, not the exact design / implementation details, and you can also notice that my first post has links to many different third-party ways of simulating UNIX-pipes in Python, some of which are not like actual UNIX pipes at all, in their implementation. But I agree that your description of PipeController as "pipelined processing within a single program" is more accurate.

I could have used a better choice of words but there was no intention to mislead.

- Vasudev Ram
www.dancingbison.com
jugad2.blogspot.com







[toc] | [prev] | [next] | [standalone]


#28319

Fromvasudevram <vasudevram@gmail.com>
Date2012-09-02 13:56 -0700
Message-ID<fa863fb0-0c05-4901-ad65-cb98e8efe3f8@googlegroups.com>
In reply to#28300
On Monday, September 3, 2012 1:05:03 AM UTC+5:30, vasudevram wrote:
> 
> To Ian Kelly:
> > No, that deals with actual Unix pipes. This appears to be about pipelined
> > processing within a single program and not IPC; the description "Unix-like"
> > is a bit misleading, IMO.

> I guess it can be interpreted as a bit misleading, but it was not intentionally so. The way I meant it was that PipeController tries to achieve _roughly_ similar functionality, of composing a program out of components, as UNIX pipes do. 

To Ian again:

Also, I used the word "synchronous" somewhat deliberately  (see in my blog post: "PipeController is a tool to experiment with a simple, sequential, synchronous simulation of UNIX-style pipes in Python.").

I used the word synchronous to indicate that my PipeController implementation runs the functions one after another (for each item in the input), in contrast to actual Unix pipes, where the different commands in a pipeline can, and IIRC, do, run in parallel / asynchronously, with their IPC being coordinated / managed by the kernel and shell.

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web