Skip to main content

Offline-friendly PDF renamer that generates meaningful, keyword-rich filenames from first-page content.

Project description

meaningful-pdf-names

Offline-friendly CLI to turn your messy paper filenames into compact, keyword-rich names based on the PDF's first page.

Example:

final_v3_really_final.pdfurban-resilience-transport-inequality-policy-a9f.pdf

Features

  • Uses only the first page (title, authors, abstract region) for speed.
  • Up to 5 meaningful keywords per file.
  • Adds a 3-character [a-z0-9] suffix to avoid collisions.
  • Works fully offline with pypdf.
  • Optional: use a small local Hugging Face summarizer (sshleifer/distilbart-cnn-12-6) via transformers + torch.

Install

From source / Git:

pip install git+https://github.com/yourname/meaningful-pdf-names.git

(When published to PyPI:)

pip install meaningful-pdf-names

With optional local summarizer:

pip install "meaningful-pdf-names[summarizer]"

Usage

meaningful-pdf-names /path/to/pdfs
meaningful-pdf-names /path/to/pdfs --dry-run
mpn /path/to/pdfs

Why not existing tools?

Other tools often:

  • Depend on OpenAI / web APIs.
  • Require DOIs or external metadata.
  • Use long Author - Title - Year patterns.

meaningful-pdf-names is:

  • Local-only (no API keys, no network).
  • Fast (first-page only).
  • Slug-based: short, grep- and git-friendly names.

License

MIT

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

meaningful_pdf_names-0.1.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

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

meaningful_pdf_names-0.1.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file meaningful_pdf_names-0.1.0.tar.gz.

File metadata

  • Download URL: meaningful_pdf_names-0.1.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for meaningful_pdf_names-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6c1204d82ed86efc1bdacceb11bfff60e84c1424544c8c10d3e6cb044a8c2394
MD5 8e031f1e67314f9144a2e392372680e1
BLAKE2b-256 58e51f5d6f9433dd066446dc19364812a2ff34c3bd71a0646f48f207875811b8

See more details on using hashes here.

File details

Details for the file meaningful_pdf_names-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for meaningful_pdf_names-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7fed10b49cb38100281b0c51a88d91fc427188db960776a3a8724845c0887bd7
MD5 e77419927092ee0bdab7f088099dca94
BLAKE2b-256 e72a275595afe4d8086e8280da137919561345d9922d9fdc04b2151c9aad2c38

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