Skip to content

Este projeto empodera quem deseja processar dados no contexto do Querido Diário e realizar suas próprias análises.

License

Notifications You must be signed in to change notification settings

okfn-brasil/querido-diario-toolbox

Repository files navigation

PyPI - Python Version PyPI

Português (BR) | English (US)

Querido Diário

Toolbox

Dentro do ecossistema do Querido Diário, este repositório disponibiliza uma biblioteca com o ferramental para que a comunidade possa fazer suas próprias análises e manipulações com os recursos do projeto.

A biblioteca oferece diferentes níveis de abstrações para trabalhar os dados, desde uma simples limpeza de texto até conversão de diferentes formatos de arquivo para texto puro.

Conheça mais sobre as tecnologias e a história do projeto no site do Querido Diário

Sumário

Como contribuir

catarse

Agradecemos por considerar contribuir com o Querido Diário! 🎉

Você encontra como fazê-lo no CONTRIBUTING.md!

Além disso, consulte a documentação do Querido Diário para te ajudar.

Como executar

Para utilizar a querido-diario-toolbox é necessário ter Python (3.8+) instalado, além de Tesseract OCR, os .jar de Apache Tika (v1.24.1+) e Tabula (v1.0.4+).

  1. Para instalar a biblioteca querido-diario-toolbox basta abrir um terminal e executar o seguinte comando:
$ pip install querido-diario-toolbox
  1. Para usar, importe a biblioteca em seu código em Python.

Exemplos de uso

Exemplos mais elaborados estão disponíveis na pasta ./examples. Você pode visualizá-los (e interagir se desejar) utilizando notebooks Jupyter.

Removendo espaços desnecessários em um texto

In [1]: from querido_diario_toolbox.process.text_process import remove_breaks

In [2]: texto = "\n\n\nEste texto tem vários      espaços em branco\n\n \ndesnecessários.\n"

In [3]: remove_breaks(texto)
Out[3]: 'Este texto tem vários espaços em branco desnecessários.'

Encontrando CNPJs válidos em um texto

In [1]: from querido_diario_toolbox.process.edition_process import extract_and_validate_cnpj

In [2]: texto = "As empresas de CNPJ válidos 00.000.000/0001-91 e 00.360.305/0001-04 existem mas a de CNPJ 12.123.123/1234.12 não existe..."

In [3]: extract_and_validate_cnpj(texto)
Out[3]: ['00.000.000/0001-91', '00.360.305/0001-04']

Convertendo arquivo de formato fechado para texto puro e extraindo metadados

In [1]: from querido_diario_toolbox import Gazette
   ...: from querido_diario_toolbox.etl.text_extractor import create_text_extractor

In [2]: config = {"apache_tika_jar": "caminho/apache/tika/jar/tika-app-1.24.1.jar"}
   ...: extrator = create_text_extractor(config)

In [3]: diario = Gazette(filepath="caminho/diario/fechado/diario.pdf")

In [4]: extrator.extract_text(diario)
   ...: extrator.extract_metadata(diario)
   ...: extrator.load_content(diario)

Após a execução de extrator.load_content(diario), dois arquivos (um .txt com o texto puro e um .json com os metadados) serão criados.

Saiba mais: Informações completas da biblioteca querido-diario-toolbox acesse sua documentação

Suporte

Discord Invite

Ingresse em nosso canal de comunidade para trocas sobre os projetos, dúvidas, pedidos de ajuda com contribuição e conversar sobre inovação cívica em geral.

Agradecimentos

Este projeto é mantido pela Open Knowledge Brasil e possível graças às comunidades técnicas, às Embaixadoras de Inovação Cívica, às pessoas voluntárias e doadoras financeiras, além de universidades parceiras, empresas apoiadoras e financiadoras.

Conheça quem apoia o Querido Diário.

Open Knowledge Brasil

Bluesky Follow Instagram Follow LinkedIn Follow Mastodon Follow

A Open Knowledge Brasil é uma organização da sociedade civil sem fins lucrativos, cuja missão é utilizar e desenvolver ferramentas cívicas, projetos, análises de políticas públicas, jornalismo de dados para promover o conhecimento livre nos diversos campos da sociedade.

Todo o trabalho produzido pela OKBR está disponível livremente.

Licença

Código licenciado sob a Licença MIT.

About

Este projeto empodera quem deseja processar dados no contexto do Querido Diário e realizar suas próprias análises.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published