OpenNTI / sphinxcontrib-programoutput

Sphinx extension for capturing program output
BSD 3-Clause "New" or "Revised" License
37 stars 17 forks source link

sphinxcontrib-programoutput and sphinx-autorun #28

Open WhyNotHugo opened 6 years ago

WhyNotHugo commented 6 years ago

Hey! I'm the maintainer for sphinx-autorun, and it seems that we've quite a bit overlap. (Your docs seem to be far more complete though!)

I'm wondering if you're willing to discuss merging both packages into one single project, to avoid both duplicating efforts.

jamadden commented 6 years ago

sphinx-autorun looks like an interesting project! Thank you for bringing this up for discussion.

This project is constrained by backwards-compatibility requirements to maintain its existing name, directives, and output (there was a large enough group of existing users of this project that when it vanished from PyPI people got upset---that's when we took over maintenance and committed to keep it working). I wouldn't entirely rule out adding additional directives, but the association of what this project does is fairly strong, and I would imagine that people would be surprised to find (if they find) directives that deal with other things, like running doctest-like snippets, here. I suspect this project would be better off focusing on that area. (To me, the Unix philosophy of "Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new 'features'" seems to complement the Python Zen of "There should be one-- and preferably only one --obvious way to do it." UPDATE: I neglected to add: If there's a good way to implement the next part of the Unix philosophy, "Make programs work together", without adding too much coupling, that could be worth considering.)

WhyNotHugo commented 6 years ago

I agree mostly -- do one thing and do it well.

I guess it's just that how anyone defines "one thing" might vary. I'd actually though of this as "runs a code block and includes the output" (a bash code block), while sphinx-autorun does the same but has both "bash code blocks" and "python code block", so it's just the runner[s] that change.

I'm probably biased though because I first saw it from sphinx-autorun's point of view.