5 ms·
Piep: bringing the power of python to stream editing
- gfxmonk 15y agoIt's inspired by a similar tool called `pyp`, which I considered extending but ended up going my own route instead. Here's some more information on why: http://gfxmonk.net/2012/03/28/why-piep.html http://gfxmonk.net/2012/03/28/why-piep.html
- geophile 15y agoAlong similar lines: http://geophile.com/osh http://geophile.com/osh
- gfxmonk 15y agosomewhat, although that seems fairly heavily geared towards clusters of machines, which I've not really tried to address with piep. I've used gnu-parallel and cluster-ssh in the past for that sort of thing, though I'd likely prefer a pythonic way of doing it.
- cibot 15y agoIts sad that the author strongly discourages using pip to install the package.
- gfxmonk 15y agoWhy is that sad? Because it goes against python community norms, or some other reason?
- cibot 15y agoYep. Now i need to go after another packaging tool to try it out. Well not a big deal.. However imho it would be awesome if everyone stick with the standard tools.
- gfxmonk 15y agoYou absolutely can use `pip`, if you want. I made sure of that (or at least tested it once), because I know it's widely used and convenient. But I personally think it's a terrible way to install and distribute software, and would love for more people to try Zero Install, because I think it's the way that software ought to be distributed.
- cibot 15y agoHavent tried it yet. Will definitely read up on zero install.
- berntb 15y agoWhy not just bite the bullet and add optional {}:s to Python instead, so you don't have to learn a tool just to get normal command line (/oneliner) usability? The total sum of complexity to learn/use would be about the same (and Python would get multi instruction anon funs.)
- icebraining 15y agoPython one-liners are already possible using ; python -c 'import sys; a = int(sys.stdin.readline())) ; print(range(a))' EDIT: Not that I'm saying piep is useless; far from it, it seems very interesting. I'm saying that optional {}s wouldn't solve the problem that piep is trying to solve.
- berntb 15y agoYes, but my point was: How do you add an if to that Python code... or anything else dependent on Python indentation? Another example: map {} is better than having to learn weird single instruction variants like list comprehensions. And so on. In this case, it is easy to have a shell alias that loads a module and executes its parameter in any other language. Then you have any piep functionality not already built in. Ergo, no need for extra things to learn, in those languages.
- michaelmior 15y agoYou add an if using the ternary style syntax. i.e. "if foo then bar else baz". I think that's sufficient for what piep is trying to do. I can't imagine trying to do anything else with indentation that couldn't be accomplished with list comprehensions.
- berntb 15y agoSigh, do people really don't want to see that full support for one liners (not to mention anon funs of > 1 instruction) is a feature?! :-(
- michaelmior 15y ago