~/projects/timefuzz

timefuzz

Fuzzy natural-language time parsing that goes past dateparser — resolves phrases like "end of Q3" or "the Tuesday after my birthday" into datetimes or ranges, each with a confidence score. Rust core, Python API.

Rust + Python

## What it is

timefuzz resolves human phrases like "sometime next week", "the Tuesday after my birthday", or "end of Q3" into concrete datetimes or ranges — each with a confidence score, so your app knows when to ask the user to confirm. Rust core, thin Python API, shipped as compiled wheels (pip install timefuzz, no Rust toolchain required).

## Why another date parser

Existing parsers like dateparser handle "in 3 days" and "next Friday" but fall over on the interesting cases:

## What it returns

Every parse yields an Instant, an inclusive Range, or an Ambiguous set of candidates — each carrying a deterministic confidence score and the interpretation the parser chose, so schedulers, reminder apps, and chat bots can decide when to double-check. If nothing matches, ParseError is raised with the reason.

## Try it

timefuzz is on PyPI — pip install timefuzz. Point it at a phrase with an optional reference now plus anchor dates, then match on the result shape. The README carries the full grammar reference and a cookbook.

← back to all projects