Metadata-Version: 2.4
Name: pyclassstruct
Version: 1.0.0
Summary: Convert simple Python scripts to class-based structured code
Author: Mirjan Ali Sha
License: MIT
Project-URL: Homepage, https://github.com/Mirjan-Ali-Sha/pyclassstruct
Project-URL: Repository, https://github.com/Mirjan-Ali-Sha/pyclassstruct
Project-URL: Issues, https://github.com/Mirjan-Ali-Sha/pyclassstruct/issues
Keywords: python,refactoring,classes,structure,cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
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: Topic :: Software Development :: Code Generators
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: click>=8.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"

# PyClassStruct

A powerful CLI tool that converts simple Python scripts to well-organized class-based structures.

## Installation

```bash
pip install -e .
```

## Usage

### Analyze Python Files

Analyze files/folders to generate a report and classes.txt:

```bash
# Analyze a folder
pyclassstruct analyze ./my_scripts

# Analyze a single file
pyclassstruct analyze ./my_script.py
```

This generates:
- `report.txt` - Statistics and structure visualization
- `classes.txt` - Proposed class structure (edit this to customize)

### Convert to Structured Classes

Convert scripts to class-based structure:

```bash
# Convert using auto-detection or existing classes.txt
pyclassstruct convert ./my_scripts

# Convert a single file
pyclassstruct convert ./my_script.py
```

This creates a `structured/` folder with organized class files.

## classes.txt Format

```txt
# Class definitions - one per line
# Format: ClassName: function1, function2, function3

UserManager: create_user, delete_user, update_user
DatabaseHandler: connect_db, query, close_connection
```

## Features

- 🔍 **Smart Detection**: Automatically groups related functions into classes
- 📊 **Dependency Analysis**: Detects function call relationships
- 🏷️ **Naming Patterns**: Groups functions by common prefixes
- 📁 **Flexible Input**: Works with single files or entire folders
- 📝 **Customizable**: Edit classes.txt to define your own structure

## License

MIT License
