Skip to main content

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.

Release files for querido-diario-toolbox 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for querido-diario-toolbox 0.3.1
File Size Uploaded
querido-diario-toolbox-0.3.1.tar.gz 17.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for querido-diario-toolbox 0.3.1
File Interpreter ABI Platform
querido_diario_toolbox-0.3.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 32.8 kB

Release files / querido-diario-toolbox-0.3.1.tar.gz

Download URL querido-diario-toolbox-0.3.1.tar.gz
Size 17.2 kB
Tags Source
SHA-256 checksum
How to use checksums
f7415572b32f76ecdc8cef9d6050f8958571df70f85ab176215064dd16128edd
BLAKE2b-256 checksum
How to use checksums
04734ae57a19c3d25b962f2a961585bca7264619b0ad36d471d62b9c2689fd6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / querido_diario_toolbox-0.3.1-py2.py3-none-any.whl

Download URL querido_diario_toolbox-0.3.1-py2.py3-none-any.whl
Size 15.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
f04e87967159e4069cd977c11bdbbd38667a5d887818b712e06f0051f79cf8e0
BLAKE2b-256 checksum
How to use checksums
7c2fb3c228e8dfc1697616e19a26004e5da63620d35afea132177bec11c57096
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page