Metadata-Version: 2.4
Name: object-mother-sindri
Version: 0.1.0
Summary: Object Mother pattern implementation for Python
Project-URL: documentation, https://dimanu-py.github.io/object-mother/home/
Project-URL: repository, https://github.com/dimanu-py/object-mother/
Project-URL: homepage, https://dimanu-py.github.io/object-mother/home/
Project-URL: issues, https://github.com/dimanu-py/object-mother/issues/
Author-email: dimanu-py <dimanu.py@gmail.com>
License: MIT License
        
        Copyright (c) 2026 dimanu-py
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
License-File: LICENSE
Keywords: Object Mother,bdd,clean architecture,ddd,design patterns,domain driven design,hexagonal architecture,object mother,object mothers,object-mother,object-mothers,testing,unit tests
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing :: BDD
Classifier: Topic :: Software Development :: Testing :: Unit
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: faker
Provides-Extra: build
Requires-Dist: uv>=0.11.17; extra == 'build'
Description-Content-Type: text/markdown

# Object Mother Sindri

### Object Mother pattern for Python test data generation

Easy use and customizable implementation for the Object Mother pattern.

<p align="center">
  <a href="https://dimanu-py.github.io/object-mother/getting_started/">Getting Started</a>&nbsp;&nbsp;•&nbsp;
  <a href="https://dimanu-py.github.io/object-mother/object_mothers/">Object Mother Pattern</a>
</p>

<div align="center"><table><tr><td>
Sindri object mother replaces ad hoc test data with a consistent Object Mother toolkit.
Generate realistic test data for your domain objects with a simple and focused API.

<br>

<b>Why use it?</b> Generating test data with Sindri lets you:

<ul style="list-style-type: none">
  <li>🧪 Generate business-related test data via the Object Mother pattern</li>
  <li>🧰 Start from ready-made mothers for primitives and identifiers</li>
  <li>🧩 Compose complex test data by combining multiple mothers</li>
  <li>🔄 Reproduce test scenarios with seeded random data</li>
</ul>

</td></tr></table></div>

<div style="background-color: #1e2d3d; border: 1px solid #00d9ff; border-radius: 8px; padding: 16px; margin: 16px 0; display: flex; align-items: flex-start; gap: 12px;">
  <div style="font-size: 20px; color: #00d9ff; flex-shrink: 0;">💧</div>
  <div>
    <strong style="color: #00d9ff;">Created with Instant Python</strong><br>
    <span style="color: #a0a0a0;">This project was generated using <a href="https://github.com/dimanu-py/instant-python" style="color: #00d9ff; text-decoration: none;">Instant Python</a>, a fast, easy and reliable project generator for Python projects.</span>
  </div>
</div>

## Fast Kickstart

```bash
pip install object-mother-sindri      # includes faker for test data
```

Generate random test data for your tests:

```python
from object_mother import IntegerPrimitivesMother, StringPrimitivesMother

random_age = IntegerPrimitivesMother.any()
random_name = StringPrimitivesMother.any()
```

## Next Steps

- [Installation](https://dimanu-py.github.io/object-mother/getting_started/installation/)
- [First Steps](https://dimanu-py.github.io/object-mother/getting_started/first_steps/)
- [Object Mother Pattern](https://dimanu-py.github.io/object-mother/object_mothers/)
- [Contributing Guide](https://dimanu-py.github.io/object-mother/contributing/contributing_guide/)

<div style="background-color: #1e2d3d; border: 1px solid #00d9ff; border-radius: 8px; padding: 16px; margin: 16px 0; display: flex; align-items: flex-start; gap: 12px;">
  <div style="font-size: 20px; color: #00d9ff; flex-shrink: 0;">ℹ️</div>
  <div>
    <strong style="color: #00d9ff;">Learn More</strong><br>
    <span style="color: #a0a0a0;">To learn more about the object mother pattern, built-in mothers, and how to create custom mothers, visit the <a href="https://dimanu-py.github.io/object-mother-sindri/object_mothers" style="color: #00d9ff; text-decoration: none;">Object Mother Pattern</a> section of the documentation.</span>
  </div>
</div>
