Metadata-Version: 2.4
Name: socratic-performance
Version: 0.1.2
Summary: Performance monitoring and caching utilities for AI systems
Home-page: https://github.com/Nireus79/Socratic-performance
Author: Socratic Team
Author-email: Socratic Team <team@socratic.dev>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Nireus79/Socratic-performance
Project-URL: Repository, https://github.com/Nireus79/Socratic-performance
Project-URL: Documentation, https://github.com/Nireus79/Socratic-performance#readme
Project-URL: Issues, https://github.com/Nireus79/Socratic-performance/issues
Keywords: performance,monitoring,caching,profiling,ai,optimization
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Socratic Performance

Performance monitoring and caching utilities for AI systems.

## Features

- **QueryProfiler**: Database query profiling and performance monitoring
- **TTLCache**: Time-based function result caching decorator

## Installation

```bash
pip install socratic-performance
```

## Usage

### Query Profiler

```python
from socratic_performance import QueryProfiler

profiler = QueryProfiler()

@profiler.profile
def expensive_query():
    # Your database query here
    pass

expensive_query()
stats = profiler.get_stats()
print(stats)
```

### TTL Cache

```python
from socratic_performance import cached

@cached(ttl_minutes=5)
def compute_something(x):
    return x * x

result1 = compute_something(10)  # Computed
result2 = compute_something(10)  # Cached (5 min)
```

## Documentation

- **[Performance Profiling Guide](docs/PERFORMANCE_PROFILING.md)** - Complete guide to performance profiling, query optimization, metrics collection, and bottleneck identification

## License

MIT
