Skip to main content

Ferramentas para extração e processamento de dados judiciais, com foco no STF

Project description

DSD

PyPI version Python Versions License: MIT

DSD é uma biblioteca Python para extração e processamento de dados judiciais, com foco no portal do Supremo Tribunal Federal (STF) do Brasil.

🚀 Funcionalidades

  • Web Scraping do portal STF
  • Extração de processos judiciais
  • Processamento de andamentos processuais
  • Extração de partes envolvidas
  • Limpeza e normalização de dados
  • Exportação para CSV
  • Type hints completos (Python 3.7+)
  • Documentação inline (docstrings)

📦 Instalação

Via pip (recomendado)

pip install dsd-br

Via repositório Git

git clone https://github.com/AlexandreAraujoCosta/DSD.git
cd dsd
pip install -e .

Instalação para desenvolvimento

pip install -e ".[dev]"

🎯 Uso Rápido

Exemplo Básico

import dsd

# Fazer requisição ao STF
html = dsd.get("https://portal.stf.jus.br/processos/...")

# Extrair informações
partes = dsd.extrair_partes(html)
andamentos = dsd.extrair_andamentos(html)

# Processar dados
dados_limpos = dsd.limpar(dados)

# Salvar em CSV
dsd.write_csv_header("processos.csv", "processo;parte;data")
dsd.write_csv_row("processos.csv", [processo, parte, data])

Trabalhando com Datas

from dsd import date, ajustar_mes

# Converter formato de data
data_br = "31/12/2023"
data_iso = date(data_br)  # "2023-12-31"

# Converter mês abreviado
mes_numero = ajustar_mes("DEZ")  # "12"

Trabalhando com Estados

from dsd import limpa_estado, estado_nome_completo, siglas

# Converter estado para sigla
sigla = limpa_estado("SAO PAULO")  # "/SP"

# Converter sigla para nome completo
nome = estado_nome_completo("/SP")  # "SAO PAULO"

# Obter lista de siglas
lista_siglas = siglas()  # ['AC', 'AL', 'AP', ...]

Extração de Texto

from dsd import extract, clean

# Extrair texto entre delimitadores
texto_html = "<div>Conteúdo importante</div>"
conteudo = extract(texto_html, "<div>", "</div>")  # "Conteúdo importante"

# Limpar texto
texto_sujo = "  Texto   com\nespaços  "
texto_limpo = clean(texto_sujo)  # "Texto com espaços"

Trabalhando com Arquivos

from dsd import carregar_arquivo, gravar, csv_to_list

# Carregar arquivo
conteudo = carregar_arquivo("processo.html")

# Gravar dados
gravar("resultado.txt", "Dados processados")

# Converter CSV para lista
dados = csv_to_list("dados.csv")

📚 Documentação Completa

Funções de Requisição HTTP

  • get(url: str) -> str: Faz requisição GET e retorna HTML
  • get_json(url: str) -> dict: Faz requisição GET e retorna JSON
  • get_response(url: str) -> Response: Retorna objeto Response completo

Funções de Extração

  • extract(source: str, start_at: str, end_at: str) -> str: Extrai texto entre delimitadores
  • extrair_partes(string: str) -> str: Extrai partes processuais do HTML
  • extrair_andamentos(string: str) -> list: Extrai andamentos processuais

Funções de Limpeza

  • clean(source: str) -> str: Remove espaços e caracteres especiais
  • limpar(fonte: str) -> str: Limpeza completa de texto
  • limpar_para_csv(fonte: str) -> str: Prepara texto para CSV

Funções de Arquivo e CSV

  • carregar_arquivo(nomedoarquivo: str) -> str: Carrega arquivo
  • gravar(nomedoarquivo: str, dados: str) -> None: Grava dados
  • csv_to_list(file: str) -> list: Converte CSV para lista
  • write_csv_header(nomedoarquivo: str, string_campos: str) -> None: Escreve cabeçalho CSV
  • write_csv_row(nomedoarquivo: str, dados: str) -> None: Escreve linha CSV

🛠️ Requisitos

  • Python >= 3.7
  • requests >= 2.31.0
  • selenium >= 4.0.0

🤝 Contribuindo

Contribuições são bem-vindas! Para contribuir:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

Desenvolvimento

# Clone o repositório
git clone https://github.com/AlexandreAraujoCosta/DSD.git
cd dsd

# Instale em modo desenvolvimento
pip install -e ".[dev]"

# Execute os testes
pytest

# Formate o código
black dsd/

# Verifique tipos
mypy dsd/

📝 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.

👥 Autores

Alexandre Araújo Costa

Henrique Araújo Costa

  • Coautor

🙏 Agradecimentos

  • Comunidade Python Brasil
  • Supremo Tribunal Federal por disponibilizar os dados publicamente

📊 Status do Projeto

🚧 Em desenvolvimento ativo - Versão 0.1.0

🔗 Links Úteis

📈 Changelog

[0.1.0] - 2024-01-XX

Adicionado

  • Estrutura inicial do pacote
  • Funções de web scraping do STF
  • Funções de processamento de dados
  • Suporte a CSV
  • Type hints completos
  • Documentação inline

⭐ Se este projeto foi útil para você, considere dar uma estrela no GitHub!

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

dsd_br-0.1.4.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

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

dsd_br-0.1.4-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

Details for the file dsd_br-0.1.4.tar.gz.

File metadata

  • Download URL: dsd_br-0.1.4.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for dsd_br-0.1.4.tar.gz
Algorithm Hash digest
SHA256 04f156ff69b16749e811907243d1133c8c467609131876a16a31a2aba8585752
MD5 eb648d2a8e3713e431560536c7c1c4d3
BLAKE2b-256 e07cb76a7be477e427b5f462648601ff86bfb1cccbfba2f55df3d8ec7c1e0e21

See more details on using hashes here.

File details

Details for the file dsd_br-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: dsd_br-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 25.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for dsd_br-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 373a5bc615c379f6a2b854e3afc020a100991d0e306800b5682fe6353a4c93af
MD5 d09786f9b41c78340a88eddaed1abeac
BLAKE2b-256 ced3df34e7591e9c0b82bffc24e8c09fbc0f94954be691180958467fdff91be9

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