I...I really don't understand what the primary use-cases are for this library. By "experiment", do you mean some kind of scientific experiment? A double-blind study on file input? That...doesn't make a whole lot of sense, but that's the closest thing that I can glean from a skim of the first documentation page that makes any sense at all...
Motivating Example
Let’s assume we need to write a quick and clean script that
reads a couple of files with time series data and computes
the average value. We also want to generate a plot of the
data.
That...provides no motivation whatsoever. If I want to do that, I'll use Pandas and matplotlib. This example sheds absolutely no light on what pyexperiment does or why I would want to use it.
Pandas and matplotlib are great, I use them all the time.
Yet whenever I write a python script for such experiments, beyond some point, I find myself writing code that parses command line arguments, handles simple configuration options, saves the results of my computation in a shareable way, etc.
Pyexperiment collects these bits and pieces into a library where I can just write the relevant stuff - it's mainly solving my own pain-point and I thought I could share it.
>> So...it's for configuration management? What do >> "experiments" have to do with this?
Yes and no, pyexperiment handles configuration management for you (by using argparse and configobj etc.), but it's main point is that it saves you from having to set up these components. My main goal was to reduce the overhead of writing the same "framework" code every time, so pyexperiment sets you up with simple one-command solutions for many common tasks.
>> What does this package do that isn't done by click,
>> docopt, or argparse?
It will set you up with a framework where e.g., you don't have to write the same boilerplate code to get a multiprocessing cabable logger that logs to a file. You just call log.debug("bla") and that's it.
I think most people would refer to this as a "boilerplate" or "project template", even if it is not exactly so. You may have more luck explaining it to people using these terms.
Thank you for releasing this. I'll be trying it later today. The badges are very enticing :).
This project is in a crowded space (Python frameworks), and your README isn't selling it well. It's too heavy on the tell, and too light on the show. Ideally your opening section would be something like.
## pyexperiment
<badges>
pyexperiment is ... <1 line, maximum 2>. Here's an example:
<less than 10 lines of python>
Here's the result of running that command, complete with <top 3 features>
<less than 10 lines of command output>
Additionally pyexperiment gives you <another 3 features>, and more.