Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
panflute is a Python package that makes creating Pandoc filters fun.
For a detailed user guide, documentation, and installation instructions, see http://scorreia.com/software/panflute/. For examples that you can use as starting points, check the examples repo, the sample template, or this github search. If you want to contribute, head here.
You might also find useful this presentation on how I use markdown+pandoc+panflute to write research papers (at the Banco de Portugal 2019 Workshop on Reproductible Research).
To manage panflute using pip, open the command line and run
pip install panflute
to install
pip install "panflute[extras]"
to include extra dependencies (yamlloader
)pip install -U panflute
to upgradepip uninstall panflute
to removeYou need a matching pandoc version for panflute to work flawlessly. See [Supported pandoc versions] for details. Or, use the [Conda] method to install below to have the pandoc version automatically managed for you.
To manage panflute with a matching pandoc version, open the command line and run
conda install -c conda-forge pandoc 'panflute>=2.0.5'
to install both
conda install -c conda-forge pandoc 'panflute>=2.0.5' yamlloader
to include extra dependenciesconda update pandoc panflute
to upgrade bothconda remove pandoc panflute
to remove bothYou may also replace conda
by mamba
, which is basically a drop-in replacement of the conda package manager. See mamba-org/mamba: The Fast Cross-Platform Package Manager for details.
panflute 1.12 or above dropped support of Python 2. When using Python 3, depending on your setup, you may need to use pip3
/python3
explicitly. If you need to use panflute in Python 2, install panflute 1.11.x or below.
Currently supported Python versions: . Check setup.py
for details, which further indicates support of pypy on top of CPython.
pandoc versioning semantics is MAJOR.MAJOR.MINOR.PATCH and panflute's is MAJOR.MINOR.PATCH. Below we shows matching versions of pandoc that panflute supports, in descending order. Only major version is shown as long as the minor versions doesn't matter.
panflute version | supported pandoc versions | supported pandoc API versions |
---|---|---|
2.3.1 | 2.11.0.4–3.1.x | 1.22–1.23 |
2.2.4 | 2.11.0.4–2.17.x | 1.22–1.22.1 |
2.1.x | 2.11.0.4—2.14.x | 1.22 |
2.0 | 2.11.0.4—2.11.x | 1.22 |
not supported | 2.10 | 1.21 |
1.12 | 2.7-2.9 | 1.17.5–1.20 |
Note: pandoc 2.10 is short lived and 2.11 has minor API changes comparing to that, mainly for fixing its shortcomings. Please avoid using pandoc 2.10.
After cloning the repo and opening the panflute folder, run
python setup.py install
to install the package locallypython setup.py develop
to install locally with a symlink so changes are automatically updatedFeel free to submit push requests. For consistency, code should comply with pep8 (as long as its reasonable), and with the style guides by @kennethreitz and google. Read more here.
BSD3 license (following pandocfilters
by @jgm).
2.3.0
Update Pandoc API from 1.22 to 1.23 (Pandoc 3.0):
Figure
block objectNull
block object (scheduled for removed)FAQs
Pythonic Pandoc filters
We found that panflute demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.