DATAMIMIC Community Edition

0

šŸ§  AI-powered test data generation platform enabling developers to create realistic, scalable, and privacy-compliant test data. Features model-driven data generation, GDPR compliance, and seamless Pā€¦

Productivity

faker
data-simulation
data-privacy
data-generation

DATAMIMIC Community Edition šŸŒŸ

Maintainability Rating Reliability Rating Security Rating Coverage License: MIT Python Version GitHub Stars GitHub Forks PyPI version Downloads

Introduction

Welcome to DATAMIMIC, the Model-Driven and AI-powered platform that revolutionizes test data generation! By leveraging advanced AI and model-driven technologies, DATAMIMIC enables developers and testers to create realistic, scalable, and privacy-compliant test data with ease.

Watch the video


DATAMIMIC Feature Overview šŸŽÆ

Core Features šŸ”µ

šŸ§  Model-Driven Generation

  • Create sophisticated data models for consistent test data generation
  • Define complex relationships between entities
  • Support for nested and hierarchical data structures

šŸ“Š Data Types & Integration

  • Basic Data Types Support
    • All standard primitive types
    • Complex data structures
    • Custom data type definitions
  • Core Database Integration
    • RDBMS support (PostgreSQL, MySQL, Oracle)
    • MongoDB integration
    • Basic import/export functionality

šŸ›”ļø Data Privacy & Compliance

  • GDPR-compliant data anonymization
  • Basic pseudonymization capabilities
  • Data masking for sensitive information
  • Configurable privacy rules

āš” Core Capabilities

  • High Performance Engine
    • Optimized for large datasets
    • Parallel processing support
    • Memory-efficient operations
  • Python Integration
    • Native Python API
    • Seamless dependency management
    • Python script extensions
  • Basic Extensibility
    • Custom generator support
    • Plugin architecture
    • Basic scripting capabilities

Enterprise Features šŸŸ£

šŸ§  AI-Powered Generation

  • GAN-based Synthesis
    • Realistic data patterns
    • Learning from existing datasets
    • Pattern replication
  • LLM Integration
    • Natural language content
    • Context-aware generation
    • Semantic consistency
  • Automatic Modeling
    • Schema inference
    • Pattern detection
    • Model optimization

šŸ”— Advanced Integrations

  • Streaming Support
    • Kafka integration
    • Real-time data generation
    • Stream processing
  • Enterprise Formats
    • EDI processing
    • Advanced XSD handling
    • Custom format support
  • Advanced Connectors
    • Enterprise systems
    • Cloud platforms
    • Legacy systems

šŸ›”ļø Enhanced Privacy Features

  • Advanced Anonymization
    • Context-aware masking
    • Reversible anonymization
    • Custom privacy rules
  • Compliance Tools
    • Audit logging
    • Compliance reporting
    • Policy enforcement
  • Enterprise Security
    • Role-based access
    • Encryption support
    • Security audit trails

šŸ“ˆ Advanced Data Validation

  • Validation Framework
    • Custom rule engines
    • Complex validation logic
    • Cross-field validation

Why Use DATAMIMIC?

Traditional test data generation can be time-consuming and may compromise data privacy. DATAMIMIC addresses these challenges by:

  • Reducing Time-to-Market: Quickly generate test data without manual intervention.
  • Enhancing Test Coverage: Simulate diverse data scenarios for comprehensive testing.
  • Ensuring Compliance: Maintain data privacy and comply with legal regulations.
  • Improving Data Quality: Generate realistic data that mirrors production environments.

Installation

Prerequisites

  • Operating System: Windows, macOS, or Linux
  • Python: Version 3.10 or higher
  • Optional: uv Package Manager for development setup GitHub

User Installation

The simplest way to get started with DATAMIMIC is through pip:

pip install datamimic-ce

Verify the installation:

datamimic --version

Developer Installation

For contributors and developers who want to work with the source code:

  1. Install uv Package Manager:

    pip install uv
    
  2. Clone and set up the repository:

    git clone https://github.com/rapiddweller/datamimic.git
    cd datamimic
    uv sync
    

Usage Guide

Basic Usage

  1. Create a new data generation project:

    datamimic init my-project
    cd my-project
    
  2. Configure your data model in datamimic.xml:

    <setup>
        <generate name="datamimic_user_list" count="100" target="CSV,JSON">
            <variable name="person" entity="Person(min_age=18, max_age=90, female_quota=0.5)"/>
            <key name="id" generator="IncrementGenerator"/>
            <key name="first_name" script="person.given_name"/>
            <key name="last_name" script="person.family_name"/>
            <key name="gender" script="person.gender"/>
            <key name="birth_date" script="person.birthdate" converter="DateFormat('%d.%m.%Y')"/>
            <key name="email" script="person.family_name + '@' + person.given_name + '.de'"/>
            <key name="ce_user" values="True, False"/>
            <key name="ee_user" values="True, False"/>
            <key name="datamimic_lover" constant="DEFINITELY"/>
        </generate>
    </setup>
    
  3. Generate data:

    datamimic run datamimic.xml
    
  4. Access the generated data in the output directory.

    json export:

    [
    {"id": 1, "first_name": "Mary", "last_name": "Mcgowan", "gender": "female", "birth_date": "1946-05-15T00:00:00", "email": "Mcgowan@Mary.de", "ce_user": false, "ee_user": true, "datamimic_lover": "DEFINITELY"},
    {"id": 2, "first_name": "Gabrielle", "last_name": "Malone", "gender": "female", "birth_date": "1989-11-27T00:00:00", "email": "Malone@Gabrielle.de", "ce_user": false, "ee_user": true, "datamimic_lover": "DEFINITELY"},
    {"id": 4, "first_name": "Margaret", "last_name": "Torres", "gender": "female", "birth_date": "2006-07-13T00:00:00", "email": "Torres@Margaret.de", "ce_user": false, "ee_user": false, "datamimic_lover": "DEFINITELY"},
    {"id": 5, "first_name": "Monica", "last_name": "Meyers", "gender": "female", "birth_date": "1983-07-22T00:00:00", "email": "Meyers@Monica.de", "ce_user": true, "ee_user": false, "datamimic_lover": "DEFINITELY"},
    {"id": 6, "first_name": "Jason", "last_name": "Davis", "gender": "male", "birth_date": "1941-07-05T00:00:00", "email": "Davis@Jason.de", "ce_user": true, "ee_user": false, "datamimic_lover": "DEFINITELY"},
    {"...":  "..."},
    {"id": 100, "first_name": "Jared", "last_name": "Rivas", "gender": "male", "birth_date": "1975-03-16T00:00:00", "email": "Rivas@Jared.de", "ce_user": true, "ee_user": true, "datamimic_lover": "DEFINITELY"}
    ]
    

    csv export:

    id|first_name|last_name|gender|birth_date|email|ce_user|ee_user|datamimic_lover
    1|Mary|Mcgowan|female|1946-05-15 00:00:00|Mcgowan@Mary.de|False|True|DEFINITELY
    2|Gabrielle|Malone|female|1989-11-27 00:00:00|Malone@Gabrielle.de|False|True|DEFINITELY
    3|Antonio|Davis|male|2005-05-12 00:00:00|Davis@Antonio.de|False|True|DEFINITELY
    4|Margaret|Torres|female|2006-07-13 00:00:00|Torres@Margaret.de|False|False|DEFINITELY
    5|Monica|Meyers|female|1983-07-22 00:00:00|Meyers@Monica.de|True|False|DEFINITELY
    ...
    100|Jason|Davis|male|1941-07-05 00:00:00|Davis@Jason.de|True|False|DEFINITELY
    

Advanced Features

DATAMIMIC supports various advanced features:

  • Custom Generators: Create your own data generators
  • Data Relationships: Define complex relationships between entities
  • Import/Export Formats: Support for JSON, XML, CSV, RDBMS and MongoDB
  • Import/Export Formats ( only EE ): Kafka, EDI, XSD and more
  • Data Anonymization: Anonymize data to comply with privacy regulations
  • Data Validation: Define and enforce data validation rules
  • Scripting: Extend functionality using Python scripts
  • Database Integration: Connect to databases for seamless data generation
  • Model-Driven Generation: Utilize models to generate realistic data
  • Validation Rules: Define and enforce data validation rules
  • Scripting: Extend functionality using Python scripts

Examples and Demos

Explore our demo collection:

# List available demos
datamimic demo list

# Run a specific demo
datamimic demo create demo-model
datamimic run ./demo-model/datamimic.xml

Key demos include:

  • Basic entity generation
  • Complex relationships
  • Database integration
  • Custom generator creation
  • Privacy compliance examples

Find more examples in the datamimic_ce/demos directory.


Contributing

We ā¤ļø contributions! Here's how you can help:

  • Code Contributions: Submit pull requests for new features or bug fixes.
  • Documentation: Improve existing docs or help with translations.
  • Community Engagement: Join discussions and support other users.

šŸ“œ DATAMIMIC Licensing Options

šŸŒŸ Community Edition

Open Source Freedom for Everyone

āœØ Key Benefits

  • šŸ”“ MIT License: Maximum freedom for innovation
  • šŸ’¼ Commercial Ready: Use freely in commercial projects
  • šŸ”„ Modification Rights: Full source code access and modification rights
  • šŸŒ No Restrictions: Deploy anywhere, anytime

šŸŽ What's Included

  • šŸ“¦ Core Features
    • Model-driven data generation
    • Basic data types & integrations
    • GDPR compliance tools
  • šŸ‘„ Community Support
    • Active GitHub community
    • Public issue tracking
    • Community discussions
    • Regular updates

šŸ’« Perfect For

  • Individual developers
  • Startups & small teams
  • Open source projects
  • Learning & evaluation
  • POC development

ā­ Enterprise Edition

Professional Power for Business Success

šŸš€ Premium Benefits

  • šŸ“‹ Commercial License: Enterprise-grade flexibility
  • šŸ” Advanced Features: Full suite of professional tools
  • šŸŽÆ Priority Support: Direct access to expert team
  • šŸ› ļø Custom Solutions: Tailored to your needs

šŸ’Ž Premium Features

  • šŸ¤– AI Capabilities
    • GAN-based synthesis
    • LLM integration
    • Automated modeling
  • šŸ”— Enterprise Integration
    • Advanced connectors
    • Kafka streaming
    • EDI support
  • šŸ›”ļø Enhanced Security
    • Advanced privacy features
    • Compliance reporting
    • Audit trails

šŸŽÆ Ideal For

  • Large enterprises
  • Financial institutions
  • Healthcare organizations
  • Government agencies
  • High-compliance industries

šŸ“ž Get Started

Ready to unlock the full potential of DATAMIMIC?

Contact Our Team:


šŸ¤ Compare Editions

FeatureCommunityEnterprise
Base Featuresāœ…āœ…
Source Code Accessāœ…āœ…
Commercial Useāœ…āœ…
AI FeaturesāŒāœ…
Priority SupportāŒāœ…
Enterprise IntegrationsāŒāœ…
SLA SupportāŒāœ…
Custom DevelopmentāŒāœ…

"Empower your data generation journey with the right DATAMIMIC edition for your needs"


Support

Need help or have questions? We're here for you!


Connect with Us

Stay updated and connect with our community!


Acknowledgments

A big thank you to all our contributors! Your efforts make DATAMIMIC possible.


Don't forget to ā­ star and šŸ‘€ watch this repository to stay updated!


Legal Notices

For detailed licensing information, please see the LICENSE file.