Installation
PaperPush requires Python 3.10 or newer.
Install from PyPI
pip install paperpush
PaperPush drives submission portals with a real browser via Playwright. After installing the package, install the browser binaries once:
playwright install
Optional extras
Some features need extra dependencies, declared as optional extras:
autofillAdds the Anthropic, OpenAI, and Google (
google-genai) SDKs, used bypaperpush autofill --engine apito extract submission fields with an LLM. To install only the provider you use, pickautofill-anthropic,autofill-openai, orautofill-googleinstead.pip install "paperpush[autofill]" # all three providers pip install "paperpush[autofill-openai]" # just OpenAI
validateOptional extras for
validate:pdfminer.six, which reads PDFs glyph by glyph (colour, render mode, position) for two checks: hidden text / prompt injection and the modified-template check. Without it those checks skip PDFs andvalidateprints a warning saying so. Recommended if you submit to conferences.arxiv_latex_cleaner, whichvalidate --arxiv-latex-cleanerruns on your LaTeX source before checking it.
pip install "paperpush[validate]"
devTest and lint tooling (
pytest,bandit,black,jsonschema, and friends) for contributing to PaperPush. Includespdfminer.sixandarxiv_latex_cleanerso the PDF and cleaner tests run.pip install "paperpush[dev]"
Install from source
For local development, clone the repository and install in editable mode:
git clone https://github.com/pachterlab/paperpush.git
cd paperpush
pip install -e ".[dev]"
playwright install
If you plan to contribute, enable the project git hooks:
git config core.hooksPath .githooks
Verify the install
paperpush --version
paperpush --venues
--venues prints every supported venue with its slug. See
Supported venues for the full list.