Git Product home page Git Product logo

rede-cnpj's Introduction

RedeCNPJ - Visualização de dados públicos de CNPJ

Ferramenta para observar o relacionamento entre empresas e sócios, a partir dos dados públicos disponibilizados pela Receita Federal.

Vídeo no youtube

youtube

A rotina possibilita visualizar de forma gráfica os relacionamentos entre empresas e sócios, a partir da base de dados públicos de cnpj da Receita Federal.
Foi testada nos navegadores Firefox, Edge e Chrome.

RedeCNPJ.com Online:

A versão online com dados públicos funciona agora no site https://www.redecnpj.com. A versão online com acesso gratuito foi descontinuada em maio/2023.

RedeCNPJ Demo Online:

Uma versão demo, com base de dados incompleta está rodando em https://www.redecnpj.com.br/demo/. Nesta versão apenas o primeiro nome de sócio é exibido e algumas opções estão desabilitadas. Aqui roda outra versão sem dados reais de empresas.

Versões Aplicativo:

Para os usuários que não tem familiaridade com o Python, em https://www.redecnpj.com.br/rede/aplicativo.html é possível obter gratuitamente a versão "aplicativo" da RedeCNPJ e outro programa para Windows que baixa os arquivos de dados abertos do site da Receita Federal e converte para o formato para uso na RedeCNPJ. Os aplicativos foram gerados a partir do código fonte deste repositório.

Versão em python (execução local):

É preciso ter instalado no computador:

  • python versão 3.9 ou posterior.
  • 100GB de espaço livre, para utilizar a base de CNPJs em sqlite.

Faça um clone do código deste projeto. Use o comando
pip install -r requirements.txt
para instalar as bibliotecas utilizadas.

Para iniciar o script, em um console digite
python rede.py
A rotina abrirá o endereço http://127.0.0.1:5000/rede/ no navegador padrão. As opções por linha de comando são exibidas fazendo python rede.py -h
A pasta contém os arquivos rede_teste.db e cnpj_teste.db, que são amostras dos bancos de dados para testar o funcionamento da rotina.
Orientações detalhadas para instalação em Windows no link https://github.com/rictom/rede-cnpj/blob/master/doc/instalacao_windows.md

Como utilizar o Banco de dados completo de CNPJs com a versão em Python:

O projeto https://github.com/rictom/cnpj-sqlite contém o código para a conversão dos arquivos zipados do site da Receita para o formato SQLITE, gerando o arquivo cnpj.db com a base completa.

Observação: Para rodar o projeto localmente com a base completa, é necessário ter os arquivos cnpj.db, rede.db e rede_search.db. O cnpj_links_ete.db é opcional, somente se quiser visualizar vinculos por endereços, telefones ou email em comum.
O código foi ajustado para o formato disponibilizado pela Receita Federal a partir de 2021.
Altere o arquivo de configuração rede.ini, mudando as linhas de configuração para
base_rede = bases/rede.db
base_rede_search = bases/rede_search.db
base_receita = bases/cnpj.db

Diagrama da RedeCNPJ na RedeCNPJ

image
Clique para abrir o diagrama

Opções:

A roda do mouse expande ou diminui o tamanho da exibição.
Fazendo click duplo em um ícone, a rotina expande as ligações. Por exemplo, clique duplo no ícone de uma pessoa, exibirá todas as empresas que esta é sócia. Clique duplo em um ícone de CNPJ, exibirá todos os sócios da empresa.
Apertando SHIFT, é possível selecionar mais de um ícone.
Pressionando CTRL e arrastando na tela, adiciona a seleção os itens da área. Clicar no botão do meio do mouse (roda) faz aparecer janela para editar uma Nota, que aparece numa terceira linha abaixo do ícone.

Outras opções da rede estão no menu contextual do mouse (botão direito), sendo configuradas teclas de atalho correspondentes aos comandos:

Tecla – Descrição do comando.

  • I - Inserir CNPJ, Razão Social completa ou nome completo de sócio. Poderão ser colocados vários CNPJs ao mesmo tempo, separados por ponto e vírgula (;).

  • TECLAS de 1 a 9 - Inserir camadas correspondente ao número sobre o nó selecionado;

  • SHIFT + TECLAS de 1 a 9 - Inserir camadas correspondente a ligações com valores, como dados do TSE de doadores/pagamentos das eleições 2022, recebimento por favorecido pelo Governo Federal com dados do Portal da Transparência da CGU ou pagamentos de municípios paulistas com dados do TCE/SP;

  • U - Criar item novo (que não seja PF ou PJ) e ligar aos itens selecionados;

  • E - Editar dados do item (que não seja PF ou PJ) selecionado;

  • CRTL+Z – Desfaz Inserção;

  • SubMenu Ligar:

  • U - Ligar para novo item;

  • L - Ligar itens selecionados, ligação tipo estrela (o primeiro ligado aos demais);

  • SHIFT+L - Remover ligação entre itens selecionados;

  • Remover Ligacoes - Remove todas as ligações dos itens selecionados;

  • K - Ligar itens selecionados, ligação tipo fila (o primeiro ligado ao segundo, o segundo ao terceiro, etc);

  • SubMenu Visualização:

  • A - Gráfico em Nova Aba - Abre aba com os itens selecionados;

  • Q - Quebrar o gráfico em abas - Divide o gráfico em partes menores, mantendo as ligações

  • Abre OpenStreetMap - Abre Mapa com os endereços de empresas;

  • P - Fixar o nó na posição;

  • SHIFT+P - Desfixar todos os nós do gráfico;

  • CTRL+P - Fixa um nó em cada grupo conexo (para evitar que o gráfico se expanda indefinidamente);

  • SubMenu Visualização>Rótulos:

  • E - Editar rótulo;

  • N - Rótulo - Exibe apenas o primeiro nome;

  • SHIFT+N - Oculta/exibe texto da ligação;

  • Alterar Ícone;

  • C - Colorir os nós selecionados;

  • Escolher Cor;

  • D – Abre um popup com dados;

  • SHIFT+D – Abre numa nova aba com Dados;

  • CTRL+D – Lista ids dos itens selecionados;

  • Altera o nome da aba;

  • Escala Inicial - Coloca a exibição sem zoom, na escala inicial.

  • Barra de Espaço - Parar/reiniciar leiaute (se a tela tiver muitos nós, os comandos funcionam melhor se o leiaute estiver parado);

  • F - Localizar - Localizar na Tela Nome, CNPJ ou CPF;

  • SHIFT+F - Localizar apenas na seleção;

  • CTRL+F - Localiza por campo (como cor do item);

  • J – Seleciona itens adjacentes;

  • SHIFT+J – Seleciona árvores dos itens selecionados;

  • CTRL+J - Itens com mais ligações - Opção para selecionar os itens do gráfico com mais ligações;

  • Itens ligados a coloridos;

  • Grupos com duas cores;

  • CTRL+A - Seleciona todos os itens;

  • CTRL+SHIFT+A - Inverte seleção;

  • SubMenu - Busca em sites:

  • B - Abre abas dos sites deste submenu;

  • Jusbrasil - Busca no site Jusbrasil;

  • Escavador - Busco no site Escavador;

  • Portal da Transparência - Busca no Portal da Transparência da CGU;

  • Bing - Busca no Bing;

  • DuckDuckGo - Busca no DuckDuckGo;

  • Reclame Aqui - Busca no Reclame Aqui;

  • G – Abre o nó numa aba do site Google;

  • SHIFT+G – Abre o endereço no Google Maps (só CNPJs);

  • H ou CTRL+G - Raspa a página do Google e coloca links;

  • SHIFT+H - Raspa a página do Google e busca palavras chave nos links;

  • SubMenu Salvar/Abrir:

  • Salvar dados em Excel;

  • Salvar em formato i2 Chart Reader;

  • Salvar imagem em formato SVG;

  • Salvar Arquivo Json - salva dados do gráfico no formato json;

  • Abrir Arquivo Json;

  • Exportar/Importar JSON ao Servidor - Exportar ou importar dados do gráfico em formato JSON carregados no servidor;

  • Banco de Dados - Exporta dados para banco de dados sqlite (só para usuário local);

  • SubMenu Excluir

  • DEL – Excluir itens selecionados.

  • SHIFT+DEL – Excluir todos os itens.

  • Excluir Nó mantendo Link;

  • Simplifica Gráfico - Remove itens nas bordas do gráfico que não tenham destaque;

  • Excluir itens isolados - Remove itens sem ligação.

Os comandos valem para o último nó selecionado ou nós selecionados, que ficam em destaque com a animação no contorno ods ícones. Pressionando SHIFT e click, é possível selecionar mais de um ícone para fazer Exclusão ou para Expansão de vínculos. Pode-se arrastar células com listas de CNPJs do Excel para a janela, ou arrastar arquivos csv ou json.

Fonte dos dados:

Base de CNPJ

Está disponível em https://dados.gov.br/dados/conjuntos-dados/cadastro-nacional-da-pessoa-juridica---cnpj ou https://dadosabertos.rfb.gov.br/CNPJ/ (http://200.152.38.155/CNPJ/).

Bibliotecas e outros projetos utilizados:

Biblioteca em javascript para visualização:
https://github.com/anvaka/VivaGraphJS

Menu Contextual:
https://www.cssscript.com/beautiful-multi-level-context-menu-with-pure-javascript-and-css3/

Ícones:
https://www.flaticon.com
https://fontawesome.com

Histórico de versões

versão 1.1 (fevereiro/2024)

  • Removido a dependência de sqlalchemy<=2.0, evitando erro se a biblioteca sqlalchemy for atualizada;
  • Opção para inserir foto (Tecla E):
    image

versão 1.0 (junho/2023)

  • Agora é necessário usar os arquivos rede.db e rede_search.db (ver guia de instalação Windows);
  • Arquivos sqlite .db na pasta bases;
  • Arquivos db de teste tem nomes embaralhados;
  • Compatível com versão aplicativo disponível no site redecnpj.com.br;
  • Botões Gravar no Navegador e Adicionar: Possibilita guardar o gráfico e recuperar os dados em outra sessão;
  • Opções Copiar (CTRL+C) e Colar (CTRL+V) itens entre abas da RedeCNPJ.
  • Botão Copy/Drag para copiar itens selecionados para uma nova aba da RedeCNPJ;
  • Opção Menu> Filtrar/Localizar> Busca em sites> Abre Busca em Abas (Tecla B) - Abre abas com busca no Google, Bing, DuckDuckGo, etc.
  • Arrastar link traz o favicon do site correspondente.
  • Opção para buscar caminhos;
  • Opção para apagar arquivo json no servidor.

versão 0.9 (dezembro/2022)

  • Grande melhoria de desempenho (10X mais rápido!!!);
  • Utilizando tabelas temporárias em memória do sqlite3;
  • Inclusão de flag quando houver dados adicionais no cpf/cnpj;
  • SHIFT+D exibe sócios de empresas;
  • Exibição do CNAE Secundário;
  • Aba com dados de empresas no Excel em lista;
  • Nome Fantasia no tooltip;
  • Busca por nome mais flexível;
  • Alteração no sentido das setas;
  • Busca de empresa por Nome Fantasia;
  • Troca de fonte.
  • Observação: A partir desta versão, é necessário criar um arquivo rede.db para a rotina funcionar.

versão 0.8.8 (setembro/2022)

  • busca por Nome Fantasia de cnpj;
  • alteração no espaçamento dos botões para Android;
  • popup de mensagem inicial vai aparecer menos;
  • melhoria no visual do popup nos mapas;
  • remoção de caixa de entrada para perguntar a camada do item a ser inserido. Aperte uma tecla de 2 a 9 para inserir mais camadas;
  • clicar no botão camada, duplo-clique ou pressionar tecla 1 de forma repetida irá trazer mais camadas.

versão 0.8.7 (setembro/2022)

  • abre mapa com endereços das empresas no OpenStreetMap, pelo botão image no canto superior direito da tela:
    image
  • o parâmetro geocode_max em rede.ini define a quantidade de endereços que serão buscados pela api do OpenStreetMap. Para evitar bloqueio, é feito uma pausa de um segundo entre cada chamada da api. Se a quantidade de endereços for maior que o parâmetro geocode_max, os endereços dos cnpjs serão substituidos pelas coordenadas dos municipios de acordo com tabela do IBGE.
  • em cada popup de endereço, há quatro opções: a) abrir o endereço no Google Maps; b) abrir uma rede de relacionamentos do cnpj; c) exibir dados do cnpj; d) selecionar o item na rede original.

versão 0.8.6 (agosto/2022)

  • exportação para gráfico no formato (ex-IBM) i2 Chart Reader ou Analyst's Notebook (.anx), pela opção no menu Salvar/Abrir>Salvar i2...:
    image

  • O i2 Chart Reader pode ser baixado gratuitamente no site https://i2group.com/i2-chart-reader?hsLang=en

  • opção H para abrir árvore com links de busca na página do Google:image

  • opção SHIFT+H para abrir árvore com palavras chaves dos links da página do Google. Exemplo: chaves

  • para usar a opção SHIFT+H, deve-se instalar as bibliotecas pelo comando pip install -r requirements_chaves.txt
    e depois instalar os módulos do spacy pelos comandos python -m spacy download en_core_web_sm e python -m spacy download pt_core_news_lg. No arquivo rede.ini, modifique o parâmetro para busca_chaves = 1

  • Como a opção de chaves é lenta, ela não foi habilitada para rodar no servidor. Utilize com a versão local do projeto.

versão 0.8.5 (julho/2022)

  • visualização melhorada em celular Android;
  • alteração do script rede_relacionamentos.py para rede_sqlite_cnpj.py;
  • alteração do parâmetro gravidade, para diminuir a dispersão de grupos não conexos;
  • tutorial de instalação passo a passo.

versão 0.8.4 (junho/2022)

  • aceita CNPJs ou CPFs com zeros à esquerda faltando.

versão 0.8.3 (maio/2022)

  • inclusão de relacionamento de representante de sócio;
  • campo de busca de cpf/cnpj na linha do menu;
  • rotina cnpj_search.py para indexar coluna de razão social ou nome de sócio para busca por parte do nome.

versão 0.8.2 (janeiro/2022)

  • opção no menu Salvar/Abrir>Baixar base CNPJ para abrir a página com o arquivo em SQLITE;
  • tecla A - se houver só um item selecionado, abre um gráfico em nova aba no link /rede/grafico/NUMERO_CAMADA/PJ_X, cujo link poderá ser compartilhado;
  • usando somente POST em algumas consultas;
  • alerta de que consulta por CPF pode apresentar erros. A base da Receita só contem seis dígitos do CPF de sócios, por isso a busca exibe todos os CPFs que tem os mesmo dígitos;
  • flask-limiter para diminuir excesso de consultas. Se precisar dos dados por api, rode o projeto localmente e altere os parâmetros limiter_padrao e limiter_dados do arquivo de configuração rede.ini.

versão 0.7.4 (dezembro/2021)

versão 0.7.3 (setembro/2021)

  • correção de erro em ligação em banco de dados local.

versão 0.7.2 (setembro/2021)

  • opção para alterar o nome da aba;
  • opção para selecionar todos os itens;
  • opção para inverter seleção;

versão 0.7.1 (agosto/2021)

  • opção para dividir gráficos em outras abas (tecla Q);
  • correção de erro quando se apertava tecla CTRL;
  • opção para selecionar itens adjacentes aos selecionados (tecla J);
  • opção para selecionar árvore que contém o item (tecla SHIFT+J);
  • opção para listar itens com mais links (tecla CTRL+J)
  • opção para selecionar itens com mais ligações para ícones coloridos;
  • opção "Nova Aba" (tecla A) abre nova aba com mais de um item selecionado;
  • troca de nomes no menu de exportar json para salvar json;
  • opção para exportar dados para banco de dados local (só funciona na máquina local);
  • opção para exportar para json apenas itens selecionados;
  • opção para ocultar rótulos de ligações (SHIFT+N);
  • opção para remover todas as ligações dos itens selecionados;
  • opção simplifica gráfico (remove itens que não são coloridos ou com comentário que tem apenas uma ligação).

versão 0.6.3 (julho/2021)

  • melhoria para dar clique duplo em ícones;
  • correção de erro de ligação para empresa no exterior sem cnpj;
  • somente o ícone pode ser clicado;
  • mensagem de alerta para utilizar caractere curinga;
  • mudança nas tabelas temporárias;
  • todas as tabelas de códigos (cnae, natureza jurídica, etc) foram incorporados ao arquivo sqlite;
  • OBSERVAÇÃO. A versão 0.6.3 só vai funcionar com a versão mais atualizada do arquivo cnpj.db referência 16/7/2021.

versão 0.5.1 (junho/2021)

  • atualização da tabela sqlite cnpj.db com dados públicos de 18/06/2021.

versão 0.5 (abril/2021)

  • alteração do código para layout novo das tabelas;
  • busca por Radical de CNPJ ou CPF de sócio (busca somente pelo miolo do CPF);

versão 0.4 (janeiro/2021)

  • usando lock para evitar erro de consulta em requisições simultâneas;
  • opção para fazer busca do termo no Portal da Transparência da CGU;
  • correção de link para google search.

versão 0.3.4 (janeiro/2021)

  • Possibilita ver o texto do lado direito do ícone;
  • diagramas de tabela hierárquica;
  • ver diagramas de arquivo com código em python;
  • mais opções por linha de comando.

versão 0.3 (janeiro/2021)

  • Opção para inserção de novos itens para elaboração de mapas mentais;
  • Opções para inserir itens novos como link para sites e arquivos locais.
  • Opção para arrastar células do excel, leitura de arquivo csv;
  • Opções de leitura de entrada por linha de comando;
  • Itens selecionados ficam em destaque com linha animada;
  • Alteração no formato do arquivo de configuração rede.ini.

versão 0.2 (dezembro/2020)

  • Suporte para busca por parte do nome na base de empresas;
  • Exportação/importação de gráfico no formato json para o servidor.

versão 0.1 (setembro/2020)

  • Primeira versão

rede-cnpj's People

Contributors

fastrick avatar rictom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rede-cnpj's Issues

Visualização por Localização

Antes de tudo, parabéns pela ferramenta! Genial!

Gostaria de sugerir/provocar que houvesse a possibilidade de visualizar a partir de uma localização; Imagino que inicialmente seria por Cidade/UF; Porém, considerando que cada CNPJ tem um endereço; Gostaria que no futuro, caso possível, poderia delimitar um raio de X km com base em um endereço.

Bom, caso esteja no escopo do projeto prover esse tipo de visualização.

Travando na parte final do script de tabelas

Esse é o errro:


Tue Jul 25 17:55:42 2023 -executando parte: 3/4

insert into id_search
--select distinct id_descricao
select id_descricao
from (
select 'PJ_' || te.cnpj ||'-' || t.razao_social as id_descricao
from cnpj.estabelecimento te
left join cnpj.empresas t on t.cnpj_basico=te.cnpj_basico
where te.matriz_filial is '1'
UNION ALL
select 'PJ_' || te.cnpj ||'-' || te.nome_fantasia as id_descricao
from cnpj.estabelecimento te
-- where trim(te.nome_fantasia) <>'' --incluir este where faz que ignore cnpj filial sem nome fantasia, o que faz falta na hora de busca filiais por cnpj básico
UNION ALL
select id1 as id_descricao
from rede.ligacao
where substr(id1,1,3)<>'PJ_'
UNION ALL
select id2 as id_descricao
from rede.ligacao
where substr(id2,1,3)<>'PJ_'
) as tunion
group by id_descricao --talvez group by seja mais rápido que distinct

Traceback (most recent call last):
File "D:\rede-cnpj-master - julho\rede-cnpj-master\rede\bases\rede_cria_tabela_rede.db.py", line 246, in
executaSequencia(camDBrede_search, sqlsequencia=sql_search)
File "D:\rede-cnpj-master - julho\rede-cnpj-master\rede\bases\rede_cria_tabela_rede.db.py", line 163, in executaSequencia
engine.execute(sql)
sqlite3.OperationalError: disk I/O error

Esse erro ocorreu depois de algumas horas travado nessa etapa. Estou rodando novamente para ver se ocorre de novo.

Exibição do correio eletrônico/telefone/endereço

Curti esta maneira de visualizar os dados da RF, ótimo trabalho!
Gostaria de fazer a visualização offline, mas, após implementar, não consegui replicar a exibição das ligações entre empresas e seus respectivos dados da maneira como está disponibilizado online atualmente. O que está faltando?

Problema na execução do script Instalação em ambiente linux

Eu baixei todos os arquivos do site da Receita, salvei na pasta correta do projeto dados-publicos-zip e ao rodar o script dados_cnpj_baixa.py com o python 3.9.2 estou vendo a mensagem de erro abaixo.

image

Alguem pode me ajudar, por favor?

Desde já, muito obrigado.

Instalação em ambiente linux com os arquivos gerados pelo PROGRAMA RedeCNPJ-Baixar-Converter

Com o tutorial foi possível rodar perfeitamente no windows, no entanto, ao levar os arquivos gerados (cnpj.db, rede.db, rede_search.db, cnpj_links_ete.db) pelo projeto PROGRAMA RedeCNPJ-Baixar-Converter para um ambiente linux junto com o clone do repo rictom/rede-cnpj consigo realizar busca por CNPJ, mas ao buscar por sócio ou razão social gera erro de não ser possível encontrar a tabela id_search.

Os arquivos foram salvos na pasta bases na raiz do projeto.

É necessário rodar algum script complementar?

Utilizei os seguintes parâmetros de config (rede.ini):

[BASE]

base_rede é a tabela principal com os vínculos entre empresas e socios. Versão 0.9

base_rede = bases/rede.db
base_rede_search = bases/rede_search.db
#base_receita, sqlite com dados publicos da Receita Federal.
#se o arquivo sqlite estiver na mesma pasta, coloque apenas base_receita=cnpj.db
#se a base_receita não for definido, é preciso ter o arquivo base_cnpj_vazia.db na pasta do projeto para não ocorrer erro
#se a base_receita não for definido, os botões do github e da Receita Federal não vão aparecer na tela.
base_receita = bases/cnpj.db

#caminho da base de endereços normalizada
base_endereco_normalizado = bases/cnpj_links_ete.db

#caminho da base de ligações adicional (TSE e TCE)
base_links = bases/links.db
#base_local é uma base com dados adicional. estrutura do banco_dados_modelo.db. Pode armazenar informações adicionadas manualmente no gráfico, dados dos nós e de ligações
base_local = bases/rede_dados.db

#referencia_bd aparece na linha superior da tela
referencia_bd = TESTE - PARA EXIBIR DADOS REAIS, É NECESSÁRIO COPIAR AS BASES

#referencia_bd = CNPJ (xx/xx/xxx)
#pasta para armazenar arquivos json
pasta_arquivos=arquivos
porta_flask=5000

[INICIO]
#cpfcnpjinicial cnpj para aparecer no início. Pode ser colocados vários cnpjs separados por ponto e vírgula. Deixe vazio se não quiser que apareça cnpj no inicio.
cpfcnpj =
#níveis de ligações para o cpfcnpjinicial
camada = 1
#exibir mensagem de advertencia e informações da data de referencia
exibe_mensagem_advertencia = 1

#mensagem_advertencia= LEIA ANTES DE PROSSEGUIR.\n\nTodos os dados exibidos são públicos, provenientes da página de dados abertos da Secretaria da Receita Federal ou de portais públicos de transparência.\nO autor não se responsibiliza p>

mensagem_advertencia=A base sqlite de TESTE tem os nomes de sócios e de empresas embaralhados.\nPara inserir um novo elemento aleatório pressione OK sem digitar texto.
#abrir menu inserir na abertura da tela
exibe_menu_inserir = 1

[ETC]
#para evitar excesso de ligações, se ligacaoSocioFilial=0 não inclue ligações para filiais de empresas
ligacao_socio_filial = 0
#se logAtivo=1, registra as consultas nas tabelas log_cpnj e log_cpfnome no arquivo sqlite.
logativo = 0
#permite download da pasta arquivos que não sejam json. Por segurança, desativar no servidor.
arquivos_download = 0

parametros para o flask-limiter

limiter_padrao =2/second;20/minute;200/hour;400/day
limiter_dados =10/second;600/minute
limiter_arquivos =2/minute;30/hour;100/day
#permite busca do google
busca_google = 1
#baixa arquivos e consulta palavras chaves
busca_chaves = 0
#quantidade máxima de itens para geocode
geocode_max = 10
#para de acrescentar niveis se ultrapassar o tempo abaixo em segundos
tempo_maximo_consulta=2
#para de acrescentar niveis se ultrapassar a quantidade de itens abaixo
limite_registros_camada=1000

[API]
api_cnpj=1
api_caminhos=1
api_keys=

#.

Log do app:

Carregando rede_sqlite_cnpj
Utilizando rede_sqlite_cnpj como rede_relacionamentos.
/home/deploy/.local/lib/python3.10/site-packages/flask_limiter/extension.py:293: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: http s://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
warnings.warn(

  • Serving Flask app 'rede'
  • Debug mode: on
    WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
  • Running on all addresses (0.0.0.0)
  • Running on http://127.0.0.1:5000
  • Running on http://192.168.30.19:5000
    Press CTRL+C to quit
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /rede/ HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/alertify/css/alertify.css HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/alertify/css/themes/default.css HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/menu/menu.css HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/alertify/alertify.min.js HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/menu/font-awesome_5.14.0_css_all.min.css HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/vivagraph/vivagraph.js HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/webfonts/fa-solid-900.woff2 HTTP/1.1" 200 -
    192.168.30.125 - - [30/May/2023 13:10:47] "GET /static/webfonts/fa-brands-400.woff2 HTTP/1.1" 200 -
    ERROR : no such table: id_search
    Tue May 30 13:11:13 2023 'camadasRede' 21.38 ms
    192.168.30.125 - - [30/May/2023 13:11:13] "POST /rede/grafojson/cnpj/1/JOAO%20SILVA HTTP/1.1" 200 -

Parabéns pelo projeto.

Novas bases de dados

Olá, existe a possibilidade de usar bases de dados próprias e privadas em conjunto com as da Receita Federal?

Erro ao subir o aplicativo pós atualização

Bom dia,

Atualizei os scritps hoje (git pull) e estou tendo erro ao subir a aplicação. Reinstalei os pacotes do requirements e atualizei o pip. Além disso acrescentei no arquivo requirements.txt os pacotes: spacy, textract, langdetect

Segue o erro:

(base) [root@s1410 rede]# python rede.py
Carregando rede_sqlite_cnpj
Utilizando rede_sqlite_cnpj como rede_relacionamentos.
/opt/anaconda3/lib/python3.10/site-packages/flask_limiter/extension.py:293: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
warnings.warn(
Traceback (most recent call last):
File "/opt/coinf/aplicacoes/rede/rede-cnpj/rede/rede.py", line 64, in
api_key_validas = [k.strip() for k in config.config['API'].get('api_keys', '').split(',')]
File "/opt/anaconda3/lib/python3.10/configparser.py", line 964, in getitem
raise KeyError(key)
KeyError: 'API'
(base) [root@s1410 rede]#

Instalação Transparência - PGFN - CEIS - CNEP - CEAF - LENIÊNCIA - DESPESAS - PEP

Problemas ao executar a rede-cnpj

Olá, tudo bem? Espero que sim!
Primeiro de tudo gostaria de parabenizá-lo pelo projeto desenvolvido. Ademais, estou tendo problemas ao conectar a rede-cnpj pelo console. Após colocar o prompt do anaconda na pasta de redes e executar o comando ---> python rede.py, obtenho o texto abaixo como output:

(base) C:\Users\andrew.santos_freteb\Documents\rede-cnpj-master\rede>python rede.py
Carregando rede_sqlite_cnpj
Utilizando rede_sqlite_cnpj como rede_relacionamentos.
módulo rede_spacy não foi carregado: No module named 'textract'
Traceback (most recent call last):
File "C:\Users\andrew.santos_freteb\Documents\rede-cnpj-master\rede\rede.py", line 40, in
limiter = flask_limiter.Limiter(app, key_func=get_remote_address) #, default_limits=["200 per day", "50 per hour"])
TypeError: init() got multiple values for argument 'key_func'

Já instalei as supostas bibliotecas que faltam, tais como: textract, folium, aiohttp, entre outras... Já que após instalada, O module named ' ' muda, tornando um ciclo infinito... Se possível, gostaria de uma ajuda para resolver o impasse!
Mt obg!!
Andrew.

Contato

Fala @rictom, primeiramente parabéns pelo trabalho da Rede de CNPJs.
Me chamo Ian Saud, sou Tech Lead em uma empresa de dados no Rio de Janeiro e trabalho na maioria das vezes com PHP. Estou trabalhando com os dados da RFB há pelo menos 4 anos. Gostaria de saber como consigo entrar em contato com você para uma conversa referente à contribuição em um projeto. Abaixo deixo meu contato caso esteja interessado.

Email: [email protected]
Linkedin: https://www.linkedin.com/in/iansaud/

Sugestões de export JSON-LD e de simplificação

Parece muito boa a proposta! O filme mostra o potencial, infelizmente não terei tempo de testar... Pelo filme e breve análise ficam as sugestões:

  1. ofertar não apenas a visualização mas também o dado ligado relativo à visualização. Idealmente JSON-LD com Organization e Person. Ambos CNPJ e CPF são vatID, ambos possuem name, etc. assim como especificidades, por exemplo a razão social é legalName.

  2. Ilustrar caso simples, ou seja, "menos poluídos". Pode não ser trivial a estatística de principais diretores e/ou pessoas físicas que aparecem com maior número de vínculos num determinado cluster de pessoas jurídicas.

Instalação no Windows

Tive um problema na execução do programa para baixar os dados abertos e converter para uso na redecnpj. Na execução do programa 02-dados_cnpj_para_sqlite.exe, houve o seguinte erro:
executando parte 21/21:

fim parcial... Fri Jun 2 20:24:10 2023
fim sqls... Fri Jun 2 20:24:10 2023
Aplicando VACUUM para diminuir o tamanho da base-------------------------------- Fri Jun 2 20:24:21 2023
Traceback (most recent call last):
File "sqlalchemy\engine\base.py", line 1900, in _execute_context
File "sqlalchemy\engine\default.py", line 736, in do_execute
sqlite3.OperationalError: database or disk is full

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "dados_cnpj_para_sqlite.py", line 206, in
File "", line 2, in execute
File "sqlalchemy\util\deprecations.py", line 468, in warned
File "sqlalchemy\engine\base.py", line 3257, in execute
File "sqlalchemy\engine\base.py", line 1365, in execute
File "sqlalchemy\engine\base.py", line 1669, in _exec_driver_sql
File "sqlalchemy\engine\base.py", line 1943, in _execute_context
File "sqlalchemy\engine\base.py", line 2124, in handle_dbapi_exception
File "sqlalchemy\util\compat.py", line 211, in raise

File "sqlalchemy\engine\base.py", line 1900, in _execute_context
File "sqlalchemy\engine\default.py", line 736, in do_execute
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database or disk is full
[SQL: VACUUM]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
[26708] Failed to execute script 'dados_cnpj_para_sqlite' due to unhandled exception!

D:\Programas\rede-cnpj-baixar-converter>

Saliento que estou tentando executar o programa a partir do Drive D, pois no drive C não há espaço suficiente para todos os arquivos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.