Skip to content

0.0.2

Choose a tag to compare

@pomponchik pomponchik released this 14 Apr 10:16
· 9 commits to main since this release
5a877a8

A little but useful update:

  • Added arguments class to capture positional and keyword arguments for benchmarked functions. Exported it from the package along with a short alias a.
  • Added median as a @cached_property to BenchmarkResult, consistent with p95/p99.
  • Updated Scenario constructor: name is now optional and auto-derived from function.__name__; arguments object replaces the old positional args parameter.
  • Expanded CLI output to include call:, doc:, runs:, median:, p95 mean:, p99 mean: lines, and a FAIL: message when --max-mean is exceeded.
  • Rewrote all tests from class-based to function-based style. Added new unit, CLI, documentation, and typing tests to cover all the new behaviour.
  • Added printo as an explicit package dependency so it is installed in all environments.
  • Fixed coverage failure on Python 3.13/Linux by adding direct unit tests for the OSError fallback path in _fn_call_str, which is unreachable on that platform due to a difference in how getsources signals source-retrieval errors.
  • Fixed typing test failure on Python 3.8 where mypy formats optional types as Optional[X] instead of X | None. Replaced the full expected message with just [arg-type] so the match is version-independent.