Metadata-Version: 2.4
Name: mil-kit
Version: 0.4.4
Summary: A toolkit for processing the ASM's Mammal Image Library (MIL).
Project-URL: Homepage, https://github.com/hhandika/mil-kit
Project-URL: Repository, https://github.com/hhandika/mil-kit
Project-URL: Issues, https://github.com/hhandika/mil-kit/issues
Author-email: Heru Handika <herubiolog@gmail.com>
License: MIT
License-File: LICENSE
Keywords: automation,batch-processing,image-processing,photoshop,psd
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: pillow>=12.0.0
Requires-Dist: psd-tools>=1.12.0
Requires-Dist: tqdm>=4.67.1
Description-Content-Type: text/markdown

# mil-kit

![Tests](https://github.com/hhandika/mil-kit/actions/workflows/test.yml/badge.svg)
![GitHub Tag](https://img.shields.io/github/v/tag/hhandika/mil-kit?label=GitHub)
![PyPI - Version](https://img.shields.io/pypi/v/mil-kit?color=blue)

A Python toolkit for batch processing the Mammal Image Library (MIL) images. Reshape, convert, and optimize images for the mammal diversity database and other applications.

## Features

- 🚀 Batch process multiple PSD files in a directory
- ⚡ Parallel processing for faster execution
- 📊 Progress bar with detailed status
- 📝 Automatically hide all text layers
- 🖼️ Export processed files as PNG (default) or other formats
- 📁 Support for recursive directory processing
- ⚡ Preserve folder structure in output

## Installation

Install using pip:

```bash
pip install mil-kit
```

Or using uv:

```bash
uv add mil-kit
```

## Usage

### Command Line

Process PSD files in a directory:

```bash
mil-kit -d /path/to/psd/files
```

Process recursively, specify output directory, and use JPEG format:

```bash
mil-kit -d /path/to/psd/files -o /path/to/output -r -f jpeg --max-resolution 500
```

### Options

- `-d, --dir`: Input directory containing PSD files (required)
- `-o, --output`: Output directory for processed files (default: input directory)
- `-f, --output-format`: Output image format (default: png)
- `-r, --recursive`: Process subdirectories recursively
- `--max-resolution`: Set maximum resolution for output images (if needed)

### Python API

You can also use mil-kit as a Python library:

```python
from mil_kit.psd.processor import PSDProcessor
from mil_kit.job import BatchJob

# Process a single file
processor = PSDProcessor("image.psd")
processor.load()
processor.hide_non_image_layers()
processor.export("output.jpg", format="jpeg")

# If you want to export with max resolution
processor.export("output_resized.jpg", format="jpeg", max_resolution=500)

# Batch process
job = BatchJob(
    input_dir="./psd_files",
    output_dir="./output",
    recursive=True,
    output_format="png",
    max_workers=4
)
job.run()
```

## Requirements

- Python >= 3.10
- psd-tools >= 1.12.0
- pillow >= 12.0.0
- tqdm >= 4.67.1

## License

MIT License - see [LICENSE](LICENSE) file for details.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Issues

Report bugs and request features on [GitHub Issues](https://github.com/hhandika/psd-toolkit/issues).
