Português (BR) | English (US)
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
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+).
- Para instalar a biblioteca
querido-diario-toolboxbasta abrir um terminal e executar o seguinte comando:
$ pip install querido-diario-toolbox
- 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
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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| querido-diario-toolbox-0.3.1.tar.gz | 17.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|