Metadata-Version: 2.4
Name: epochly
Version: 0.1.1
Summary: Epochly - Transparent performance optimization for Python applications
Home-page: https://epochly.com
Author: Epochly Development Team
Author-email: Epochly Development Team <dev@epochly-python.org>
License: EPOCHLY PROPRIETARY SOFTWARE LICENSE
        
        Copyright (c) 2025 Epochly Development Team. All Rights Reserved.
        
        NOTICE: This is proprietary software. All rights are reserved by the copyright holder.
        
        This software and associated documentation files (the "Software") are the exclusive
        property of the Epochly Development Team. The Software is protected by copyright law
        and international treaties.
        
        UNAUTHORIZED USE, COPYING, MODIFICATION, MERGER, PUBLICATION, DISTRIBUTION,
        SUBLICENSING, AND/OR SALE OF THE SOFTWARE IS STRICTLY PROHIBITED.
        
        NO LICENSE IS GRANTED: This notice does not grant any rights to use, copy, modify,
        or distribute the Software. Access to this Software does not imply any license or
        right to use it.
        
        LIMITED EVALUATION: If you have received this Software for evaluation purposes under
        a separate written agreement, your use is limited to the terms specified in that
        agreement.
        
        CONFIDENTIALITY: This Software contains confidential and proprietary information.
        You must maintain the confidentiality of the Software and not disclose it to any
        third party.
        
        NO WARRANTIES: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
        EXPRESS OR IMPLIED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM,
        DAMAGES, OR OTHER LIABILITY ARISING FROM THE USE OR INABILITY TO USE THE SOFTWARE.
        
        TERMINATION: Any unauthorized use will result in immediate termination of any rights
        to possess or use the Software, and may result in legal action.
        
        GOVERNING LAW: This notice shall be governed by and construed in accordance with the
        laws of the United States and the State of California, without regard to its conflict
        of law provisions.
        
        For licensing inquiries, please contact: licensing@epochly.com
        
        EPOCHLY™ is a trademark of the Epochly Development Team.
        
        Last Updated: January 2025
Project-URL: Homepage, https://epochly.com
Project-URL: Documentation, https://epochly.com/docs
Project-URL: Repository, https://github.com/epochly-python/epochly.git
Project-URL: Bug Tracker, https://github.com/epochly-python/epochly/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
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
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: psutil>=5.8.0
Requires-Dist: packaging>=20.0
Requires-Dist: numpy<1.27.0,>=1.20.0; python_version == "3.9"
Requires-Dist: numpy<1.27.0,>=1.21.0; python_version == "3.10"
Requires-Dist: numpy<1.27.0,>=1.22.0; python_version == "3.11"
Requires-Dist: numpy<1.27.0,>=1.23.0; python_version == "3.12"
Requires-Dist: numpy>=2.1.0; python_version >= "3.13"
Requires-Dist: cryptography<41,>=40.0.0; python_version < "3.10"
Requires-Dist: cryptography>=45.0.0; python_version >= "3.10"
Requires-Dist: pybind11>=2.6.0
Requires-Dist: prometheus-client>=0.12.0
Requires-Dist: msgpack>=1.0.0
Requires-Dist: dill>=0.3.8
Requires-Dist: cloudpickle>=3.1.0
Requires-Dist: sortedcontainers>=2.4.0
Requires-Dist: numba==0.59.0; python_version == "3.9"
Requires-Dist: numba>=0.61.0; python_version >= "3.10" and python_version < "3.13"
Requires-Dist: pyston_lite_autoload>=2.3.5; python_version >= "3.9" and python_version <= "3.10" and sys_platform == "linux" and platform_machine == "x86_64"
Provides-Extra: dev
Requires-Dist: pytest<9,>=7.0; extra == "dev"
Requires-Dist: pytest-asyncio<0.26,>=0.21.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.3.1; extra == "dev"
Requires-Dist: pytest-benchmark>=4.0.0; extra == "dev"
Requires-Dist: hypothesis>=6.0.0; extra == "dev"
Requires-Dist: black<25,>=23.1.0; extra == "dev"
Requires-Dist: flake8<7,>=5.0.4; extra == "dev"
Requires-Dist: mypy<1.10,>=0.960; extra == "dev"
Requires-Dist: pre-commit>=2.17.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest<9,>=7.0; extra == "test"
Requires-Dist: pytest-asyncio<0.26,>=0.21.0; extra == "test"
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
Requires-Dist: pytest-timeout>=2.3.1; extra == "test"
Requires-Dist: pytest-benchmark>=4.0.0; extra == "test"
Requires-Dist: hypothesis>=6.0.0; extra == "test"
Requires-Dist: moto>=4.0.0; extra == "test"
Requires-Dist: toml>=0.10.2; extra == "test"
Requires-Dist: pandas<2.1.0,>=1.4.0; python_version == "3.9" and extra == "test"
Requires-Dist: pandas>=1.5.0; python_version >= "3.10" and extra == "test"
Requires-Dist: scipy<1.11.0,>=1.7.0; python_version == "3.9" and extra == "test"
Requires-Dist: scipy>=1.9.0; python_version >= "3.10" and extra == "test"
Requires-Dist: scikit-learn<1.4.0,>=1.1.0; python_version == "3.9" and extra == "test"
Requires-Dist: scikit-learn>=1.2.0; python_version >= "3.10" and extra == "test"
Requires-Dist: numba==0.59.0; python_version == "3.9" and extra == "test"
Requires-Dist: numba>=0.61.0; python_version >= "3.10" and extra == "test"
Requires-Dist: dash>=2.14.0; extra == "test"
Requires-Dist: dash-bootstrap-components>=1.0.0; extra == "test"
Requires-Dist: plotly>=5.0.0; extra == "test"
Requires-Dist: websockets>=13.0; extra == "test"
Requires-Dist: python-dotenv>=0.19.0; extra == "test"
Requires-Dist: requests>=2.25.0; extra == "test"
Requires-Dist: boto3>=1.20.0; extra == "test"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Epochly - Transparent Performance Optimization

[![PyPI version](https://badge.fury.io/py/epochly.svg)](https://badge.fury.io/py/epochly)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)

**Significant performance improvement with zero code changes!**

Epochly provides transparent performance optimization for Python applications through a progressive enhancement system.

## 🚀 Installation

```bash
pip install epochly
```

That's it! Epochly is now ready to accelerate your Python code.

## ⚡ Quick Start

### Method 1: Automatic Optimization (Recommended)
```python
import epochly  # Just this import provides optimization!

# Your existing code runs faster automatically
import numpy as np

def matrix_computation():
    a = np.random.rand(1000, 1000)
    b = np.random.rand(1000, 1000)
    return np.dot(a, b)

result = matrix_computation()  # Automatically optimized!
```

### Method 2: Selective Optimization
```python
from epochly import optimize

@optimize
def slow_function(data):
    # This function will be optimized
    return complex_computation(data)
```

### Method 3: Context Manager
```python
from epochly import optimize_context

with optimize_context():
    # All code in this block is optimized
    result = heavy_computation()
```

## ✨ Key Features

- **Zero Configuration**: Just import and go - Epochly automatically detects and optimizes your workloads
- **Progressive Enhancement**: Four optimization levels from monitoring to full sub-interpreter parallelization
- **100% Compatibility**: Works with existing Python code, libraries, and frameworks
- **Production Ready**: Controlled deployment with emergency controls and monitoring
- **Transparent Activation**: Automatic activation via `sitecustomize.py` for seamless integration

## 📊 Performance Results

Epochly provides transparent optimization through 5 progressive enhancement levels:

- **Level 0**: Monitoring and analysis
- **Level 1**: Basic threading optimization
- **Level 2**: JIT compilation
- **Level 3**: Full optimization with sub-interpreters and shared memory
- **Level 4**: GPU acceleration (when available)

Average performance improvement varies by workload type.

## 🎯 Use Cases

Perfect for:
- Scientific computing and data analysis
- Machine learning preprocessing
- Financial modeling
- Image and signal processing
- Any CPU-intensive Python code

## 🔧 Advanced Configuration

```python
from epochly import configure, EnhancementLevel

# Set optimization level
configure(level=EnhancementLevel.LEVEL_3_FULL)

# Enable monitoring
configure(monitor_performance=True)

# Control worker threads
configure(max_workers=8)
```

## 📖 Documentation

For comprehensive documentation, visit [https://epochly.com/docs](https://epochly.com/docs)

## 🏃 Demo

Try our performance demo:

```bash
# After installation
python -m epochly.demos.benchmark
```

## 💻 System Requirements

- Python 3.8-3.13
- Linux, macOS, or Windows
- No GPU required (CPU optimization)

## 🚀 Deployment

### Transparent Activation

Epochly can be transparently activated for all Python processes:

```bash
# Install sitecustomize.py for automatic activation
epochly-deploy install

# Selective activation by environment
export EPOCHLY_ENABLED=1
python your_app.py

# Configuration file control
echo "enabled: true" > ~/.epochly/config.yml
```

### Production Deployment

```bash
# Controlled rollout
epochly-deploy enable --percentage 10 --monitor-only

# Emergency disable
epochly-deploy disable --emergency

# Monitor deployment
epochly-deploy status --detailed
```

## 📊 Monitoring

Epochly provides comprehensive monitoring and observability:

```python
import epochly

# Get performance metrics
metrics = epochly.get_metrics()
print(f"Speedup: {metrics.speedup:.2f}x")
print(f"Memory usage: {metrics.memory_mb:.1f} MB")

# Export Prometheus metrics
epochly.export_metrics(port=8080)
```

## 🔒 Security

Epochly implements comprehensive security measures:

- Memory isolation between interpreters
- Access control for shared memory
- Audit logging for all operations
- Side-channel attack mitigation
- Secure deployment controls

## 📚 Documentation

- [Getting Started Guide](docs/getting-started.md)
- [Architecture Overview](docs/architecture/overview.md)
- [API Reference](docs/api/reference.md)
- [Deployment Guide](docs/guides/deployment-strategies.md)
- [Performance Tuning](docs/guides/performance-tuning.md)

## 🤝 Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

```bash
# Development setup
git clone https://github.com/epochly-python/epochly.git
cd epochly
pip install -e .[dev]
pre-commit install

# Run tests
pytest

# Run benchmarks
pytest tests/performance/ --benchmark-only
```

## 📄 License

Epochly is a commercial product. See [LICENSE](LICENSE) for details.

## 🙏 Acknowledgments

Epochly builds upon the excellent work of:

- Python core developers for sub-interpreter support
- NumPy and SciPy communities for numerical computing foundations
- PyPy team for JIT compilation insights
- Numba developers for compilation techniques

---

**Epochly - Making Python Fast, Transparently** 🐍⚡
