Skip to main content

LLM-powered PDF academic paper summarizer with LaTeX output

Project description

pysearchlm

LLM-powered library that analyses academic PDF papers via Google Gemini URL Context and produces a comprehensive LaTeX technical summary.

Features

  • 🧠 Gemini 2.5-pro integration (URL Context, no downloading)
  • 📝 LaTeX output with academic package suggestions
  • 🌍 Multi-language summaries (tr, en, fr, de, es, it, nl, pt, ru)
  • ⚙️ Modular codebase (core/, utils/)
  • 🚀 Minimal usage examples (examples/)

Installation

pip install -r requirements.txt

Set your API key:

# Windows PowerShell
$env:GEMINI_API_KEY="YOUR_API_KEY"

# macOS / Linux
export GEMINI_API_KEY="YOUR_API_KEY"

# or via .env
echo "GEMINI_API_KEY=YOUR_API_KEY" > .env

Basic Usage

from pysearchlm import PDFAnalyzer

url = "https://arxiv.org/pdf/1706.03762.pdf"
ana = PDFAnalyzer()
res = ana.analyze_pdf(url, language="en")
print(res["latex_file"]["path"]) if res["success"] else print(res["error"])

Batch Analysis

urls = [
    "https://arxiv.org/pdf/1706.03762.pdf",
    "https://arxiv.org/pdf/1810.04805.pdf"
]
ana = PDFAnalyzer()
results = ana.analyze_multiple_pdfs(urls, language="en")
print("Success", results["successful"], "/", results["total_pdfs"])

Structure

core/   # Gemini client, PDF URL handler, LaTeX generator
utils/  # Config & helpers
examples/  # Minimal demos
pysearchlm.py  # Main API class

Notes

  • PDF is not downloaded; Gemini reads it directly via URL.
  • LaTeX files are stored in output/.
  • Make sure GEMINI_API_KEY is defined, otherwise the analyzer raises an error at startup.

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysearchlm-1.0.1.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysearchlm-1.0.1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file pysearchlm-1.0.1.tar.gz.

File metadata

  • Download URL: pysearchlm-1.0.1.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for pysearchlm-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1fe94a9f13b54f90978b2ce125a7d96877a55f7d079f196c3c40dad162d274e8
MD5 256a9ccaad8af2b6870e58538ffa7513
BLAKE2b-256 3d2355de60f16b117eeebd1bcedcd0d3b7214c77a0f857da870948ff276db27e

See more details on using hashes here.

File details

Details for the file pysearchlm-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pysearchlm-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for pysearchlm-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4e589a24086dbc42ad0642e5ecaca173d14eb0b7aab8ea75d4133a26edc98286
MD5 4e658a290a7f74c8c8823c08f3ed4c67
BLAKE2b-256 e1f006550b38bc8c09eed5e5a0eb0aefc27ec2866fc9e2b99c5ff9d2c3a88511

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page