Metadata-Version: 2.4
Name: filemint
Version: 0.1.0
Summary: A utility for generating test files in various formats
Home-page: https://github.com/yourusername/filemint
Author: Your Name
Author-email: your.email@example.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
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: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Requires-Dist: build>=0.10.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-python
Dynamic: summary

# FileMint

A Python utility for generating test files in various formats. FileMint makes it easy to create test datasets for development, testing, and demonstrations.

## Features

- Generate structured CSV files with consistent columns
- Generate unstructured text files with random content
- Generate binary files of specified sizes
- Generate intentionally malformed CSV files for testing error handling
- Command-line interface for easy file generation

## Installation

```bash
pip install filemint
```

## Usage

### Command Line

Generate test files using the command-line interface:

```bash
# Generate default set of test files (10 of each type)
filemint

# Specify output directory
filemint --output-dir my_test_files

# Specify number of each file type
filemint --csv 5 --txt 10 --bin 3 --invalid 2
```

### Python API

```python
from filemint.generators import generate_test_files

# Generate test files with default settings
files = generate_test_files(output_dir="test_files")

# Customize the number of each file type
files = generate_test_files(
    output_dir="test_files",
    num_csv=5,
    num_txt=10,
    num_binary=3,
    num_invalid=2
)

# Generate individual files
from filemint.generators import generate_csv, generate_txt, generate_binary, generate_invalid_csv

# Generate a CSV file with 20 rows
csv_file = generate_csv("output_dir", "data.csv", num_rows=20)

# Generate a text file with 50 lines
text_file = generate_txt("output_dir", "notes.txt", num_lines=50)

# Generate a 1MB binary file
binary_file = generate_binary("output_dir", "data.bin", size_in_kb=1024)

# Generate an invalid CSV file with 15 rows
invalid_file = generate_invalid_csv("output_dir", "bad_data.csv", num_rows=15)
```

## Development

### Setup

1. Clone the repository
2. Create and activate a virtual environment
3. Install development dependencies

```bash
git clone https://github.com/yourusername/filemint.git
cd filemint
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
```

### Testing

Run tests using pytest:

```bash
pytest
```

## License

This project is licensed under the MIT License - see the LICENSE file for details. 
