head to head · open source
papermill vs substance
papermill has 6,498 GitHub stars, 465 forks, 196 open issues and last shipped 1 months ago. substance has 2,737 stars, 121 forks, 41 open issues and last shipped 7 months ago. papermill leads on adoption by 137% (6,498 vs 2,737 stars). papermill is written in Python under BSD-3-Clause; substance is written in JavaScript under MIT. papermill has attracted 7% as many forks as stars, substance 4%. papermill was the more recently maintained of the two, and both are self-hostable with no licence fee. The two share 1 topic tag (publishing), so they are genuine substitutes rather than adjacent tools.
Two open source projects, one decision. Both are free and self-hostable — the differences are community size, license terms, language stack and release pace.
← all 20902 open source comparisons
Side by side
| papermill | substance | |
|---|---|---|
| GitHub stars | ★ 6.5K | ★ 2.7K |
| License | BSD-3-Clause | MIT |
| Written in | Python | JavaScript |
| Last push | 2026-10-05 | 2026-04-02 |
| Forks | ⑂ 465 | ⑂ 121 |
| Self-hosting | Yes | Yes |
| Data ownership | Your server | Your server |
pick papermill if
- You weight community size — 6.5K stars and counting
- You want the BSD-3-Clause license terms
- Your stack matches Python
- You value the larger contributor base for long-term maintenance
pick substance if
- You want the substance feature set and don't need the biggest community
- You prefer the MIT license terms
- Your stack matches JavaScript
- You evaluated both and substance fits your workflow better
About papermill
papermill is a tool for parameterizing, executing, and analyzing Jupyter Notebooks. Papermill lets you: parameterize notebooks execute notebooks This opens up new opportunities for how notebooks can be used. For example: Perhaps you have a financial report that you wish to run with different values on the first or last day of a month or at the beginning or end of the year, using parameters makes this task easier. Do you want to run a notebook and depending on its results, choose a particular notebook to run next? You can now programmatically execute a workflow without having to copy and paste from notebook to…
read the full papermill overview →
About substance
Substance.js Substance is a JavaScript library for web based content editing. It provides building blocks for realizing custom text editors and web based publishing system. It is developed to power our online editing platform Substance. Development Install the dev dependencies. Run the dev server. Navigate to for the running the browser test suite. The test suite is rebuilt as you make changes to the source files. To run the test suite headless.
read the full substance overview →
More in Content & Publishing
Related comparisons
More Publishing projects
Compare either of these against the rest of the Publishing field.
Frequently asked questions
Is papermill or substance more popular?
papermill has 6,498 GitHub stars and substance has 2,737. papermill has the larger community by that measure.
Are papermill and substance free?
Both are open source. papermill is licensed under BSD-3-Clause and substance under MIT. Neither carries a licence fee.
What is the difference between papermill and substance?
papermill is written in Python and substance in JavaScript. The practical differences are community size, licence terms, language stack and release cadence — all compared in the table above.
Which should I choose, papermill or substance?
Choose papermill if you want the larger community (6,498 stars) or its BSD-3-Clause licence terms. Choose substance if its feature set, stack or MIT licence fits better. Both are self-hostable.