Skip to main content

CLI tool that renames local files using AI-powered metadata extraction

Project description

Renamr

CI PyPI

CLI tool that renames local files using AI-powered metadata extraction.

Overview

This repository contains the initial scaffold for a Typer-based CLI that will:

  • scan a folder for supported files
  • extract preview data from documents and images
  • call an LLM through LiteLLM
  • build safe filenames in the form YYMMDD_Sender_Subject.ext
  • support dry runs, undo logs, and optional PDF compression

The scaffold intentionally stops at project setup. Product logic belongs in later /plan and /task work.

Tech Stack

  • Python 3.12
  • Typer CLI
  • LiteLLM for provider-agnostic model calls
  • Pydantic and pydantic-settings for config and validation
  • PyPDF, PyMuPDF, and Pillow for document preview handling
  • Structlog for logging
  • Ruff, Pyright, Pytest, and Nox for quality checks

Project Layout

src/renamr/
tests/
docs/decisions/
.github/workflows/
data/
.pi/

Development

uv sync
uv run nox
uv run renamr --help

Configuration

  • Copy .env.example to .env and set provider keys.
  • Copy config.toml.example to config.toml and adjust local settings.

Status

Scaffold only. No rename pipeline has been implemented yet.

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

renamr-0.1.0.tar.gz (134.5 kB view details)

Uploaded Source

Built Distribution

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

renamr-0.1.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for renamr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f6294217622bc4684c7625c19de762a26ab3b71ebec98c06c1d2aa75991f7d49
MD5 85cc384eac91cd3f32b98fbe4140c835
BLAKE2b-256 83020faa3cf69569e312b0749988fd4a1f35d79cb570c2eb1b6ab237eaf5db4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for renamr-0.1.0.tar.gz:

Publisher: release.yml on spignotti/renamr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: renamr-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for renamr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7adec6a703d32d2a9f02461a8c5ed6f05e8abda4d6360c1766223f6ca3d4c39b
MD5 dfeefa5373318ee8d48ed0e2961beeac
BLAKE2b-256 d7d9e663527ac06f8f92b2e2be215256bfb70747d43c1951b97585ceafe1214c

See more details on using hashes here.

Provenance

The following attestation bundles were made for renamr-0.1.0-py3-none-any.whl:

Publisher: release.yml on spignotti/renamr

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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