Skip to main content

Advanced Data Generator - A powerful tool for generating realistic test data

Project description

🚀 Advanced Data Generator

Python Version License Status Version

📋 Table of Contents

🌟 Overview

Advanced Data Generator is a powerful, production-ready tool for generating realistic test data. It's designed to help developers, testers, and data scientists create high-quality synthetic data for various applications.

Key Benefits

  • 🎯 Generate realistic, consistent test data
  • 🌍 Support for multiple languages and locales
  • 📊 Rich data visualization capabilities
  • 🔄 Multiple export formats
  • 🚀 High performance and scalability
  • 🔒 Data validation and integrity checks

✨ Features

Core Features

  • Multi-Model Data Generation

    • User profiles with realistic attributes
    • Product catalogs with detailed information
    • Order management with relationships
    • Custom data generation rules
  • Internationalization

    • English (en_US) support
    • Persian (fa_IR) support
    • Extensible locale system
  • Data Export

    • JSON format
    • CSV format
    • YAML format
    • Custom export configurations
  • Data Validation

    • Email format validation
    • Phone number validation
    • Age verification
    • Data integrity checks

Advanced Features

  • REST API

    • Swagger documentation
    • Rate limiting
    • Authentication support
    • Error handling
  • Web Interface

    • Interactive dashboard
    • Real-time data visualization
    • Data filtering and sorting
    • Export management
  • Containerization

    • Docker support
    • Docker Compose orchestration
    • Environment isolation
    • Easy deployment

🛠 Installation

Prerequisites

  • Python 3.9 or higher
  • pip (Python package manager)
  • Git

Quick Start

# Clone the repository
git clone https://github.com/yourusername/data-generator.git
cd data-generator

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Docker Installation

# Build and run with Docker Compose
docker-compose up --build

📖 Usage

Command Line Interface

# Generate data with default settings
python main.py

# Generate specific number of records
python main.py --users 100 --products 50 --orders 200

# Generate data with Persian locale
python main.py --locale fa_IR

# Export data to different formats
python main.py --export json

API Usage

# Start the API server
uvicorn api:app --reload

# Access the API documentation
# Open http://localhost:8000/docs in your browser

Web Interface

# Start the web interface
streamlit run web_interface.py

# Access the web interface
# Open http://localhost:8501 in your browser

📚 API Documentation

The API documentation is available at http://localhost:8000/docs when the server is running.

Available Endpoints

  • POST /generate - Generate new data
  • POST /export - Export data
  • GET /users - Retrieve users
  • GET /products - Retrieve products
  • GET /orders - Retrieve orders

🖥 Web Interface

The web interface provides:

  • Interactive data generation
  • Real-time data visualization
  • Data filtering and sorting
  • Export management
  • Statistical analysis

📊 Data Models

User Model

class User:
    id: int
    name: str
    email: str
    address: str
    phone: str
    birth_date: datetime
    is_active: bool
    created_at: datetime

Product Model

class Product:
    id: int
    name: str
    description: str
    price: float
    category: str
    stock_quantity: int
    created_at: datetime

Order Model

class Order:
    id: int
    user_id: int
    product_id: int
    quantity: int
    total_price: float
    status: str
    created_at: datetime

🛠 Development

Setting Up Development Environment

# Install development dependencies
pip install -r requirements-dev.txt

# Run tests
pytest

# Format code
black .

# Lint code
flake8

Testing

# Run all tests
pytest

# Run specific test file
pytest tests/test_data_generator.py

# Run with coverage
pytest --cov=.

🤝 Contributing

We welcome contributions! Please follow these steps:

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

Code Style

  • Follow PEP 8 guidelines
  • Use type hints
  • Write docstrings
  • Add tests for new features

📄 License

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

🙏 Acknowledgments

📞 Support

For support, please:

  1. Check the documentation
  2. Open an issue
  3. Contact the maintainers

Made with ❤️ by ilya nozary

© 2024 Advanced Data Generator

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

advanced_data_generator-1.0.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

advanced_data_generator-1.0.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file advanced_data_generator-1.0.0.tar.gz.

File metadata

  • Download URL: advanced_data_generator-1.0.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for advanced_data_generator-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9103ec98dd65b7ca51734f5dbb44ea4445eeaeecab1ed501d7290bf134079aa9
MD5 e8ed027672a75651aaf18e5573714a48
BLAKE2b-256 d384cd28528121bb14ac991c1938dc2b283c8042d9c4c2e4360e44ef9047573e

See more details on using hashes here.

File details

Details for the file advanced_data_generator-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for advanced_data_generator-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f226eccbc90403024f878bd9de626f11c78c40a846b112cce795c7a9066b4ca9
MD5 50af764f72ef254ecccc2834df003a04
BLAKE2b-256 eee8adde6d14109d4598afe6270ba6dab6b3287f16af7f388e32178eac36b0d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page