Skip to main content

A Python library to generate various synthetic DataFrames for different business sectors (Tech, Food, Finance, Apparel, forestry, etc.).

Project description

Leblanc Banner

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

leblanc-0.6.3.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

leblanc-0.6.3-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

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

Hashes for leblanc-0.6.3.tar.gz
Algorithm Hash digest
SHA256 4d83e62093330282e16924891def1f315aa49f30744036ace55f49884c8e7639
MD5 8ea7c184f3cbd28be4a1a4f9beba44d5
BLAKE2b-256 bdca3ecf2ea75f2e000bf188bcba1f83605890bb26bbc6fa8e6b95b2dde5210e

See more details on using hashes here.

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

Hashes for leblanc-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0a3e11405c2811a162a9617f97ed2be3d27614e50736d4e13435e67cebfbdcf9
MD5 12202dbc6d2d757a2e2ea3a0584b8f52
BLAKE2b-256 8e47decff8b262e5b7f6c4709ce58fc92397f9ab127ab3cad9e02afc8f826936

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page