CLI tool that renames local files using AI-powered metadata extraction
Project description
Renamr
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.exampleto.envand set provider keys. - Copy
config.toml.exampletoconfig.tomland 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6294217622bc4684c7625c19de762a26ab3b71ebec98c06c1d2aa75991f7d49
|
|
| MD5 |
85cc384eac91cd3f32b98fbe4140c835
|
|
| BLAKE2b-256 |
83020faa3cf69569e312b0749988fd4a1f35d79cb570c2eb1b6ab237eaf5db4f
|
Provenance
The following attestation bundles were made for renamr-0.1.0.tar.gz:
Publisher:
release.yml on spignotti/renamr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
renamr-0.1.0.tar.gz -
Subject digest:
f6294217622bc4684c7625c19de762a26ab3b71ebec98c06c1d2aa75991f7d49 - Sigstore transparency entry: 1091418901
- Sigstore integration time:
-
Permalink:
spignotti/renamr@9d3d4c7d51cedf9074273fe418fdc930e039cbc9 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/spignotti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9d3d4c7d51cedf9074273fe418fdc930e039cbc9 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7adec6a703d32d2a9f02461a8c5ed6f05e8abda4d6360c1766223f6ca3d4c39b
|
|
| MD5 |
dfeefa5373318ee8d48ed0e2961beeac
|
|
| BLAKE2b-256 |
d7d9e663527ac06f8f92b2e2be215256bfb70747d43c1951b97585ceafe1214c
|
Provenance
The following attestation bundles were made for renamr-0.1.0-py3-none-any.whl:
Publisher:
release.yml on spignotti/renamr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
renamr-0.1.0-py3-none-any.whl -
Subject digest:
7adec6a703d32d2a9f02461a8c5ed6f05e8abda4d6360c1766223f6ca3d4c39b - Sigstore transparency entry: 1091418905
- Sigstore integration time:
-
Permalink:
spignotti/renamr@9d3d4c7d51cedf9074273fe418fdc930e039cbc9 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/spignotti
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9d3d4c7d51cedf9074273fe418fdc930e039cbc9 -
Trigger Event:
push
-
Statement type: