wasi-master / fastero

Python timeit CLI for the 21st century! colored output, multi-line input with syntax highlighting and autocompletion and much more!

Home Page:https://fastero.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fastero

Python timeit CLI for the 21st century

Read the Documentation

Installation & Usage

Install either with pipx or pip. Both work, use what you want. Or optionally you can install from github using pip install git+https://github.com/wasi-master/fastero

For usage please check out the documentation

Features

For more info on all of these features, please the documentation

  • 🌟 Beautiful formatted, and colored output. Output is reminiscent of hyperfine
  • 🀯 Amazing exporting options
    • πŸ“Š Export as a bar plot with matplotlib
    • πŸŒƒ Export as a beautiful image with the console output
    • ℹ️ Export as Markdown, HTML, CSV, AsciiDoc tables
    • πŸ’Ύ Export as JSON and YAML data to use them elsewhere
      • πŸ” You can also import the JSON data later within fastero to re-run the benchmark with the same parameters or to export the data again with different parameters.
  • πŸš€ Extremely intuitive and easy to use.
  • πŸ”’ Benchmark multiple snippets
    • πŸ”€ Assign a name to each snippet to make it easier to distinguish
    • πŸ“ˆ Get nice statistics about the each of the snippet and a summary on how fast each of them are compared to each other
  • ↩ Enter multiline code in an input with syntax highlighting and amazing autocomplete
  • ⏰ Excellent time parsing. Inputs like 500ms, 10s, 1m5s, 1.5m, 1h30m15s, etc. work flawlessly
  • πŸ”₯ Run a few times without timing with the warmup parameter to fill caches and things like that.
  • πŸ‘¨ Customize it to your liking.
    • πŸ”£ Custom time formats e.g. nanoseconds, microseconds, milliseconds, seconds etc.
    • 🎨 Custom theme for code input and/or output.
  • πŸŽ›οΈ Control how long each snippet is benchmarked for
    • πŸ”’ Specify a minimum and a maximum amount of runs to calculate the number of runs automatically based on run duration
    • πŸ”Ÿ Or specify a definite number of runs for manual override
  • πŸ’» Cross-platform.
  • 🀯 Open source.
  • πŸ“š Extensive documentation.

Acknowledgements

  • hyperfine - Inspiration for creating this library and the UI.
  • snappify.io - Inspiration for the Image export.
  • rich - Used for beautiful output

About

Python timeit CLI for the 21st century! colored output, multi-line input with syntax highlighting and autocompletion and much more!

https://fastero.readthedocs.io

License:MIT License


Languages

Language:Python 100.0%