Skip to main content

AI-enabled time and memory profiler for Python applications

Project description

Zero-Hassle AI Enabled Python Profiler for Time & Memory

AI enabled lightweight time and memory profiler for Python, zero-configuration python profiler that captures function-level performance metrics along with analysis of function implementation with AI Agent with no code changes. Ideal for:

  • Python scripts
  • Flask projects
  • Real-time debugging of performance bottlenecks

Features

Zero Code Changes

Just run your Python script — no decorators, annotations, or modifications needed.

Time & Memory Metrics

Automatically captures:

  • Max execution time (CPU)
  • Peak memory usage
  • RSS memory growth
  • Return object size
  • Arguments passed

Project-Aware Analysis

Only your code is profiled.
System libraries and external modules are ignored using intelligent project-path detection.

Profiler Metrics

The following table describes the metrics collected by the profiler:

Metric Description Key
Function Name The name of the function being profiled. function
File Path The absolute path to the file where the function is defined. file
Line Number The line number where the function starts in the file. line
Execution Time Maximum time taken by each function in milliseconds (ms). max_time_ms
CPU Time Time spent by the CPU on this function (ms). cpu_time_ms
Peak Memory Usage Maximum memory usage during function execution in kilobytes (KB). max_mem
RSS Memory Growth Growth in Resident Set Size (RSS) memory in kilobytes (KB), helps spot memory leaks. mem_growth_rss_kb
Arguments The arguments passed to the function being profiled. args
Possible Memory Leak Indicates if a potential memory leak is detected (if any). possible_memory_leak
Notes Any additional notes related to the profiling data. note
Returned Object Size The size of the returned object in bytes. return_obj

Option to select a function for analysis, which is analysed by the Ollama model installed and configured. This is the table providing the options for analysis.

Available Functions for Analysis

Index Function Name File Path
0 function_one /path/to/file_one.py
1 function_two /path/to/file_two.py
2 function_three /path/to/file_three.py
3 function_four /path/to/file_four.py
4 function_five /path/to/file_five.py
... ... ...
N function_n /path/to/file_n.py
N+1 Skip Analysis -

Structured JSON Reports

Each function includes:

  • Function name
  • Source file and line number
  • Time (ms)
  • Memory usage (KB)
  • Return object size
  • Arguments
  • Memory growth & potential leaks

Works with Any Project Structure

Handles nested folder hierarchies easily — just point to your project root and go.


Setup Instructions

1. Set Environment Variables

export PROFILER_FILE_PATH="/absolute/path/to/your_script.py"
export PROFILER_DIR_PATH="/absolute/path/to/your/project/root"

If you just want to try, you can test it with sample_project.

export PROFILER_FILE_PATH="$(pwd)/sample_project/inside/app.py": The Python file to be profiled
export PROFILER_DIR_PATH="$(pwd)/sample_project/inside": Root of your project for accurate filtering

2. Optional: Suppress Console Output

By default, profiler prints a table to the console. To disable:

export CONSOLE_DISPLAY=False

Environment Setup

If you already have a virtual environment, just install the dependencies:

make setup

This will install the requirements in your env

If you don't have a virtual environment, just install the dependencies:

make setup

This will create an env and install requirements

LLM Environment Setup

Download Ollama from Ollama

ollama run <yout_model>

If you don't know which model to use.

ollama run deepseek-r1:1.5b: It is preferable as it is light weight.

Set your model env variable.

export AGENT_NAME="<your_model>"
export AGENTIC_PROFILER=True
make agent-setup

To use

Run profiler

make run

This will:

  • Read the env vars
  • Launch your script
  • Record memory + execution stats
  • Save detailed JSON report

Supported Use Cases

  • Pure Python projects
  • Flask APIs and apps
  • Any directory layout

Want More?

  • Console table toggle
  • HTML report output
  • Jupyter Notebook integration

Pull requests are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aipymemtimeprofiler-0.1.0.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aipymemtimeprofiler-0.1.0-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file aipymemtimeprofiler-0.1.0.tar.gz.

File metadata

  • Download URL: aipymemtimeprofiler-0.1.0.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for aipymemtimeprofiler-0.1.0.tar.gz
Algorithm Hash digest
SHA256 889c6f5a291bd605842d0594471e280037e9567d1608dcc6e7b5f6bd48894efa
MD5 6140006e0f2d6f33fe2cf24d66efe7cf
BLAKE2b-256 4251b67aeb886425f3aa4d27de48b433821a87d82520128f850ad0679c4f0309

See more details on using hashes here.

File details

Details for the file aipymemtimeprofiler-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for aipymemtimeprofiler-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7798c5d2b40a41ce8e64b662baf0ccb078f7c628278a320ea1c5a7274e0c8dfa
MD5 d787a12c44365df052cc3ced23bbd018
BLAKE2b-256 95865695b3519888e24362a67a0283d1f3f3057df53a6c0a3d1c9afc81044477

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page