paper2mdviallm
paper2mdviallm is a Python CLI for converting digital academic PDFs into
Obsidian-friendly Markdown.
It is the external conversion backend used by the Scholia Obsidian plugin, but it can also be installed and run on its own.
Install
When paper2mdviallm is published to PyPI, install it into a dedicated environment:
conda create -n scholia python=3.11
conda activate scholia
pip install paper2mdviallm
For local development from this repository:
python -m venv .venv
.venv/bin/pip install -r requirements-dev.txt
.venv/bin/pip install -e .
Requirements
- Python 3.10+
- An OpenAI or Anthropic API key
- Digital PDFs with a text layer
The CLI reads API keys from the environment:
OPENAI_API_KEYANTHROPIC_API_KEY
Usage
Inspect a PDF before conversion:
paper2mdviallm inspect paper.pdf
Convert a PDF to Markdown:
paper2mdviallm convert paper.pdf -o out/
Override the model or concurrency when needed:
paper2mdviallm convert paper.pdf -o out/ --model claude-sonnet-4-6 --concurrency 3
With Scholia
After installing into a conda environment, point Scholia at either:
- the environment root, such as
/Users/me/miniconda3/envs/scholia, or - the concrete executable, such as
/Users/me/miniconda3/envs/scholia/bin/paper2mdviallm
Scholia resolves the binary and executes it directly.
Development
Run tests:
python -m pytest tests
Bootstrap from the repo root:
tools/paper2mdviallm/bootstrap.sh
Boundaries
- The current target is digital PDFs, not OCR-heavy scanned documents.
- Formula-heavy papers still need manual inspection after conversion.
- The output is optimized for Obsidian reading workflows rather than general document fidelity.
Metadata
Release files for paper2mdviallm 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| paper2mdviallm-0.1.0.tar.gz | 16.6 kB | Without provenance | Details for paper2mdviallm-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| paper2mdviallm-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for paper2mdviallm-0.1.0-py3-none-any.whl |
Total release size: 34.0 kB
Release files / paper2mdviallm-0.1.0.tar.gz
| Download URL | paper2mdviallm-0.1.0.tar.gz |
|---|---|
| Size | 16.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9bb96a91656e64f837dd1e1789eb4064416fafb04378d5b6549930b2a9ad6e9f
|
|
BLAKE2b-256 checksum How to use checksums |
3cdd443b9cfbfe79f4677a75ac26d913fd1de19668a7a26627f596e5d73b9179
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.5
|
Release files / paper2mdviallm-0.1.0-py3-none-any.whl
| Download URL | paper2mdviallm-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6d28dc9c871f836a9af191df3f100125293fed16bf267cca5930d1a2407b6ee
|
|
BLAKE2b-256 checksum How to use checksums |
db8d5300ddd7371b290335b98828e0a34daf0638bd7d2e068bd758ed48c804c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.5
|
Security for paper2mdviallm 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.