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:
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)
| File | Size | Uploaded | |
|---|---|---|---|
| timeitpro-0.2.3.tar.gz | 24.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|