Metadata-Version: 2.4
Name: mockbinn
Version: 0.1.2
Summary: Uma biblioteca para gerar dados fictícios para testes
Home-page: https://github.com/NathanBin/mockbinn
Author: Nathan
Author-email: nathan.lopes@sptech.school
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: parquet
Requires-Dist: pyarrow>=6.0.0; extra == "parquet"
Provides-Extra: dev
Requires-Dist: pytest>=6.0.0; extra == "dev"
Requires-Dist: twine>=3.0.0; extra == "dev"
Provides-Extra: all
Requires-Dist: pyarrow>=6.0.0; extra == "all"
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

# Mockbinn - Gerador de Dados Fictícios em Python

[![PyPI Version](https://img.shields.io/pypi/v/mockbinn)](https://pypi.org/project/mockbinn/)
[![Python Versions](https://img.shields.io/pypi/pyversions/mockbinn)](https://pypi.org/project/mockbinn/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Biblioteca Python para geração de dados fictícios estruturados, perfeita para testes, desenvolvimento e prototipagem.

## Instalação

```bash
pip install mockbinn
```

## Uso Básico

```python
from mockbinn import Mockbinn
from mockbinn.generators import UUIDGenerator, NameGenerator, EmailGenerator, DateGenerator, BooleanGenerator

# Inicializar o Mockbin
mocker = Mockbinn()

# Configurar um modelo de dados
mocker.set_model("users", 10).set_columns("users", {
    "id": UUIDGenerator,
    "name": NameGenerator,
    "email": EmailGenerator,
    "signup_date": DateGenerator,
    "is_active": BooleanGenerator
})

# Gerar DataFrame
df = mocker.get_df_from_model("users")
print(df)
```

## Exemplos de Uso

```python
# Gerar usuários e pedidos relacionados
users = mocker.set_model("users", 100).set_columns("users", {
    "user_id": UUIDGenerator,
    "name": NameGenerator
}).get_df_from_model("users")

orders = mocker.set_model("orders", 500).set_columns("orders", {
    "order_id": UUIDGenerator,
    "user_id": lambda: random.choice(users['user_id']),
    "item": ItemGenerator,
    "value": lambda: NumberGenerator(10, 1000, decimal=True)
}).get_df_from_model("orders")
```

## Customização de Geradores

```python
# Criando geradores customizados
corporate_email = lambda: EmailGenerator(domain="empresa.com.br")
high_value = lambda: NumberGenerator(1000, 10000, decimal=True)

mocker.set_model("employees", 50).set_columns("employees", {
    "name": NameGenerator,
    "email": corporate_email,
    "salary": high_value
})
```

## Exportando Dados

Você pode exportar os modelos gerados para CSV ou Parquet:

```python
from mockbinn import Mockbinn
from mockbinn.generators import NameGenerator

mocker = Mockbinn()
mocker.set_model("users", 100).set_columns("users", {
    "name": NameGenerator
})

# Método alternativo
mocker.export_model(
    model_name="users",
    output_path="data/users.csv",
    format='csv',
    index=False
)
```

Para usar exportação Parquet, instale as dependências extras:
```bash
pip install mockbinn[parquet]
# ou
pip install pyarrow
```

## Licença

Distribuído sob a licença MIT. Veja LICENSE para mais informações.

## Contato

Nathan Rodrigo - nathan.lopes@sptech.school
