Metadata-Version: 2.4
Name: mathdiagram
Version: 1.0.1
Summary: Generic mathematical diagram generation library for any topic
Home-page: https://github.com/mathdiagram/mathdiagram
Author: MathDiagram Library
Author-email: MathDiagram Library <contact@mathdiagram.com>
License: MIT
Project-URL: Homepage, https://github.com/mathdiagram/mathdiagram
Project-URL: Repository, https://github.com/mathdiagram/mathdiagram.git
Project-URL: Issues, https://github.com/mathdiagram/mathdiagram/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Education
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib>=3.3.0
Requires-Dist: numpy>=1.18.0
Requires-Dist: scipy>=1.5.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: flake8>=4.0; extra == "dev"
Requires-Dist: mypy>=0.950; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# ImageGen AI

A Python library for AI-powered image generation using Stable Diffusion models.

## Features

- Easy-to-use API for image generation
- Support for batch generation
- Memory management and optimization
- Metadata support for generated images
- Utility functions for image processing
- Configurable settings

## Installation

### From PyPI (when published)
```bash
pip install imagegen-ai
```

### From source
```bash
git clone <repository-url>
cd imagegen-ai
pip install -e .
```

## Quick Start

```python
from imagegen import ImageGenerator, save_image

# Initialize generator
generator = ImageGenerator()

# Generate an image
image = generator.generate(
    prompt="A beautiful sunset over mountains",
    width=512,
    height=512,
    seed=42
)

# Save the image
save_image(image, "sunset.png")
```

## Advanced Usage

### Batch Generation
```python
prompts = [
    "A futuristic city",
    "A peaceful forest",
    "A vintage car"
]

images = generator.generate_batch(prompts)
```

### Custom Configuration
```python
from imagegen import Config

config = Config(
    model_id="runwayml/stable-diffusion-v1-5",
    device="cuda",
    default_width=768,
    default_height=768
)

generator = ImageGenerator(
    model_id=config.model_id,
    device=config.device
)
```

### Creating Image Grids
```python
from imagegen.utils import create_grid

# Generate multiple images
images = generator.generate_batch(prompts)

# Create a grid
grid = create_grid(images, grid_size=(2, 2))
save_image(grid, "image_grid.png")
```

## API Reference

### ImageGenerator

Main class for image generation.

#### Methods

- `generate(prompt, **kwargs)` - Generate a single image
- `generate_batch(prompts, **kwargs)` - Generate multiple images
- `change_model(model_id)` - Switch to a different model
- `get_memory_usage()` - Get current memory usage
- `clear_memory()` - Clear GPU memory cache

### Utility Functions

- `save_image(image, filename, directory, metadata)` - Save a single image
- `save_images(images, base_filename, directory, metadata)` - Save multiple images
- `create_grid(images, grid_size, spacing)` - Create an image grid
- `batch_resize(images, size, method)` - Resize multiple images

## Requirements

- Python 3.8+
- PyTorch 1.13.0+
- CUDA-capable GPU (recommended)

## License

MIT License - see LICENSE file for details.

