Metadata-Version: 2.4
Name: ml-project-generator
Version: 2.0.2
Summary: A command-line tool to generate structured ML project templates with documentation and best practices
Author-email: AarambhaAnta <aarambha108@gmail.com>
License: MIT License
        
        Copyright (c) 2024 AarambhaAnta
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/AarambhaAnta/ml-project-generator
Project-URL: Documentation, https://github.com/AarambhaAnta/ml-project-generator#readme
Project-URL: Issues, https://github.com/AarambhaAnta/ml-project-generator/issues
Project-URL: Source, https://github.com/AarambhaAnta/ml-project-generator
Project-URL: Bug Tracker, https://github.com/AarambhaAnta/ml-project-generator/issues
Keywords: machine learning,project generator,template,CLI,ml,ai,deep learning,nlp,computer vision
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
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: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.21
Requires-Dist: pandas>=1.3
Requires-Dist: scikit-learn>=1.0
Provides-Extra: deep-learning
Requires-Dist: torch>=2.0; python_version >= "3.8" and extra == "deep-learning"
Requires-Dist: torchvision>=0.15; python_version >= "3.8" and extra == "deep-learning"
Provides-Extra: nlp
Requires-Dist: transformers>=4.30; python_version >= "3.8" and extra == "nlp"
Requires-Dist: nltk>=3.8; python_version >= "3.8" and extra == "nlp"
Provides-Extra: cv
Requires-Dist: opencv-python>=4.8; python_version >= "3.8" and extra == "cv"
Dynamic: license-file

# ML Project Generator

🚀 **ml-project-generator** (v2.0.0) is a powerful Python package that automates the creation of structured machine learning project templates. It helps you focus on development rather than setup by providing ready-to-use project structures with specialized templates for different ML domains.

## ✨ Features

### Project Templates

- **Basic ML**: Standard ML project structure with scikit-learn support
- **Deep Learning**: PyTorch-based project with neural network support
- **NLP**: Natural Language Processing project with transformers
- **Computer Vision**: Image processing project with PyTorch and OpenCV

### Each Template Includes

- 📁 Organized directory structure
- 📝 Example notebooks with step-by-step guides
- 🔧 Pre-configured dependencies
- 🛠 Template-specific utility functions
- 📊 Data preprocessing pipelines
- 🧪 Model training scripts
- 📈 Visualization utilities

### Project Structure

```
my_ml_project/
├── data/
│   ├── raw/          # Original data
│   ├── processed/    # Processed data
│   ├── external/     # External data sources
│   └── interim/      # Intermediate data
├── models/
│   └── logs/         # Training logs
├── notebooks/        # Example notebooks
├── src/
│   ├── data/         # Data processing scripts
│   ├── models/       # Model implementations
│   └── utils/        # Utility functions
├── config/           # Configuration files
├── reports/          # Project reports
├── tests/            # Unit tests
└── scripts/          # Automation scripts
```

## 📥 Installation

### From PyPI (Recommended)

```bash
pip install ml-project-generator
```

### From GitHub

```bash
pip install git+https://github.com/AarambhaAnta/ml-project-generator.git
```

### Development Installation

```bash
git clone https://github.com/AarambhaAnta/ml-project-generator.git
cd ml-project-generator
pip install -e .
```

## 🚀 Usage

### Basic Usage

```bash
ml-gen my_project
```

### With Template Selection

```bash
# Basic ML template (default)
ml-gen my_project

# Deep Learning template
ml-gen my_project --template deep_learning

# NLP template
ml-gen my_project --template nlp

# Computer Vision template
ml-gen my_project --template computer_vision
```

### With Virtual Environment

```bash
ml-gen my_project --venv
```

## 📚 Example Notebooks

Each template includes specialized notebooks:

### Basic ML

- Data exploration and analysis
- Model training and evaluation

### Deep Learning

- Data preparation and PyTorch setup
- Model training with PyTorch

### NLP

- Text preprocessing
- Transformer model training

### Computer Vision

- Image preprocessing
- Vision model training

## 🛠 Development

1. Clone the repository:

   ```bash
   git clone https://github.com/AarambhaAnta/ml-project-generator.git
   ```

2. Create a virtual environment:

   ```bash
   python -m venv venv
   source venv/bin/activate  # On macOS/Linux
   venv\Scripts\activate     # On Windows
   ```

3. Install dependencies:

   ```bash
   pip install -r requirements.txt
   ```

4. Run tests:
   ```bash
   python -m pytest
   ```

## 🤝 Contributing

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

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## 📝 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- Inspired by the cookiecutter data science project template
- Built with ❤️ for the ML community

---

Made with ❤️ by [@AarambhaAnta](https://github.com/AarambhaAnta)
