Metadata-Version: 2.4
Name: owl-imdl
Version: 0.0.1
Summary: IMDL template engine
Author-email: kwen <aikwen@outlook.com>
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: loguru>=0.7.3
Requires-Dist: rich>=13.4.0
Requires-Dist: python-statemachine>=3.0.0
Requires-Dist: questionary>=2.1.1
Requires-Dist: prettytable>=3.17.0
Requires-Dist: grpcio>=1.80.0
Requires-Dist: protobuf>=6.31.1
Dynamic: license-file

# owl-imdl
![Python Version](https://img.shields.io/badge/python->=3.10-blue)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Installation (TestPyPI)

Currently, this package is available on **TestPyPI**. You can install it using the following command:

```bash
pip install -i https://test.pypi.org/simple/ owl-imdl
```

## Manual Dependencies

To keep the package lightweight and flexible, this project does not enforce deep learning framework dependencies (to avoid version conflicts).

Please manually install the following dependencies according to your environment before use:

1. **PyTorch**: Visit [pytorch](https://pytorch.org/get-started/locally/) to get the command for your CUDA version.
2. Other Essentials:
```bash
pip install numpy Pillow albumentations
```

## Quick Start

### Initialize a Project

Run the following command in any directory to generate a training script (e.g., `my_project.py`):

```bash
owl init
```

The generated template uses `example/` as a placeholder dataset directory. Replace it with your own dataset path in actual use.

## Dataset Structure

```text
my_dataset/
├── gt/                 # Ground Truth images
├── tp/                 # Tampered/Target images
└── my_dataset.json     # Index file (MUST match the folder name!)
```

JSON Format (my_dataset.json):

```json
[
  {
    "tp": "tampered_image_01.jpg",
    "gt": "mask_01.png"
  },
  {
    "tp": "tampered_image_02.jpg",
    "gt": "mask_02.png"
  }
]
```
