Repository navigation
v0.4.0
A column in one call, from C and from Python. Every input parses to what it
did in 0.3.3.
Added
dateparsa_parse_column: every value in a buffer, each ending at a
separator byte, parsed down one parser in one call, into an array of the
newdateparsa_value(the time, Unix seconds, kind, whether it was a
guess, and a status saying why a value did not parse). It allocates
nothing; every array is the caller's. For a language where a call into C
costs more than a parse does.dateparsa.parse_column(values, **options)in Python, on top of it: one
call into the library for the whole column, withNoneread as a value
that does not parse. Down 10,000 RFC 3339 values on Python 3.13
(docs/PERF.md) it takes 169 ns a value to datetimes, where aParser
called once a value takes 1.12 µs, and 32.9 ns into numpy, where pandas
working out the format takes 78.2. What it returns givesdatetimes(),
times(),failedandambiguous, anddatetime64()for a numpy array
pandas takes,NaTwhere a value did not parse; numpy is not a
dependency.- A fuzz target: the column call, on any bytes split at any separator,
answers for each value what aParseranswers parsing them in turn.