Metadata-Version: 2.4
Name: chronos-profiler
Version: 1.0.1
Summary: Python package for timing and profiling code execution, with GPU support.
Author-email: Hanna Ruth <hruth@anl.gov>
License-Expression: Apache-2.0
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: System :: Benchmark
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.TXT
Requires-Dist: h5py
Requires-Dist: matplotlib
Requires-Dist: numpy
Provides-Extra: cupy
Requires-Dist: cupy; extra == "cupy"
Provides-Extra: cupy11
Requires-Dist: cupy-cuda11x; extra == "cupy11"
Provides-Extra: cupy12
Requires-Dist: cupy-cuda12x; extra == "cupy12"
Provides-Extra: cupy13
Requires-Dist: cupy-cuda13x; extra == "cupy13"
Dynamic: license-file

# chronos-profiler

Python package for timing and profiling code execution, with GPU support.

## Installation

```bash
pip install chronos-profiler
```

For cupy GPU support:

```bash
pip install chronos-profiler[cupy]
```

Other GPU extras: `cupy11`, `cupy12`, `cupy13`.

## Usage

```python
import chronos

# Decorate functions to time them
@chronos.timer_utils.timer()
def my_function():
    ...

# Enable timing globally
chronos.timer_utils.toggle_timer(True)

# The function will be timed when run
my_function()

# Access recorded times
print(chronos.timer_utils.ELAPSED_TIME_DICT)

# Save and plot results
chronos.io.save_timing_data("/path/to/file.h5")
chronos.plotting.plot_elapsed_time_dict()

# Clear saved results
chronos.timer_utils.clear_time_globals()
```

## License

Apache 2.0 — Copyright © 2026 UChicago Argonne, LLC
