dsd-br 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
dsd_br-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Alexandre Araújo Costa, Henrique Araújo Costa
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above consent notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ # Include important files in source distribution
2
+ include README.md
3
+ include LICENSE
4
+ include requirements.txt
5
+ include pyproject.toml
6
+
7
+ # Exclude unnecessary files
8
+ global-exclude __pycache__
9
+ global-exclude *.py[co]
10
+ global-exclude .DS_Store
11
+ global-exclude *.so
12
+ global-exclude *.dylib
13
+
14
+ # Exclude development files
15
+ exclude .gitignore
16
+ exclude *.yml
17
+ exclude *.yaml
18
+ exclude .github/*
19
+
20
+ # Exclude test files from distribution
21
+ prune tests
dsd_br-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,264 @@
1
+ Metadata-Version: 2.4
2
+ Name: dsd-br
3
+ Version: 0.1.0
4
+ Summary: Ferramentas para extração e processamento de dados do STF
5
+ Home-page: https://github.com/AlexandreAraujoCosta/DSD
6
+ Author: Henrique Araújo Costa
7
+ Author-email: Alexandre Araújo Costa <alexandre.araujo.costa@gmail.com>
8
+ Maintainer: Alexandre Araújo Costa, Henrique Araújo Costa
9
+ License: MIT
10
+ Project-URL: Homepage, https://github.com/AlexandreAraujoCosta/DSD
11
+ Project-URL: Bug Reports, https://github.com/AlexandreAraujoCosta/DSD/issues
12
+ Project-URL: Source, https://github.com/AlexandreAraujoCosta/DSD
13
+ Keywords: stf,scraping,web scraping,supremo tribunal federal,brasil
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.7
19
+ Classifier: Programming Language :: Python :: 3.8
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Requires-Python: >=3.7
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE
27
+ Requires-Dist: requests>=2.31.0
28
+ Requires-Dist: selenium>=4.0.0
29
+ Provides-Extra: dev
30
+ Requires-Dist: pytest>=7.0; extra == "dev"
31
+ Requires-Dist: black>=22.0; extra == "dev"
32
+ Requires-Dist: flake8>=5.0; extra == "dev"
33
+ Requires-Dist: mypy>=0.990; extra == "dev"
34
+ Dynamic: home-page
35
+ Dynamic: license-file
36
+ Dynamic: maintainer
37
+ Dynamic: requires-python
38
+
39
+ # DSD
40
+
41
+ [![PyPI version](https://badge.fury.io/py/dsd.svg)](https://badge.fury.io/py/dsd)
42
+ [![Python Versions](https://img.shields.io/pypi/pyversions/dsd.svg)](https://pypi.org/project/dsd/)
43
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
44
+
45
+ **DSD** é uma biblioteca Python para extração e processamento de dados do portal do **Supremo Tribunal Federal (STF)** do Brasil.
46
+
47
+ ## 🚀 Funcionalidades
48
+
49
+ - ✅ **Web Scraping** do portal STF
50
+ - ✅ **Extração de processos** judiciais
51
+ - ✅ **Processamento de andamentos** processuais
52
+ - ✅ **Extração de partes** envolvidas
53
+ - ✅ **Limpeza e normalização** de dados
54
+ - ✅ **Exportação para CSV**
55
+ - ✅ **Type hints** completos (Python 3.7+)
56
+ - ✅ **Documentação** inline (docstrings)
57
+
58
+ ## 📦 Instalação
59
+
60
+ ### Via pip (recomendado)
61
+
62
+ ```bash
63
+ pip install dsd-br
64
+ ```
65
+
66
+ ### Via repositório Git
67
+
68
+ ```bash
69
+ git clone https://github.com/AlexandreAraujoCosta/DSD.git
70
+ cd dsd
71
+ pip install -e .
72
+ ```
73
+
74
+ ### Instalação para desenvolvimento
75
+
76
+ ```bash
77
+ pip install -e ".[dev]"
78
+ ```
79
+
80
+ ## 🎯 Uso Rápido
81
+
82
+ ### Exemplo Básico
83
+
84
+ ```python
85
+ import dsd
86
+
87
+ # Fazer requisição ao STF
88
+ html = dsd.get("https://portal.stf.jus.br/processos/...")
89
+
90
+ # Extrair informações
91
+ partes = dsd.extrair_partes(html)
92
+ andamentos = dsd.extrair_andamentos(html)
93
+
94
+ # Processar dados
95
+ dados_limpos = dsd.limpar(dados)
96
+
97
+ # Salvar em CSV
98
+ dsd.write_csv_header("processos.csv", "processo;parte;data")
99
+ dsd.write_csv_row("processos.csv", [processo, parte, data])
100
+ ```
101
+
102
+ ### Trabalhando com Datas
103
+
104
+ ```python
105
+ from dsd import date, ajustar_mes
106
+
107
+ # Converter formato de data
108
+ data_br = "31/12/2023"
109
+ data_iso = date(data_br) # "2023-12-31"
110
+
111
+ # Converter mês abreviado
112
+ mes_numero = ajustar_mes("DEZ") # "12"
113
+ ```
114
+
115
+ ### Trabalhando com Estados
116
+
117
+ ```python
118
+ from dsd import limpa_estado, estado_nome_completo, siglas
119
+
120
+ # Converter estado para sigla
121
+ sigla = limpa_estado("SAO PAULO") # "/SP"
122
+
123
+ # Converter sigla para nome completo
124
+ nome = estado_nome_completo("/SP") # "SAO PAULO"
125
+
126
+ # Obter lista de siglas
127
+ lista_siglas = siglas() # ['AC', 'AL', 'AP', ...]
128
+ ```
129
+
130
+ ### Extração de Texto
131
+
132
+ ```python
133
+ from dsd import extract, clean
134
+
135
+ # Extrair texto entre delimitadores
136
+ texto_html = "<div>Conteúdo importante</div>"
137
+ conteudo = extract(texto_html, "<div>", "</div>") # "Conteúdo importante"
138
+
139
+ # Limpar texto
140
+ texto_sujo = " Texto com\nespaços "
141
+ texto_limpo = clean(texto_sujo) # "Texto com espaços"
142
+ ```
143
+
144
+ ### Trabalhando com Arquivos
145
+
146
+ ```python
147
+ from dsd import carregar_arquivo, gravar, csv_to_list
148
+
149
+ # Carregar arquivo
150
+ conteudo = carregar_arquivo("processo.html")
151
+
152
+ # Gravar dados
153
+ gravar("resultado.txt", "Dados processados")
154
+
155
+ # Converter CSV para lista
156
+ dados = csv_to_list("dados.csv")
157
+ ```
158
+
159
+ ## 📚 Documentação Completa
160
+
161
+ ### Funções de Requisição HTTP
162
+
163
+ - `get(url: str) -> str`: Faz requisição GET e retorna HTML
164
+ - `get_json(url: str) -> dict`: Faz requisição GET e retorna JSON
165
+ - `get_response(url: str) -> Response`: Retorna objeto Response completo
166
+
167
+ ### Funções de Extração
168
+
169
+ - `extract(source: str, start_at: str, end_at: str) -> str`: Extrai texto entre delimitadores
170
+ - `extrair_partes(string: str) -> str`: Extrai partes processuais do HTML
171
+ - `extrair_andamentos(string: str) -> list`: Extrai andamentos processuais
172
+
173
+ ### Funções de Limpeza
174
+
175
+ - `clean(source: str) -> str`: Remove espaços e caracteres especiais
176
+ - `limpar(fonte: str) -> str`: Limpeza completa de texto
177
+ - `limpar_para_csv(fonte: str) -> str`: Prepara texto para CSV
178
+
179
+ ### Funções de Arquivo e CSV
180
+
181
+ - `carregar_arquivo(nomedoarquivo: str) -> str`: Carrega arquivo
182
+ - `gravar(nomedoarquivo: str, dados: str) -> None`: Grava dados
183
+ - `csv_to_list(file: str) -> list`: Converte CSV para lista
184
+ - `write_csv_header(nomedoarquivo: str, string_campos: str) -> None`: Escreve cabeçalho CSV
185
+ - `write_csv_row(nomedoarquivo: str, dados: str) -> None`: Escreve linha CSV
186
+
187
+ ## 🛠️ Requisitos
188
+
189
+ - Python >= 3.7
190
+ - requests >= 2.31.0
191
+ - selenium >= 4.0.0
192
+
193
+ ## 🤝 Contribuindo
194
+
195
+ Contribuições são bem-vindas! Para contribuir:
196
+
197
+ 1. Fork o projeto
198
+ 2. Crie uma branch para sua feature (`git checkout -b feature/MinhaFeature`)
199
+ 3. Commit suas mudanças (`git commit -m 'Adiciona MinhaFeature'`)
200
+ 4. Push para a branch (`git push origin feature/MinhaFeature`)
201
+ 5. Abra um Pull Request
202
+
203
+ ### Desenvolvimento
204
+
205
+ ```bash
206
+ # Clone o repositório
207
+ git clone https://github.com/AlexandreAraujoCosta/DSD.git
208
+ cd dsd
209
+
210
+ # Instale em modo desenvolvimento
211
+ pip install -e ".[dev]"
212
+
213
+ # Execute os testes
214
+ pytest
215
+
216
+ # Formate o código
217
+ black dsd/
218
+
219
+ # Verifique tipos
220
+ mypy dsd/
221
+ ```
222
+
223
+ ## 📝 Licença
224
+
225
+ Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
226
+
227
+ ## 👥 Autores
228
+
229
+ **Alexandre Araújo Costa**
230
+ - Email: alexandre.araujo.costa@gmail.com
231
+
232
+ **Henrique Araújo Costa**
233
+ - Coautor
234
+
235
+ ## 🙏 Agradecimentos
236
+
237
+ - Comunidade Python Brasil
238
+ - Supremo Tribunal Federal por disponibilizar os dados publicamente
239
+
240
+ ## 📊 Status do Projeto
241
+
242
+ 🚧 **Em desenvolvimento ativo** - Versão 0.1.0
243
+
244
+ ## 🔗 Links Úteis
245
+
246
+ - [Documentação do STF](https://portal.stf.jus.br)
247
+ - [PyPI Package](https://pypi.org/project/dsd-br/)
248
+ - [Issues](https://github.com/AlexandreAraujoCosta/DSD/issues)
249
+
250
+ ## 📈 Changelog
251
+
252
+ ### [0.1.0] - 2024-01-XX
253
+
254
+ #### Adicionado
255
+ - Estrutura inicial do pacote
256
+ - Funções de web scraping do STF
257
+ - Funções de processamento de dados
258
+ - Suporte a CSV
259
+ - Type hints completos
260
+ - Documentação inline
261
+
262
+ ---
263
+
264
+ **⭐ Se este projeto foi útil para você, considere dar uma estrela no GitHub!**
dsd_br-0.1.0/README.md ADDED
@@ -0,0 +1,226 @@
1
+ # DSD
2
+
3
+ [![PyPI version](https://badge.fury.io/py/dsd.svg)](https://badge.fury.io/py/dsd)
4
+ [![Python Versions](https://img.shields.io/pypi/pyversions/dsd.svg)](https://pypi.org/project/dsd/)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ **DSD** é uma biblioteca Python para extração e processamento de dados do portal do **Supremo Tribunal Federal (STF)** do Brasil.
8
+
9
+ ## 🚀 Funcionalidades
10
+
11
+ - ✅ **Web Scraping** do portal STF
12
+ - ✅ **Extração de processos** judiciais
13
+ - ✅ **Processamento de andamentos** processuais
14
+ - ✅ **Extração de partes** envolvidas
15
+ - ✅ **Limpeza e normalização** de dados
16
+ - ✅ **Exportação para CSV**
17
+ - ✅ **Type hints** completos (Python 3.7+)
18
+ - ✅ **Documentação** inline (docstrings)
19
+
20
+ ## 📦 Instalação
21
+
22
+ ### Via pip (recomendado)
23
+
24
+ ```bash
25
+ pip install dsd-br
26
+ ```
27
+
28
+ ### Via repositório Git
29
+
30
+ ```bash
31
+ git clone https://github.com/AlexandreAraujoCosta/DSD.git
32
+ cd dsd
33
+ pip install -e .
34
+ ```
35
+
36
+ ### Instalação para desenvolvimento
37
+
38
+ ```bash
39
+ pip install -e ".[dev]"
40
+ ```
41
+
42
+ ## 🎯 Uso Rápido
43
+
44
+ ### Exemplo Básico
45
+
46
+ ```python
47
+ import dsd
48
+
49
+ # Fazer requisição ao STF
50
+ html = dsd.get("https://portal.stf.jus.br/processos/...")
51
+
52
+ # Extrair informações
53
+ partes = dsd.extrair_partes(html)
54
+ andamentos = dsd.extrair_andamentos(html)
55
+
56
+ # Processar dados
57
+ dados_limpos = dsd.limpar(dados)
58
+
59
+ # Salvar em CSV
60
+ dsd.write_csv_header("processos.csv", "processo;parte;data")
61
+ dsd.write_csv_row("processos.csv", [processo, parte, data])
62
+ ```
63
+
64
+ ### Trabalhando com Datas
65
+
66
+ ```python
67
+ from dsd import date, ajustar_mes
68
+
69
+ # Converter formato de data
70
+ data_br = "31/12/2023"
71
+ data_iso = date(data_br) # "2023-12-31"
72
+
73
+ # Converter mês abreviado
74
+ mes_numero = ajustar_mes("DEZ") # "12"
75
+ ```
76
+
77
+ ### Trabalhando com Estados
78
+
79
+ ```python
80
+ from dsd import limpa_estado, estado_nome_completo, siglas
81
+
82
+ # Converter estado para sigla
83
+ sigla = limpa_estado("SAO PAULO") # "/SP"
84
+
85
+ # Converter sigla para nome completo
86
+ nome = estado_nome_completo("/SP") # "SAO PAULO"
87
+
88
+ # Obter lista de siglas
89
+ lista_siglas = siglas() # ['AC', 'AL', 'AP', ...]
90
+ ```
91
+
92
+ ### Extração de Texto
93
+
94
+ ```python
95
+ from dsd import extract, clean
96
+
97
+ # Extrair texto entre delimitadores
98
+ texto_html = "<div>Conteúdo importante</div>"
99
+ conteudo = extract(texto_html, "<div>", "</div>") # "Conteúdo importante"
100
+
101
+ # Limpar texto
102
+ texto_sujo = " Texto com\nespaços "
103
+ texto_limpo = clean(texto_sujo) # "Texto com espaços"
104
+ ```
105
+
106
+ ### Trabalhando com Arquivos
107
+
108
+ ```python
109
+ from dsd import carregar_arquivo, gravar, csv_to_list
110
+
111
+ # Carregar arquivo
112
+ conteudo = carregar_arquivo("processo.html")
113
+
114
+ # Gravar dados
115
+ gravar("resultado.txt", "Dados processados")
116
+
117
+ # Converter CSV para lista
118
+ dados = csv_to_list("dados.csv")
119
+ ```
120
+
121
+ ## 📚 Documentação Completa
122
+
123
+ ### Funções de Requisição HTTP
124
+
125
+ - `get(url: str) -> str`: Faz requisição GET e retorna HTML
126
+ - `get_json(url: str) -> dict`: Faz requisição GET e retorna JSON
127
+ - `get_response(url: str) -> Response`: Retorna objeto Response completo
128
+
129
+ ### Funções de Extração
130
+
131
+ - `extract(source: str, start_at: str, end_at: str) -> str`: Extrai texto entre delimitadores
132
+ - `extrair_partes(string: str) -> str`: Extrai partes processuais do HTML
133
+ - `extrair_andamentos(string: str) -> list`: Extrai andamentos processuais
134
+
135
+ ### Funções de Limpeza
136
+
137
+ - `clean(source: str) -> str`: Remove espaços e caracteres especiais
138
+ - `limpar(fonte: str) -> str`: Limpeza completa de texto
139
+ - `limpar_para_csv(fonte: str) -> str`: Prepara texto para CSV
140
+
141
+ ### Funções de Arquivo e CSV
142
+
143
+ - `carregar_arquivo(nomedoarquivo: str) -> str`: Carrega arquivo
144
+ - `gravar(nomedoarquivo: str, dados: str) -> None`: Grava dados
145
+ - `csv_to_list(file: str) -> list`: Converte CSV para lista
146
+ - `write_csv_header(nomedoarquivo: str, string_campos: str) -> None`: Escreve cabeçalho CSV
147
+ - `write_csv_row(nomedoarquivo: str, dados: str) -> None`: Escreve linha CSV
148
+
149
+ ## 🛠️ Requisitos
150
+
151
+ - Python >= 3.7
152
+ - requests >= 2.31.0
153
+ - selenium >= 4.0.0
154
+
155
+ ## 🤝 Contribuindo
156
+
157
+ Contribuições são bem-vindas! Para contribuir:
158
+
159
+ 1. Fork o projeto
160
+ 2. Crie uma branch para sua feature (`git checkout -b feature/MinhaFeature`)
161
+ 3. Commit suas mudanças (`git commit -m 'Adiciona MinhaFeature'`)
162
+ 4. Push para a branch (`git push origin feature/MinhaFeature`)
163
+ 5. Abra um Pull Request
164
+
165
+ ### Desenvolvimento
166
+
167
+ ```bash
168
+ # Clone o repositório
169
+ git clone https://github.com/AlexandreAraujoCosta/DSD.git
170
+ cd dsd
171
+
172
+ # Instale em modo desenvolvimento
173
+ pip install -e ".[dev]"
174
+
175
+ # Execute os testes
176
+ pytest
177
+
178
+ # Formate o código
179
+ black dsd/
180
+
181
+ # Verifique tipos
182
+ mypy dsd/
183
+ ```
184
+
185
+ ## 📝 Licença
186
+
187
+ Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
188
+
189
+ ## 👥 Autores
190
+
191
+ **Alexandre Araújo Costa**
192
+ - Email: alexandre.araujo.costa@gmail.com
193
+
194
+ **Henrique Araújo Costa**
195
+ - Coautor
196
+
197
+ ## 🙏 Agradecimentos
198
+
199
+ - Comunidade Python Brasil
200
+ - Supremo Tribunal Federal por disponibilizar os dados publicamente
201
+
202
+ ## 📊 Status do Projeto
203
+
204
+ 🚧 **Em desenvolvimento ativo** - Versão 0.1.0
205
+
206
+ ## 🔗 Links Úteis
207
+
208
+ - [Documentação do STF](https://portal.stf.jus.br)
209
+ - [PyPI Package](https://pypi.org/project/dsd-br/)
210
+ - [Issues](https://github.com/AlexandreAraujoCosta/DSD/issues)
211
+
212
+ ## 📈 Changelog
213
+
214
+ ### [0.1.0] - 2024-01-XX
215
+
216
+ #### Adicionado
217
+ - Estrutura inicial do pacote
218
+ - Funções de web scraping do STF
219
+ - Funções de processamento de dados
220
+ - Suporte a CSV
221
+ - Type hints completos
222
+ - Documentação inline
223
+
224
+ ---
225
+
226
+ **⭐ Se este projeto foi útil para você, considere dar uma estrela no GitHub!**
@@ -0,0 +1,92 @@
1
+ """
2
+ DSD - Ferramentas para extração e processamento de dados do STF
3
+
4
+ Este pacote fornece funções para fazer web scraping e processamento de dados
5
+ do portal do Supremo Tribunal Federal (STF) do Brasil.
6
+ """
7
+
8
+ __version__ = "0.1.0"
9
+ __author__ = "Alexandre Araújo Costa"
10
+ __email__ = "alexandre.araujo.costa@gmail.com"
11
+ __maintainer__ = "Alexandre Araújo Costa, Henrique Araújo Costa"
12
+
13
+ # Importar funções principais para facilitar o uso
14
+ from .dsd import (
15
+ # Funções de requisição HTTP
16
+ get,
17
+ get_json,
18
+ get_response,
19
+
20
+ # Funções de extração de texto
21
+ extract,
22
+ extrair,
23
+ clext,
24
+
25
+ # Funções de limpeza
26
+ clean,
27
+ limpar,
28
+ limpar_para_csv,
29
+
30
+ # Funções de arquivo
31
+ carregar_arquivo,
32
+ gravar,
33
+
34
+ # Funções de CSV
35
+ csv_to_list,
36
+ write_csv_header,
37
+ write_csv_row,
38
+
39
+ # Funções de processamento
40
+ extrair_partes,
41
+ extrair_andamentos,
42
+ listar_partes,
43
+
44
+ # Funções de estados
45
+ limpa_estado,
46
+ estado_nome_completo,
47
+ siglas,
48
+
49
+ # Funções de data
50
+ date,
51
+ ajustar_mes,
52
+ )
53
+
54
+ __all__ = [
55
+ # HTTP
56
+ 'get',
57
+ 'get_json',
58
+ 'get_response',
59
+
60
+ # Extração
61
+ 'extract',
62
+ 'extrair',
63
+ 'clext',
64
+
65
+ # Limpeza
66
+ 'clean',
67
+ 'limpar',
68
+ 'limpar_para_csv',
69
+
70
+ # Arquivo
71
+ 'carregar_arquivo',
72
+ 'gravar',
73
+
74
+ # CSV
75
+ 'csv_to_list',
76
+ 'write_csv_header',
77
+ 'write_csv_row',
78
+
79
+ # Processamento
80
+ 'extrair_partes',
81
+ 'extrair_andamentos',
82
+ 'listar_partes',
83
+
84
+ # Estados
85
+ 'limpa_estado',
86
+ 'estado_nome_completo',
87
+ 'siglas',
88
+
89
+ # Data
90
+ 'date',
91
+ 'ajustar_mes',
92
+ ]