On Fri, Sep 19, 2014 at 12:20 AM, Andrew Barnert <abarnert@yahoo.com.dmarc.invalid> wrote:
On Sep 18, 2014, at 11:26, Paul Moore <p.f.moore@gmail.com> wrote:
> OK, the key thing to look at here is the user experience for someone
> who has Python installed, and has a job to do, but needs to branch out
> into external packages because the stdlib doesn't provide enough
> functionality.
> To make this example concrete, I'll focus on a specific use case,
> which I believe is relatively common, although I can't back this up
> with hard data.
> Assume:
> * A user who is comfortable with Python, or with scripting languages in general
> * No licensing or connectivity issues to worry about
> * An existing manual process that the user wants to automate
> In my line of work, this constitutes the vast bulk of Python use -
> informal, simple automation scripts.
> So I'm writing this script, and I discover I need to do something that
> the stdlib doesn't cover, but I feel like it should be available "out
> there", and it's sufficiently fiddly that I'd prefer not to write it
> myself. Examples I've come across in the past:
> * A console progress bar
> * Scraping some data off a web page
> * Writing data into an Excel spreadsheet with formatting
> * Querying an Oracle database
> Every time an issue like this comes up, I know that I'm looking to do
> "pip install XXX". It's working out what XXX is that's the problem.
> So I go and ask Google.

Hold on. I'm pretty sure that the intended answer to this problem has, for years, been that you go and search PyPI. Is that too broken to use, or are people just not aware of it?

In addition to the issues others have brought up, this is only useful if you are trying to get a subject specific tools that incorporates a whole range of general tools on that subject.  So if you are looking for something like scipy, django, requests, etc. 

However, what if you are looking for something much more specific?  For example, say I have some specific thing I want to do with a dict.  How can I find a library that provides that functionality?