Skip to content

Releases: gcomneno/smart-file-organizer

Smart File Organizer v0.3.3

Choose a tag to compare

@gcomneno gcomneno released this 04 Jul 17:12
b783a14

Smart File Organizer v0.3.3

Highlights:

  • Unmatched documents now default to documents/inbox without requiring a config file.
  • smart-file-organizer.example.toml documents the inbox fallback explicitly.

Compatibility:

  • Semantic matches (taxes, utilities, insurance, etc.) are unchanged.
  • fallback_folder remains configurable in TOML when you want a different inbox path.

Validation:

  • ruff format check
  • ruff lint
  • ty check
  • pytest (135 tests)

Smart File Organizer v0.3.2

Choose a tag to compare

@gcomneno gcomneno released this 04 Jul 17:08
0500b0d

Smart File Organizer v0.3.2

Highlights:

  • Match single-word path keywords as whole tokens so short acronyms like adi no longer hit unrelated words such as paradiso (#38).
  • Add optional fallback_folder in TOML to route unmatched documents to a dedicated inbox instead of generic documents/.

Compatibility:

  • Multi-word keyword phrases keep substring matching.
  • fallback_folder applies only to unmatched documents; other categories keep their defaults.
  • Keyword-only and pattern TOML configs continue to work unchanged.

Validation:

  • ruff format check
  • ruff lint
  • ty check
  • pytest (134 tests)

Privacy boundary:

  • Real/private files, local configuration, manual-run data, and private document contents are not included in the repository.

Smart File Organizer v0.3.1

Choose a tag to compare

@gcomneno gcomneno released this 04 Jul 16:40

Smart File Organizer v0.3.1

Highlights:

  • Add optional regex patterns to TOML semantic rules (#36).
  • Patterns match normalized file paths alongside existing keyword rules.
  • Invalid regex is rejected with a clear configuration error.

Compatibility:

  • Keyword-only TOML configs continue to work unchanged.
  • Built-in rules still extend rather than replace user config.
  • Regex patterns apply to path matching only; --inspect-content keeps keyword rules.

Validation:

  • ruff format check
  • ruff lint
  • ty check
  • pytest (126 tests)

Privacy boundary:

  • Real/private files, local configuration, manual-run data, and private document contents are not included in the repository.

Smart File Organizer v0.3.0

Choose a tag to compare

@gcomneno gcomneno released this 04 Jul 16:04

Smart File Organizer v0.3.0

Highlights:

  • User TOML semantic rules now extend built-in rules instead of replacing them (#25).
  • Added optional recursive directory scanning with --recursive (#22).
  • Added JSON plan preview output with --format json (#24).
  • Added opt-in destination conflict resolution with --conflict-strategy rename (#23).
  • Improved built-in filename rules for utilities, health, banking, INPS, and programming books (#28).
  • Reduced false positives in --inspect-content matching (#26).
  • Suppressed third-party PDF parser warnings by default; use --verbose to show them (#27).

Compatibility:

  • Default behavior remains a safe dry run.
  • Files are moved only with --apply.
  • Text plan output remains the default preview format.
  • Destination conflicts still fail by default unless --conflict-strategy rename is passed.

Real-world validation:

  • Tested on a personal backup dataset (~125 files, recursive scan).
  • Name-only classification: ~81% of files routed to semantic folders.
  • With --inspect-content: ~89% classified, 14 files remaining in generic documents/.

Validation:

  • ruff format check
  • ruff lint
  • ty check
  • pytest (120 tests)

Privacy boundary:

  • Real/private files, local configuration, manual-run data, and private document contents are not included in the repository.

Smart File Organizer v0.2.0

Choose a tag to compare

@gcomneno gcomneno released this 16 Jun 09:34
a625289

Smart File Organizer v0.2.0

Highlights:

  • Added TOML configuration for semantic organization rules.
  • Added application-specific exception types.
  • Added opt-in verbose application logging.
  • Added static type checking with ty in CI.
  • Split the large core module into focused modules.
  • Introduced the plan command group while preserving legacy direct usage.

Compatibility:

  • Existing direct planning usage still works.
  • Planning remains safe by default.
  • Files are moved only with --apply.

Validation:

  • ruff format check
  • ruff lint
  • ty check
  • pytest

Privacy boundary:

  • Real/private files, local configuration, manual-run data, and private document contents are not included.

smart-file-organizer v0.1.0

Choose a tag to compare

@gcomneno gcomneno released this 09 Jun 17:33
02bfca4

smart-file-organizer v0.1.0

Initial public release of Smart File Organizer.

This release provides a safe Python CLI for planning and applying file organization workflows.

Highlights

  • Builds an organization plan before moving files.
  • Uses dry-run behavior by default.
  • Moves files only when --apply is explicitly passed.
  • Supports explicit source files and direct files from a source directory.
  • Classifies files by extension and semantic filename/path rules.
  • Supports opt-in document content inspection with --inspect-content.
  • Extracts text from supported .txt and selectable-text .pdf files.
  • Refuses destination conflicts.
  • Refuses to overwrite existing destination files.
  • Includes project-local tooling with uv, ruff, and pytest.
  • Includes GitHub Actions CI.
  • Includes MIT license.

Current limitations

  • Directory scanning is not recursive yet.
  • PDF content inspection works only for PDFs with extractable text.
  • OCR for scanned documents is not implemented yet.
  • There is no configuration file yet.
  • Existing destination files are never overwritten.
  • There is no rename strategy for conflicts yet.

Privacy boundary

The repository is intentionally built with synthetic examples and must not contain private backup data, real document contents, or real manual-run outputs.