Advanced Data Generator - A powerful tool for generating realistic test data
Project description
🚀 Advanced Data Generator
📋 Table of Contents
- Overview
- Features
- Installation
- Usage
- API Documentation
- Web Interface
- Data Models
- Development
- Contributing
- License
🌟 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 dataPOST /export- Export dataGET /users- Retrieve usersGET /products- Retrieve productsGET /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:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
- Faker for realistic data generation
- SQLAlchemy for database operations
- FastAPI for the REST API
- Streamlit for the web interface
📞 Support
For support, please:
- Check the documentation
- Open an issue
- Contact the maintainers
Made with ❤️ by ilya nozary
© 2024 Advanced Data Generator
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9103ec98dd65b7ca51734f5dbb44ea4445eeaeecab1ed501d7290bf134079aa9
|
|
| MD5 |
e8ed027672a75651aaf18e5573714a48
|
|
| BLAKE2b-256 |
d384cd28528121bb14ac991c1938dc2b283c8042d9c4c2e4360e44ef9047573e
|
File details
Details for the file advanced_data_generator-1.0.0-py3-none-any.whl.
File metadata
- Download URL: advanced_data_generator-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f226eccbc90403024f878bd9de626f11c78c40a846b112cce795c7a9066b4ca9
|
|
| MD5 |
50af764f72ef254ecccc2834df003a04
|
|
| BLAKE2b-256 |
eee8adde6d14109d4598afe6270ba6dab6b3287f16af7f388e32178eac36b0d3
|