Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'd love to hear some feedback...



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?

What does this package do that isn't done by click, docopt, or argparse?


>> 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.


Thanks for the comments, I just added another motivating example right at the top of the README. Is it clearer now?


Not in the slightest. I still have no idea what this has to do with experiments.


Ok, I gave the motivating example another shot... not sure if it helps, but please let me know if you have any suggestions.


Thanks for the feedback. I will try to improve the example and make it more "experimental".


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.


Thanks, I'll try to rephrase the readme...


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.

## Installation ...


Thanks for the suggestion, I'll try to put more examples in the readme.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: