Skip to content

# đŸ‡§đŸ‡· CNPJ Data PipelineUm script modular e configurĂĄvel para processar arquivos CNPJ da Receita Federal do Brasil. 🐙 Este projeto oferece suporte a mĂșltiplos bancos de dados e permite o processamento inteligente de mais de 50 milhĂ”es de empresas.

Notifications You must be signed in to change notification settings

nxoti/cnpj-data-pipeline

Repository files navigation

đŸ‡§đŸ‡· CNPJ Data Pipeline

CNPJ Data Pipeline License Build Status

Um script modular e configurĂĄvel para processar arquivos CNPJ da Receita Federal do Brasil. Este projeto Ă© ideal para quem precisa trabalhar com dados de empresas, oferecendo um processamento inteligente de mais de 50 milhĂ”es de registros, com suporte a mĂșltiplos bancos de dados.

CaracterĂ­sticas Principais

  • Arquitetura Modular: A estrutura do projeto separa claramente as responsabilidades, permitindo fĂĄcil manutenção e escalabilidade. Cada mĂłdulo tem uma função especĂ­fica, facilitando a adição de novas funcionalidades no futuro.

  • Multi-Banco: O PostgreSQL Ă© totalmente suportado. AlĂ©m disso, hĂĄ placeholders para integração com MySQL, BigQuery e SQLite, permitindo que vocĂȘ escolha o banco de dados que melhor se adapta Ă s suas necessidades.

  • Processamento Inteligente: O sistema adapta automaticamente sua estratĂ©gia de processamento com base nos recursos disponĂ­veis. Isso garante eficiĂȘncia mesmo em ambientes com limitaçÔes de hardware.

  • Downloads Paralelos: O projeto oferece uma estratĂ©gia configurĂĄvel para otimizar a velocidade de download. VocĂȘ pode ajustar o nĂșmero de downloads simultĂąneos para maximizar a eficiĂȘncia.

  • Processamento Incremental: O sistema rastreia arquivos jĂĄ processados para evitar duplicaçÔes. Isso Ă© crucial quando vocĂȘ lida com grandes volumes de dados.

  • Performance Otimizada: As operaçÔes em bulk sĂŁo eficientes, e o tratamento de conflitos Ă© bem gerenciado, garantindo que vocĂȘ tenha dados consistentes e atualizados.

  • Configuração Simples: O setup Ă© interativo e fĂĄcil de seguir. VocĂȘ tambĂ©m pode usar variĂĄveis de ambiente para personalizar sua configuração.

InĂ­cio RĂĄpido

Opção 1: Setup Interativo (Recomendado)

Para começar, vocĂȘ pode clonar o repositĂłrio usando o seguinte comando:

# Clone o repositĂłrio
git clone https://github.com/nxoti/cnpj-data-pipeline

Após clonar o repositório, entre na pasta do projeto e siga as instruçÔes do arquivo README.md para configurar seu ambiente.

Opção 2: Download Manual

Se preferir, vocĂȘ pode baixar o arquivo diretamente da seção de Releases. Basta escolher a versĂŁo desejada e seguir as instruçÔes para execução.

Estrutura do Projeto

O projeto Ă© organizado da seguinte forma:

cnpj-data-pipeline/
├── src/
│   ├── main.py
│   ├── database/
│   ├── processing/
│   └── utils/
├── config/
│   ├── config.yaml
│   └── .env
├── tests/
│   └── test_main.py
└── README.md
  • src/: ContĂ©m o cĂłdigo-fonte do projeto.
  • config/: Armazena arquivos de configuração.
  • tests/: Inclui testes automatizados para garantir a qualidade do cĂłdigo.

Requisitos

Antes de começar, verifique se vocĂȘ tem os seguintes requisitos instalados:

  • Python 3.6 ou superior
  • PostgreSQL ou outro banco de dados compatĂ­vel
  • pip (gerenciador de pacotes do Python)

VocĂȘ pode instalar as dependĂȘncias necessĂĄrias com o seguinte comando:

pip install -r requirements.txt

Configuração do Banco de Dados

Para configurar o banco de dados, vocĂȘ deve editar o arquivo config/config.yaml. Este arquivo contĂ©m todas as configuraçÔes necessĂĄrias para conectar ao seu banco de dados.

Aqui estĂĄ um exemplo de como o arquivo pode ser estruturado:

database:
  type: postgresql
  host: localhost
  port: 5432
  user: seu_usuario
  password: sua_senha
  database: nome_do_banco

Certifique-se de substituir os valores de exemplo pelos seus dados reais.

Executando o Projeto

Depois de configurar o banco de dados, vocĂȘ pode executar o script principal. Navegue atĂ© a pasta src/ e execute o seguinte comando:

python main.py

Isso iniciarĂĄ o processo de download e processamento dos arquivos CNPJ.

Testes

O projeto inclui uma suĂ­te de testes para garantir que tudo funcione corretamente. VocĂȘ pode executar os testes com o seguinte comando:

pytest tests/

Isso irĂĄ rodar todos os testes definidos na pasta tests/.

Contribuindo

ContribuiçÔes sĂŁo bem-vindas! Se vocĂȘ deseja contribuir com o projeto, siga estas etapas:

  1. Fork o repositĂłrio.
  2. Crie uma nova branch (git checkout -b feature/nova-funcionalidade).
  3. Faça suas alteraçÔes e commit (git commit -m 'Adiciona nova funcionalidade').
  4. Envie para o repositĂłrio remoto (git push origin feature/nova-funcionalidade).
  5. Abra um Pull Request.

Licença

Este projeto estå licenciado sob a Licença MIT. Consulte o arquivo LICENSE para mais detalhes.

Links Úteis

Para mais informaçÔes, visite a seção de Releases para baixar as versĂ”es mais recentes do projeto. Aqui vocĂȘ encontrarĂĄ atualizaçÔes e melhorias contĂ­nuas.

Sinta-se à vontade para explorar o código, fazer perguntas ou contribuir com melhorias. Estamos sempre abertos a sugestÔes e colaboraçÔes.

About

# đŸ‡§đŸ‡· CNPJ Data PipelineUm script modular e configurĂĄvel para processar arquivos CNPJ da Receita Federal do Brasil. 🐙 Este projeto oferece suporte a mĂșltiplos bancos de dados e permite o processamento inteligente de mais de 50 milhĂ”es de empresas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •