Skip to main content

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

Project description

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! :tada:

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

Slugs

Criando slug para um nome

In [1]: from querido_diario_toolbox.slugs.slugs import make_entity_slug

In [2]: make_entity_slug("Rio Branco", "Acre", "_")
Out[2]: "acre_rio_branco"

In [3]: make_entity_slug("São Tomé das Letras", "", "-")
Out[3]: "sao-tome-das-letras"

In [4]: make_entity_slug("Associação de Municípios", "", "")
Out[4]: "associacaodemunicipios"

Process

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']

ETL

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

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.

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.

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

querido-diario-toolbox-0.3.1.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

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

querido_diario_toolbox-0.3.1-py2.py3-none-any.whl (15.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file querido-diario-toolbox-0.3.1.tar.gz.

File metadata

  • Download URL: querido-diario-toolbox-0.3.1.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for querido-diario-toolbox-0.3.1.tar.gz
Algorithm Hash digest
SHA256 f7415572b32f76ecdc8cef9d6050f8958571df70f85ab176215064dd16128edd
MD5 d8e0035900237f799405675d2e653692
BLAKE2b-256 04734ae57a19c3d25b962f2a961585bca7264619b0ad36d471d62b9c2689fd6e

See more details on using hashes here.

File details

Details for the file querido_diario_toolbox-0.3.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for querido_diario_toolbox-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f04e87967159e4069cd977c11bdbbd38667a5d887818b712e06f0051f79cf8e0
MD5 d74671c445e757743da1711c55488709
BLAKE2b-256 7c2fb3c228e8dfc1697616e19a26004e5da63620d35afea132177bec11c57096

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