mpastell / Pweave

Pweave is a scientific report generator and a literate programming tool for Python. It can capture the results and plots from data analysis and works well with numpy, scipy and matplotlib.
http://mpastell.com/pweave
Other
435 stars 64 forks source link

Is the project still active? #161

Open erelsgl opened 3 years ago

erelsgl commented 3 years ago

Because the Readme shows "error".

contactzen commented 2 years ago

Try zen-knit. It is inspired by this project

mauro3 commented 2 years ago

I just saw this https://github.com/mwouts/jupytext. However, I have not tried it, so I cannot vouch for it.

phlummox commented 1 year ago

Looks like the last commit by the author, @mpastell, was around 5 years ago –

and the last commit by any maintainer was by @abukaj around 4 years ago (as at 2023) –

@mpastell is still active on GitHub (e.g. at https://github.com/TwinYields/TwinYields), but not in this repository, so I guess it's abandonware :/

Alternatives

Some alternatives I found or that have been mentioned:

Literate programming-related projects

Some somewhat-related programs, in the "literate programming" space:

Pandoc

Also, there's Pandoc, the mammoth in the document-conversion space, which is designed to let you convert between any number of document formats – but one feature is that it lets you specify filters, plugins written in Haskell, Python, or a bunch of other languages which let you operate in arbitrary ways on Pandoc's internal representation of a document.

There are all sorts of published filters, which let you do things like insert diagrams written in Mermaid syntax, improve the way Pandoc handles numbering, cross references, and bibliographic references. A filter to "Find all code blocks with class python and run them using the python interpreter, printing the results to the console" is left as an exercise of the reader, though I'm sure there's a published equivalent somewhere.

In theory, all of this sounds awesome and ideal, and should let you do absolutely anything you want with almost any sort of document. In practice, I've found it kind of irritating for small, ad-hoc projects, because you (a) you need to install multiple tools – Pandoc and the appropriate filters, and (b) you need to keep any filters you use in lockstep with the version of Pandoc you're using, or they'll disagree about the AST they're working with and produce runtime errors. For a major project, that's fine, versioning the tools you use is just part of the job, but for small, ad hoc projects, I want just one tool which I can install, which does just one thing (execute code blocks), and which changes pretty conservatively (so I don't have to re-learn how to do stuff). But YMMV.

Other potentially useful links

Other links that might be of interest:

[^www]: Launched on 25 March 1995 by programmer Ward Cunningham, according to Wikipedia.

erelsgl commented 1 year ago

Thanks a lot for the detailed survey!

amichuda commented 1 year ago

I would also check out quarto, the successor to rmarkdown, which integrates python really well:

https://quarto.org/

phlummox commented 1 year ago

Thanks a lot for the detailed survey!

No problem :) I once again am in need of a tool in the Python-report-generator space, so thought I'd add my findings here.