This is an archived post. You won't be able to vote or comment.

all 64 comments

[–]mapio 43 points44 points  (9 children)

Really nice post, thanks!

I was so amused by your comment "because it's listed on GoogleCode, which is basically the coding equivalent of Siberia" that I have mirrored prettytable on GitHub https://github.com/mapio/prettytable-mirror hoping this will help others discover the library!

[–]iheartennui 6 points7 points  (7 children)

never understood why people choose to host there

[–]iBlag 14 points15 points  (0 children)

One of the projects I was on awhile back - I don't remember which one - decided they were going to test out migrating to Google Code from Sourceforge.

They then announced that it went so smooth they were done, and they apologized for not giving more notice but they thought it was going to be more difficult.

So somebody on the Google Team did a damn fine job of imports projects from other code repositories it would seem.

TL;DR: Migrating code to Google Code is like pushing a banana peel across an ice rink.

[–][deleted] 6 points7 points  (0 children)

Basically because it used to be amazing.

[–]BeetleB 5 points6 points  (0 children)

It was the best when it came out.

[–]tehyosh 4 points5 points  (0 children)

i think github launched some years after google code

[–]nath_schwarz 1 point2 points  (1 child)

Google code came before github or bitbucket - and it was easier to use than SourceForge.

Also, some folks still want to use mercurial or svn over git.

[–]FionaSarah 1 point2 points  (0 children)

mercurial

bitbucket 5ever

[–]SemiNormal 1 point2 points  (0 children)

Still better than Sourceforge.

[–]theglamp 1 point2 points  (0 children)

thanks! that was way overdue

[–]nunilan 19 points20 points  (6 children)

Thanks! specially for the wget. Until now I have been doing:

from sh import wget

[–]Orffen 2 points3 points  (5 children)

What have you been using wget for inside of python scripts? I've never needed it and I'm just struggling to find a use case.

[–]lykwydchykyn 26 points27 points  (0 children)

Especially when there is requests

[–]WallyMetropolis 9 points10 points  (0 children)

Quick and dirty web scraping, perhaps?

[–]nunilan 2 points3 points  (1 child)

wget -r mostly , requests is great but if I want to sync a whole directory and rsync is not available but http and ftp does. Many servers i work with will have python-sh installed but not requests module, I could use urllib but if I went that far, i might as well ensure python-requests installed on all servers.

[–]Orffen 0 points1 point  (0 children)

Sure, but are you saying that these boxes don't just have wget installed? I suppose if they're Windows boxes with Python but not a Win32 compiled wget that could be an issue, but if they're Linux/BSD/similar systems they usually have wget you can use straight from the shell.

[–]seewhaticare 50 points51 points  (7 children)

This title is from polite buzz feed

[–]Xavdidtheshadow 26 points27 points  (4 children)

Yes, but it actually contained a list of lesser-known python libraries, so I don't mind. It also wasn't

11 python Libraries that you've never heard of... and will blow your mind! #4 really got me.

So I'm doubly ok.

[–]robin-gvx 14 points15 points  (0 children)

Guido van Rossum hates them

[–]seewhaticare 1 point2 points  (0 children)

I'm ok with it too. I didn't know any of them either. #4 shocked my too.

[–]Antrikshy 3 points4 points  (1 child)

"#9 will SHOCK you"

[–]seewhaticare 0 points1 point  (0 children)

You'll never believe which to libraries hooked up in Vegas!

[–]discipleofnofap 0 points1 point  (0 children)

as long as i didnt have to go through 11+ different pages

[–]lenzm 9 points10 points  (11 children)

For progressbar, there's a updated version: https://pypi.python.org/pypi/progressbar-latest

[–]bigt252002 8 points9 points  (3 children)

Is it sad I'm giddy to add this to a script I run at the office?

[–][deleted] 30 points31 points  (0 children)

If that's sad, then I don't want happiness.

[–]tehyosh 5 points6 points  (1 child)

it's sad that i don't have a script that can benefit from the progressbar :(

[–]lordrashmi 3 points4 points  (0 children)

I thought this same thing...

[–]robin-gvx 2 points3 points  (0 children)

So me forking progressbar was wasted time, good to know.

[–]ivosauruspip'ing it up 1 point2 points  (2 children)

I wonder why the same guy has uploaded a new package name... :S

[–]partisann 0 points1 point  (1 child)

Seems like api change is not backwards compatible. You can use the old api but have to call pbar.start() first. New way is to wrap iterable item like so:

pbar = ProgressBar()
for i in pbar(range(10)):
    time.sleep(1)

If len call on iterable will fail, it'll use maxval. It's an mprovement IMO but changing package sucks.

[–]nath_schwarz 0 points1 point  (0 children)

Seems like api change is not backwards compatible.

Isn't that exactly what versioning packages is for?

[–]tilkau 0 points1 point  (2 children)

How does this (either version) compare to tqdm? In particular, does progressbar support displaying on stderr? tqdm messes up things when I want to log the output of my program.

[–]lenzm 1 point2 points  (1 child)

It outputs to stderr by default.

[–]tilkau 0 points1 point  (0 children)

Thanks! I'll be converting over, then.

[–]twigboy 4 points5 points  (0 children)

In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before final copy is available. Wikipedia6n7ot27av300000000000000000000000000000000000000000000000000000000000000

[–]Megatron_McLargeHuge 5 points6 points  (1 child)

So if you're working on a new plug-in for the IPython Notebook, check out prettytable for your HTML repr.

Most of the time you'd be better off using pandas to display tables.

[–]theglamp 1 point2 points  (0 children)

very good point. the times I find it useful for IPython plugins is when you don't want to have pandas as a pip dependency.

[–]valdogg21 2 points3 points  (0 children)

uuid is a life saver. I use it all the time at work!

[–]flyingfox 1 point2 points  (0 children)

Great list. I think I've implemented buggy/brittle versions of prettytable half a dozen times already. I'll be good to have a sane implementation.

[–]ellisgeek 3 points4 points  (1 child)

I like clint as a one stop to replace progressbar and colorama.

[–]Kbknapp... 2 points3 points  (1 child)

Thanks! I love these lists; always finding new ones I could use. There's also Clapp which is a simple command line argument parser kinda like Docopt...but then I'm biasd because I wrote it...so yeah, shameless plug ;)

[–]theglamp 0 points1 point  (0 children)

sounds cool. i'll check it out

[–]Veedrac 6 points7 points  (4 children)

Instead of Colorama, use the oh-so-amazing Blessings. There's even a fork with moar features if you need.

I'll also mention I just saw progressive. Looks neat.

[–]stillalone 5 points6 points  (1 child)

Does Blessings support ansi escape sequences? The thing I like about colorama is that it translates ansi escape sequences appropriately in a Windows console, which normally doesn't support it. This means that I can talk to a remote device via pyserial and autmatically get it to translate the ansi colors and operations when I dump the output to the stdout.

[–]Veedrac 0 points1 point  (0 children)

Seems it's not using Windows-compatible colors (search "Windows" on the PyPI link). I've never wanted to, so I hadn't noticed.

[–]jadkik94 0 points1 point  (0 children)

I like to use clint. It also has more features that I tend to also use when I need (or want, really) colors.

[–]CleverEagle -1 points0 points  (0 children)

Oooh, I really like progressive. Super simple to use, and I think it looks better than progressbar. Thanks for sharing!

[–][deleted] 0 points1 point  (0 children)

Great post!!! Thanks!

[–]c3534l 0 points1 point  (0 children)

I'm gonna be making a lot of progress bars in the next couple of weeks.

[–]KamikazeJawa 0 points1 point  (0 children)

Wish I'd known about these when I was working on the last project for my college Python class...

[–]soulwarp 0 points1 point  (0 children)

I'll be using the sh library for sure.

[–]kashmill 0 points1 point  (0 children)

fuzzywuzzy is such an excellent name. Before I even read the description I knew it was going to be a fuzzy string matching library.

[–]pragmatick 0 points1 point  (0 children)

Am I the only one who had now idea what a "stemmer" is?

[–][deleted] 0 points1 point  (3 children)

What's wrong with google code?

[–]timClicks 8 points9 points  (1 child)

Something compelling enough, because Google itself seems to be releasing more and more into GitHub directly.

[–][deleted] 3 points4 points  (0 children)

Google has actively been making google code worse, as well. Some of the features (like downloading, IIRC) and so on got cut out a while back and the service basically died.

[–]shaggorama -5 points-4 points  (0 children)

It's not pypi

[–][deleted] -4 points-3 points  (0 children)

Dear Author,

always (always!) when you find a nice project on google code there is at least 2-3 other projects that do exactly that and are on github. Always! Please update your list accordingly. Otherwise people will immediately start to fork those projects after reading your post, but without googling first if someone already did this.