| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| papis-0.15.0-py3-none-any.whl | 2026-02-08 | 293.2 kB | |
| papis-0.15.0.tar.gz | 2026-02-08 | 1.2 MB | |
| README.md | 2026-02-08 | 5.1 kB | |
| Version v0.15.0 source code.tar.gz | 2026-02-08 | 1.3 MB | |
| Version v0.15.0 source code.zip | 2026-02-08 | 1.5 MB | |
| Totals: 5 Items | 4.3 MB | 0 | |
Dependency Changes
- Minimum required Python version bumped to 3.10.
- Added support for Python 3.14. Previous versions would fail on this version due to some less orthodox use of the
multiprocessingmodule. In older versions, the issue in question can be worked around by exportingPAPIS_NP=0or usingpapis --np 0, which essentially ignoresmultiprocessing. - The stevedore library is no longer used for plugin management (switched to
importlib.metadata). - The citeproc-py library is now required for CSL exporter support.
- All linting has been migrated from
flake8toruff. This is only relevant for development.
Features
Major: Improved formatter support (#711)
Papis supports formatter plugins that act on certain configuration settings that can depend on the current document. Until now, when changing from one formatter to another, all settings needed to be rewritten (including default ones, since they used the python formatter).
It is now possible to use the following syntax to set the formatter per configuration key
:::ini
[settings]
ref-format.jinja2 = {{ doc.author_list | slice(3) | join("", attribute="family") }}{{ doc.year }}
The syntax is always key[.formatter]. The format patterns are searched alphabetically and the last one is picked, i.e. if both key.python and key.jinja2 are provided, the python version will be chosen regardless of the order in the configuration file. If no formatter is provided for a format
pattern of this type, then it will fall back to the default formatter set by the formatter setting. All default settings are now clearly marked as using the python formatter, so they no longer need to be rewritten when changing formatters.
Major: Support for CSL citation export (#976)
A new exporter has been added that supports the popular CSL (Citation Style Language) through the citeproc-py library. Not all styles are supported, but we hope that this will quickly improve.
The citation style can be set in the configuration file using
:::ini
csl-style = "harvard1"
csl-formatter = "plain"
or on the command-line as
:::bash
papis --set csl-style harvard1 export --format csl <QUERY>
Other noteworthy features
- Use the current directory as a "default-library" if configured (#979).
- Improve abstract cleanup in
papis doctor(#1008). - Remove the
dissem.inimporter as it is out of service (#1015). - Improve scraping page information from Google Scholar tags (#1022).
- Improve scraping page information for APS journals (#1025).
- Allow overwriting files on
papis export --out FILENAME(#1036). - Add shell completions for libraries on
papis --lib <TAB>(#1039). - Update USENIX downloader to bypass cloudflare if possible (#1045).
- Add a
papis doctorcheck that renames BibLaTeX keys (biblatex-key-convert) (#1049). - Add a
papis doctorcheck to clean up strings (string-cleaner) (#1053). - Make more imports local or lazy to improve startup times (#1054).
- Add a lingbuzz downloader (#1100).
- Add a
--batchflag topapis bibtex import(#1105). - Add shell completions for queries, e.g.
papis edit ein<TAB>(#1112). - Allow colons in the
ref-format(#1135).
Bug Fixes
- Fix crash on
papis cache resetwhen usingwhoosh(#977). - Fix crash on a faulty
noteskey in theinfo.yamlfile (#1026). - Fix lack of colors in
fzfpicker (#1028). - Fix passing URLs to
papis addto --url URL(#1034). - Fix crash in
typstexporter for unknown document parent types (#1035). - Allow the "-" (minus) in file names and other strings (#1048).
- Fix
papis gitcommand with click 8.3.0 (#1077). - Allow missing author name in the doctor
string-cleanercheck (#1133).