Skip to main content

Code generation toolkit for data engineering

Project description

DaedalusPy

Visão Geral

DaedalusPy é um framework open-source para engenharia de dados, criado para acelerar a construção de bibliotecas de dados corporativas e pipelines analíticos modulares, com foco em padronização, governança, reuso e produtividade em ambientes multi-cloud.

Objetivos

  • Padronizar a modelagem, transformação e integração de dados em projetos analíticos.
  • Centralizar entidades, domínios, validações e funções reutilizáveis.
  • Facilitar a construção, orquestração e manutenção de pipelines robustos e escaláveis.
  • Promover governança, versionamento e documentação centralizada.

Macro Entregas (Explicação Detalhada)

  1. Geração de Bibliotecas de Dados

    • O que faz: Cria a estrutura base de uma biblioteca de dados corporativa, centralizando entidades, configurações, serviços e ferramentas reutilizáveis.
    • Comando:
      python -m daedaluspy.cli create-lib <nome> [--dataname <entidade>] [--systemname <domínio>]
      
    • Como funciona: Gera uma pasta <libname>/ com subpastas para config/, data/, service/, tools/ e arquivos essenciais. Isso garante que todo projeto siga o mesmo padrão e facilite o reuso entre times.
    • Quando usar: Sempre que iniciar um novo domínio de dados ou projeto analítico.
  2. Geração de Entidades de Dados

    • O que faz: Cria classes de entidades de negócio (ex: ClienteEntity) já com estrutura OOP, enums, validações e templates prontos para uso.
    • Comando:
      python -m daedaluspy.cli create-data <ClasseEntidade> --tier <raw|clear|model> --cloud <azure|aws|google> [--columns ...]
      
    • Como funciona: Gera arquivos Python na estrutura correta, com métodos, validações e documentação, prontos para serem usados em pipelines e serviços.
    • Quando usar: Sempre que precisar modelar uma nova entidade de dados, seja para ingestão, transformação ou consumo.
  3. Geração de Serviços

    • O que faz: Cria serviços de integração (ex: APIs, bancos de dados) já integrados à biblioteca, seguindo padrões de OOP e enums.
    • Comando:
      python -m daedaluspy.cli create-service <NomeServico> --type <api|database> [--models ...]
      
    • Como funciona: Gera a estrutura de serviço, facilitando integrações externas e padronizando o acesso a dados.
    • Quando usar: Sempre que precisar integrar uma nova fonte ou destino de dados ao seu ecossistema.
  4. Geração de Pipelines

    • O que faz: Cria a estrutura de um pipeline modular, pronto para orquestração, sem subpastas desnecessárias e com todos os arquivos essenciais (main, config, steps, etc).
    • Comando:
      python -m daedaluspy.cli create-pipeline <domínio> <entidade> --tier <raw|clear|model> --output <pasta> [--template_type ...] [--lib_name ...] [--cloud_provider ...] [--entity_target ...] [--entity_target_class ...]
      
    • Como funciona: Gera uma pasta do pipeline diretamente no local especificado, pronta para receber a lógica de negócio e ser executada.
    • Quando usar: Sempre que precisar criar um novo fluxo de ingestão, transformação ou entrega de dados, reaproveitando entidades e serviços da biblioteca.

Cada comando do DaedalusPy foi desenhado para garantir padronização, acelerar o desenvolvimento e permitir que o engenheiro de dados foque no que realmente importa: a lógica de negócio e a entrega de valor. O CLI não substitui o trabalho do desenvolvedor, mas elimina o retrabalho estrutural e direciona o padrão arquitetural do projeto.

Casos de Uso Reais

  • Criar biblioteca de dados corporativa:

    python -m daedaluspy.cli create-lib corp_data
    
  • Adicionar entidade de negócio:

    python -m daedaluspy.cli create-data ClienteEntity --tier raw --cloud azure
    
  • Adicionar serviço de integração:

    python -m daedaluspy.cli create-service Salesforce --type api
    
  • Gerar pipeline para domínio/entidade/camada:

    python -m daedaluspy.cli create-pipeline vendas ClienteEntity --tier clear --output .
    

Estrutura Gerada (Exemplo Real)

corp_data/
  config/
    __init__.py
    config.py
  data/
    raw/
      __init__.py
      ClienteEntity.py
    clear/
    model/
  service/
    salesforce/
      __init__.py
  tools/
    logger/
      __init__.py
  __init__.py
  README.md
  setup.py

vendas_ClienteEntity_clear/
  __init__.py
  base.py
  config.py
  flowbuilder.py
  main.py
  README.md
  requirements.txt
  steps.py

Fluxo de Trabalho Típico

  1. Crie a biblioteca:
    python -m daedaluspy.cli create-lib corp_data
  2. Adicione entidades e serviços:
    python -m daedaluspy.cli create-data ClienteEntity --tier raw --cloud azure
    python -m daedaluspy.cli create-service Salesforce --type api
  3. Gere o pipeline:
    python -m daedaluspy.cli create-pipeline vendas ClienteEntity --tier clear --output .
  4. Implemente lógica e execute.

Integração e Extensibilidade

  • Suporte a múltiplos clouds e bancos.
  • Templates customizáveis.
  • Código OOP, enums e tipagem forte.
  • CLI extensível para novos comandos.

Melhores Práticas

  • Use o CLI para gerar a estrutura base e arquivos padronizados.
  • Implemente a lógica de negócio, transformações e integrações nos arquivos gerados.
  • Siga os padrões de OOP, enums e templates definidos pelo framework.
  • Evite alterar manualmente a estrutura dos arquivos base gerados pelo CLI (exceto para lógica de negócio).
  • Mantenha a biblioteca centralizada e versionada.
  • Use templates para padronizar lógica e documentação.

Público-Alvo

  • Engenheiros e arquitetos de dados
  • Times de analytics, BI e governança
  • Projetos que exigem padronização, reuso e automação

Licença

MIT

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

daedaluspy-1.0.1.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

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

daedaluspy-1.0.1-py3-none-any.whl (54.1 kB view details)

Uploaded Python 3

File details

Details for the file daedaluspy-1.0.1.tar.gz.

File metadata

  • Download URL: daedaluspy-1.0.1.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for daedaluspy-1.0.1.tar.gz
Algorithm Hash digest
SHA256 bb6c0875c37c854f4aedbff4799a3519986f207fc3ba37abc5badee965d8972c
MD5 a55a30d605da15bccf7269b46dd80198
BLAKE2b-256 2320c74f7ee0e15cf5df9acd0a3147382937cbcf8b82ad0c23dc050295f29307

See more details on using hashes here.

File details

Details for the file daedaluspy-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: daedaluspy-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 54.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for daedaluspy-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76ad57d6ca20a8afa6a07bff8004fca148bfff72d08c9bd6c130f056096aeca7
MD5 2f557e312d5034a7f92b3a5ef7a56992
BLAKE2b-256 67f35ae9ecb9fc6fcf42afaf0811dafdfe4e785b700d13ad50ee1486baffdb5a

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