A Python library to generate various synthetic DataFrames for different business sectors (Tech, Food, Finance, Apparel, forestry, etc.).
Project description
leblanc: Sectorial Synthetic Data Generator
I. Overview
leblanc is a modular Python library designed for Data Scientists to rapidly generate large-scale synthetic datasets across various business sectors. Built on top of Pandas, NumPy, and Faker, it creates realistic, structured DataFrames suitable for training, testing, and Exploratory Data Analysis (EDA).
New in v0.6.3:
- Object-Oriented Design: Use Classes for better control.
- Internationalization (i18n): Native support for Brazilian Portuguese (
pt_BR). - Data Cleaning Practice: Native support for injecting missing values (
NaN).
Supported Sectors (Classes)
| Class | Data Generated | Key Domain Variables |
|---|---|---|
Tech |
Tech Sales | Unit Price, Quantity, Category |
Food |
Food & Beverages Sales | Expiration Date, Perishability |
Apparel |
Apparel & Fashion Sales | Size, Color, Return Flag |
Financial |
Financial Transactions | Interest Rate, Client Risk Level, Default Flag |
HealthBeauty |
Health & Beauty Sales/Services | Recurrence Days, Sales Channel |
Agribusiness |
Agribusiness Records | Climate Condition, Area (Ha), Production Yield |
Forestry |
Forestry Inventory/Harvest | Planting Age, Management Type, Total Volume ($m^3$) |
II. Installation
leblanc is available on PyPI. Use pip to install the latest stable version:
pip install leblanc
III. Usage Example
1. Basic Usage (English - Default)
The library now uses classes with a standard .build() method.
import pandas as pd
from leblanc import Tech, Agribusiness
# 1. Generate Technology Sales Data
# Uses seed=42 by default for reproducibility
df_tech = Tech(num_records=1000).build()
print("--- Technology Data Sample ---")
print(df_tech.head())
# 2. Generate Agribusiness Records
df_agro = Agribusiness(num_records=500).build()
2. Brazilian Portuguese Support (pt_BR) 🇧🇷
You can generate data localized for Brazil (translated products, categories, and regions) by passing the locale parameter.
from leblanc import Food
# Generates data with 'Leite', 'Café', 'Açougue', etc.
df_food_br = Food(num_records=100, locale='pt_BR').build()
print(df_food_br.head())
3. Data Cleaning Practice (Injecting Nulls)
Perfect for teaching or testing how models handle missing data. You can inject NaN values into specific columns.
from leblanc import Financial
# Simulates a dirty dataset where 'contracted_value' has missing data
df_fin = Financial(num_records=1000).build(missing_data_cols=['contracted_value'])
print(f"Missing values generated: {df_fin['contracted_value'].isnull().sum()}")
IV. License
This project is licensed under the Apache License, Version 2.0. See the LICENSE for details.
🇧🇷 leblanc: Gerador Setorial de Dados Sintéticos
I. Visão Geral
leblanc é uma biblioteca Python modular projetada para a geração rápida de conjuntos de dados sintéticos de grande escala. É construída utilizando Pandas, NumPy e Faker para criar DataFrames estruturados e realistas, adequados para treinamento em Data Science, testes e análise exploratória de dados (EDA).
Novidades na v0.6.3:
Design Orientado a Objetos: Uso de Classes para maior controle.
Internacionalização (i18n): Suporte nativo para Português do Brasil (pt_BR).
Prática de Limpeza de Dados: Suporte nativo para injeção de valores nulos (NaN).
Setores Suportados (Classes)
| Classe | Dados Gerados | Variáveis-Chave do Domínio |
|---|---|---|
Tech |
Vendas de Tecnologia | Preço Unitário, Quantidade, Categoria |
Food |
Vendas de Alimentos e Bebidas | Data de Validade, Perecibilidade |
Apparel |
Vendas de Vestuário e Moda | Tamanho, Cor, Flag de Devolução |
Financial |
Transações Financeiras | Taxa de Juros, Nível de Risco do Cliente, Flag de Inadimplência |
HealthBeauty |
Vendas/Serviços de Saúde e Beleza | Dias de Recorrência, Canal de Vendas |
Agribusiness |
Registros de Agronegócios | Condição Climática, Área (Ha), Produtividade |
Forestry |
Inventário/Colheita Florestal | Idade do Plantio, Tipo de Manejo, Volume Total (m³) |
II. Instalação
leblanc está disponível no PyPI. Use o pip para instalar a versão estável mais recente:
pip install leblanc
III. Exemplos de Uso
1. Uso Básico (Padrão)
A biblioteca agora utiliza classes com um método padronizado .build().
import pandas as pd
from leblanc import Tech, Agribusiness
# 1. Gera Dados de Vendas de Tecnologia
# Usa seed=42 por padrão para reprodutibilidade
df_tech = Tech(num_records=1000).build()
print("--- Amostra de Dados de Tecnologia ---")
print(df_tech.head())
2. Suporte a Português (pt_BR) 🇧🇷
Você pode gerar dados localizados para o Brasil (produtos, categorias e regiões traduzidas) passando o parâmetro locale.
from leblanc import Food
# Gera dados com 'Leite', 'Café', 'Açougue', etc.
df_food_br = Food(num_records=100, locale='pt_BR').build()
print(df_food_br.head())
3. Prática de Limpeza de Dados (Injeção de Nulos)
Perfeito para estudo de como modelos lidam com dados faltantes.
Você pode injetar valores NaN em colunas específicas.
from leblanc import Financial
# Simula um dataset "sujo" onde 'contracted_value' possui dados faltantes
df_fin = Financial(num_records=1000).build(missing_data_cols=['contracted_value'])
print(f"Valores nulos gerados: {df_fin['contracted_value'].isnull().sum()}")
IV. Licença
Este projeto está licenciado sob a Apache License, Version 2.0. Consulte a LICENSE para obter detalhes.
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
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 leblanc-0.6.3.tar.gz.
File metadata
- Download URL: leblanc-0.6.3.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d83e62093330282e16924891def1f315aa49f30744036ace55f49884c8e7639
|
|
| MD5 |
8ea7c184f3cbd28be4a1a4f9beba44d5
|
|
| BLAKE2b-256 |
bdca3ecf2ea75f2e000bf188bcba1f83605890bb26bbc6fa8e6b95b2dde5210e
|
File details
Details for the file leblanc-0.6.3-py3-none-any.whl.
File metadata
- Download URL: leblanc-0.6.3-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a3e11405c2811a162a9617f97ed2be3d27614e50736d4e13435e67cebfbdcf9
|
|
| MD5 |
12202dbc6d2d757a2e2ea3a0584b8f52
|
|
| BLAKE2b-256 |
8e47decff8b262e5b7f6c4709ce58fc92397f9ab127ab3cad9e02afc8f826936
|