Skip to main content

timeitPro

timeitPro is an advanced Python function profiler with JSON logging and a Flask dashboard.

Features

  • Decorator @timeit(runs=N, show_console=True) to profile functions.
  • Measures:
    • Execution time
    • CPU usage (%)
    • Memory usage (bytes)
    • Peak memory (bytes)
  • Each run generates a new JSON log with incremental filename.
  • Flask dashboard:
    • Displays results as separate line charts for each metric.
    • Dropdown to select which log file to display.
    • Dropdown to select all run details or only average result.
    • Table with detailed run information.
  • Console output optional (show_console=True/False).

Installation

pip install -r requirements.txt

Dependencies:

  • Flask
  • psutil

Usage

from timeitPro import timeit, run_dashboard


# Profile a function with 3 runs and console output
@timeit(runs=3, show_console=True)
def my_func():
    total = sum(range(100_000))
    return total


my_func()

# Run the dashboard
run_dashboard()

JSON Logs

  • Logs are saved as timeitPro_log_000001.json, timeitPro_log_000002.json, ...
  • Each JSON contains all runs from a profiling session.
  • Dashboard automatically lists all available log files.

Dashboard

  • Access via: http://localhost:5000/
  • Features:
    • Dropdown to select log file
    • Dropdown to select all run details or only average result.
    • Separate line charts for execution time, CPU, memory, peak memory
    • Table of detailed runs

Dashboard Preview

Here is an example of the timeitPro dashboard report:

Dashboard Report

License

GNU General Public License v3 (GPLv3)

Metadata

Release files for timeitPro 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for timeitPro 0.2.3
File Size Uploaded
timeitpro-0.2.3.tar.gz 24.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for timeitPro 0.2.3
File Interpreter ABI Platform
timeitpro-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 49.5 kB

Release files / timeitpro-0.2.3.tar.gz

Download URL timeitpro-0.2.3.tar.gz
Size 24.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0f76642f4cf6a1d9d67c7254b8681ec1d0a51fed2a5a0dba86d4464c0146c5f9
BLAKE2b-256 checksum
How to use checksums
658c6bed1cfca8e4253551b2b8074a308bf322b54cba5cfb9f9546b43e581d58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / timeitpro-0.2.3-py3-none-any.whl

Download URL timeitpro-0.2.3-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d94f65af98ddaa8a21800b540172306a7b6b4e77778554b62218a7852523ac6c
BLAKE2b-256 checksum
How to use checksums
24d09fa31238735c5c1456cfcdfc929bdef80593aca1044813d02979e0386ff0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page