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.3.tar.gz (28.0 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.3-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dsd_br-0.1.3.tar.gz
  • Upload date:
  • Size: 28.0 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.3.tar.gz
Algorithm Hash digest
SHA256 1b285bfb594b816a95435e4ddf1cf762b6aff700a27210fc68b8da7e5a75d7dd
MD5 83f44ea33e7f083d916b3f8fdd0d10d9
BLAKE2b-256 0c2e5d7a65117a544f735e937358a623231b765c0b893bef376bec6c8d73c337

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dsd_br-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 24.3 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4636740ad01d27112c2a95f185a833cd9fb080a6868ee60b3e177d066b798c32
MD5 649d4d503e669bbc9b492b17c4025a38
BLAKE2b-256 923f79dc4c53d6f00c63ee42750632b2480541d89a04ffa8698b30d473212b10

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