brutils 2.1.1__tar.gz → 2.3.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.
- {brutils-2.1.1 → brutils-2.3.0}/PKG-INFO +558 -131
- brutils-2.3.0/README.md +1353 -0
- brutils-2.3.0/brutils/__init__.py +134 -0
- brutils-2.3.0/brutils/cep.py +268 -0
- brutils-2.3.0/brutils/currency.py +110 -0
- brutils-2.3.0/brutils/data/cities_code.json +5626 -0
- brutils-2.3.0/brutils/data/enums/__init__.py +1 -0
- brutils-2.3.0/brutils/data/enums/better_enum.py +15 -0
- brutils-2.3.0/brutils/data/enums/months.py +57 -0
- brutils-2.3.0/brutils/data/enums/uf.py +61 -0
- brutils-2.3.0/brutils/date_utils.py +95 -0
- brutils-2.3.0/brutils/exceptions/__init__.py +1 -0
- brutils-2.3.0/brutils/exceptions/cep.py +8 -0
- brutils-2.3.0/brutils/ibge/__init__.py +0 -0
- brutils-2.3.0/brutils/ibge/municipality.py +176 -0
- brutils-2.3.0/brutils/ibge/uf.py +61 -0
- brutils-2.3.0/brutils/types/__init__.py +1 -0
- brutils-2.3.0/brutils/types/address.py +14 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/voter_id.py +87 -0
- {brutils-2.1.1 → brutils-2.3.0}/pyproject.toml +11 -6
- brutils-2.1.1/README.md +0 -929
- brutils-2.1.1/brutils/__init__.py +0 -95
- brutils-2.1.1/brutils/cep.py +0 -108
- {brutils-2.1.1 → brutils-2.3.0}/LICENSE +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/cnpj.py +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/cpf.py +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/data/legal_process_ids.json +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/email.py +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/legal_process.py +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/license_plate.py +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/phone.py +0 -0
- {brutils-2.1.1 → brutils-2.3.0}/brutils/pis.py +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: brutils
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: Utils library for specific Brazilian businesses
|
|
5
|
-
Home-page: https://github.com/brazilian-utils/brutils
|
|
6
5
|
License: MIT
|
|
6
|
+
License-File: LICENSE
|
|
7
7
|
Keywords: cpf,cnpj,cep,document,validation,brazil,brazilian
|
|
8
8
|
Author: The Brazilian Utils Organization
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.10,<4.0
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
12
|
Classifier: Natural Language :: English
|
|
@@ -14,15 +14,18 @@ Classifier: Natural Language :: Portuguese
|
|
|
14
14
|
Classifier: Natural Language :: Portuguese (Brazilian)
|
|
15
15
|
Classifier: Programming Language :: Python
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
22
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
23
23
|
Classifier: Topic :: Office/Business
|
|
24
24
|
Classifier: Topic :: Software Development :: Internationalization
|
|
25
25
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
26
|
+
Requires-Dist: coverage (>=7.2.7,<8.0.0)
|
|
27
|
+
Requires-Dist: holidays (>=0.58,<0.59)
|
|
28
|
+
Requires-Dist: num2words (==0.5.14)
|
|
26
29
|
Project-URL: Repository, https://github.com/brazilian-utils/brutils
|
|
27
30
|
Description-Content-Type: text/markdown
|
|
28
31
|
|
|
@@ -31,12 +34,10 @@ Description-Content-Type: text/markdown
|
|
|
31
34
|
|
|
32
35
|
<p>Utils library for Brazilian-specific businesses.</p>
|
|
33
36
|
|
|
34
|
-
|
|
35
37
|
[](https://codecov.io/gh/brazilian-utils/brutils-python)
|
|
36
38
|
[](https://pypistats.org/packages/brutils)
|
|
37
39
|
[](https://pypi.org/project/brutils/)
|
|
38
40
|
|
|
39
|
-
|
|
40
41
|
### [Looking for the english version?](README_EN.md)
|
|
41
42
|
|
|
42
43
|
</div>
|
|
@@ -55,7 +56,7 @@ desenvolvimento de aplicações para o business Brasileiro.
|
|
|
55
56
|
|
|
56
57
|
# Instalação
|
|
57
58
|
|
|
58
|
-
```
|
|
59
|
+
```bash
|
|
59
60
|
pip install brutils
|
|
60
61
|
```
|
|
61
62
|
|
|
@@ -72,48 +73,63 @@ False
|
|
|
72
73
|
# Utilitários
|
|
73
74
|
|
|
74
75
|
- [CPF](#cpf)
|
|
75
|
-
- [
|
|
76
|
-
- [
|
|
77
|
-
- [
|
|
78
|
-
- [
|
|
76
|
+
- [is\_valid\_cpf](#is_valid_cpf)
|
|
77
|
+
- [format\_cpf](#format_cpf)
|
|
78
|
+
- [remove\_symbols\_cpf](#remove_symbols_cpf)
|
|
79
|
+
- [generate\_cpf](#generate_cpf)
|
|
79
80
|
- [CNPJ](#cnpj)
|
|
80
|
-
- [
|
|
81
|
-
- [
|
|
82
|
-
- [
|
|
83
|
-
- [
|
|
81
|
+
- [is\_valid\_cnpj](#is_valid_cnpj)
|
|
82
|
+
- [format\_cnpj](#format_cnpj)
|
|
83
|
+
- [remove\_symbols\_cnpj](#remove_symbols_cnpj)
|
|
84
|
+
- [generate\_cnpj](#generate_cnpj)
|
|
84
85
|
- [CEP](#cep)
|
|
85
|
-
- [
|
|
86
|
-
- [
|
|
87
|
-
- [
|
|
88
|
-
- [
|
|
86
|
+
- [is\_valid\_cep](#is_valid_cep)
|
|
87
|
+
- [format\_cep](#format_cep)
|
|
88
|
+
- [remove\_symbols\_cep](#remove_symbols_cep)
|
|
89
|
+
- [generate\_cep](#generate_cep)
|
|
90
|
+
- [get\_address\_from\_cep](#get_address_from_cep)
|
|
91
|
+
- [get\_cep\_information\_from\_address](#get_cep_information_from_address)
|
|
89
92
|
- [Telefone](#telefone)
|
|
90
|
-
- [
|
|
91
|
-
- [
|
|
92
|
-
- [
|
|
93
|
-
- [
|
|
94
|
-
- [
|
|
93
|
+
- [is\_valid\_phone](#is_valid_phone)
|
|
94
|
+
- [format\_phone](#format_phone)
|
|
95
|
+
- [remove\_symbols\_phone](#remove_symbols_phone)
|
|
96
|
+
- [remove\_international\_dialing\_code](#remove_international_dialing_code)
|
|
97
|
+
- [generate\_phone](#generate_phone)
|
|
95
98
|
- [Email](#email)
|
|
96
|
-
- [
|
|
99
|
+
- [is\_valid\_email](#is_valid_email)
|
|
100
|
+
- [Data](#date)
|
|
101
|
+
- [convert\_date\_to_text](#convert_date_to_text)
|
|
97
102
|
- [Placa de Carro](#placa-de-carro)
|
|
98
|
-
- [
|
|
99
|
-
- [
|
|
100
|
-
- [
|
|
101
|
-
- [
|
|
102
|
-
- [
|
|
103
|
-
- [
|
|
103
|
+
- [is\_valid\_license\_plate](#is_valid_license_plate)
|
|
104
|
+
- [format\_license\_plate](#format_license_plate)
|
|
105
|
+
- [remove\_symbols\_license\_plate](#remove_symbols_license_plate)
|
|
106
|
+
- [generate\_license\_plate](#generate_license_plate)
|
|
107
|
+
- [convert\_license\_plate\_to\_mercosul](#convert_license_plate_to_mercosul)
|
|
108
|
+
- [get\_format\_license\_plate](#get_format_license_plate)
|
|
104
109
|
- [PIS](#pis)
|
|
105
|
-
- [
|
|
106
|
-
- [
|
|
107
|
-
- [
|
|
108
|
-
- [
|
|
110
|
+
- [is\_valid\_pis](#is_valid_pis)
|
|
111
|
+
- [format\_pis](#format_pis)
|
|
112
|
+
- [remove\_symbols\_pis](#remove_symbols_pis)
|
|
113
|
+
- [generate\_pis](#generate_pis)
|
|
109
114
|
- [Processo Jurídico](#processo-jurídico)
|
|
110
|
-
- [
|
|
111
|
-
- [
|
|
112
|
-
- [
|
|
113
|
-
- [
|
|
114
|
-
|
|
115
|
-
- [
|
|
116
|
-
- [
|
|
115
|
+
- [is\_valid\_legal\_process](#is_valid_legal_process)
|
|
116
|
+
- [format\_legal\_process](#format_legal_process)
|
|
117
|
+
- [remove\_symbols\_legal\_process](#remove_symbols_legal_process)
|
|
118
|
+
- [generate\_legal\_process](#generate_legal_process)
|
|
119
|
+
- [Titulo Eleitoral](#titulo-eleitoral)
|
|
120
|
+
- [is\_valid\_voter\_id](#is_valid_voter_id)
|
|
121
|
+
- [format\_voter\_id](#format_voter_id)
|
|
122
|
+
- [generate\_voter\_id](#generate_voter_id)
|
|
123
|
+
- [IBGE](#ibge)
|
|
124
|
+
- [convert_code_to_uf](#convert_code_to_uf)
|
|
125
|
+
- [convert_uf_to_name](#convert_uf_to_name)
|
|
126
|
+
- [get_code_by_municipality_name](#get_code_by_municipality_name)
|
|
127
|
+
- [get\_municipality\_by\_code](#get_municipality_by_code)
|
|
128
|
+
- [Feriados](#feriados)
|
|
129
|
+
- [is_holiday](#is_holiday)
|
|
130
|
+
- [Monetário](#monetário)
|
|
131
|
+
- [format\_currency](#format_currency)
|
|
132
|
+
- [convert\_real\_to\_text](#convert_real_to_text)
|
|
117
133
|
|
|
118
134
|
## CPF
|
|
119
135
|
|
|
@@ -124,10 +140,12 @@ correspondem ao seu número base. Esta função não verifica a existência do C
|
|
|
124
140
|
ela apenas valida o formato da string.
|
|
125
141
|
|
|
126
142
|
Argumentos:
|
|
127
|
-
|
|
143
|
+
|
|
144
|
+
- cpf (str): O CPF a ser validado, uma string de 11 dígitos
|
|
128
145
|
|
|
129
146
|
Retorna:
|
|
130
|
-
|
|
147
|
+
|
|
148
|
+
- bool: Verdadeiro se os dígitos de verificação corresponderem ao número base,
|
|
131
149
|
Falso caso contrário.
|
|
132
150
|
|
|
133
151
|
Exemplo:
|
|
@@ -147,10 +165,12 @@ Esta função recebe uma string de CPF contendo apenas números como entrada e
|
|
|
147
165
|
adiciona símbolos de formatação padrão para exibição.
|
|
148
166
|
|
|
149
167
|
Argumentos:
|
|
150
|
-
|
|
168
|
+
|
|
169
|
+
- cpf (str): Uma string de CPF contendo apenas números.
|
|
151
170
|
|
|
152
171
|
Retorna:
|
|
153
|
-
|
|
172
|
+
|
|
173
|
+
- str: O CPF formatado com símbolos visuais se for válido,
|
|
154
174
|
None se não for válido.
|
|
155
175
|
|
|
156
176
|
Exemplo:
|
|
@@ -170,10 +190,12 @@ brasileiro). Esta função recebe como entrada uma string de CPF e remove todas
|
|
|
170
190
|
ocorrências dos caracteres '.', '-' dela.
|
|
171
191
|
|
|
172
192
|
Argumentos:
|
|
173
|
-
|
|
193
|
+
|
|
194
|
+
- cpf (str): A string de CPF contendo os símbolos a serem removidos.
|
|
174
195
|
|
|
175
196
|
Retorna:
|
|
176
|
-
|
|
197
|
+
|
|
198
|
+
- str: Uma nova string com os símbolos especificados removidos.
|
|
177
199
|
|
|
178
200
|
Exemplo:
|
|
179
201
|
|
|
@@ -188,7 +210,8 @@ Exemplo:
|
|
|
188
210
|
Gerar uma string de dígitos de CPF válida aleatória.
|
|
189
211
|
|
|
190
212
|
Retorna:
|
|
191
|
-
|
|
213
|
+
|
|
214
|
+
- str: Um CPF válido gerado aleatoriamente.
|
|
192
215
|
|
|
193
216
|
Exemplo:
|
|
194
217
|
|
|
@@ -210,10 +233,12 @@ string de dígitos com o comprimento apropriado. Esta função não verifica a
|
|
|
210
233
|
existência do CNPJ; ela só valida o formato da string.
|
|
211
234
|
|
|
212
235
|
Argumentos:
|
|
213
|
-
|
|
236
|
+
|
|
237
|
+
- cnpj (str): O CNPJ a ser validado.
|
|
214
238
|
|
|
215
239
|
Retorna:
|
|
216
|
-
|
|
240
|
+
|
|
241
|
+
- bool: True se os dígitos de verificação corresponderem ao número base,
|
|
217
242
|
False caso contrário.
|
|
218
243
|
|
|
219
244
|
Exemplo:
|
|
@@ -234,10 +259,12 @@ Esta função recebe uma string de CNPJ como entrada, valida seu formato e a
|
|
|
234
259
|
formata com símbolos visuais padrão para fins de exibição.
|
|
235
260
|
|
|
236
261
|
Argumentos:
|
|
237
|
-
|
|
262
|
+
|
|
263
|
+
- cnpj (str): A string de CNPJ a ser formatada para exibição.
|
|
238
264
|
|
|
239
265
|
Retorna:
|
|
240
|
-
|
|
266
|
+
|
|
267
|
+
- str: O CNPJ formatado com símbolos visuais se for válido, None se não for válido.
|
|
241
268
|
|
|
242
269
|
Exemplo:
|
|
243
270
|
|
|
@@ -257,10 +284,12 @@ Esta função recebe uma string de CNPJ como entrada e remove todas as
|
|
|
257
284
|
ocorrências dos caracteres '.', '/' e '-' dela.
|
|
258
285
|
|
|
259
286
|
Argumentos:
|
|
260
|
-
|
|
287
|
+
|
|
288
|
+
- cnpj (str): A string de CNPJ que contém os símbolos a serem removidos.
|
|
261
289
|
|
|
262
290
|
Retorna:
|
|
263
|
-
|
|
291
|
+
|
|
292
|
+
- str: Uma nova string com os símbolos especificados removidos.
|
|
264
293
|
|
|
265
294
|
Exemplo:
|
|
266
295
|
|
|
@@ -276,10 +305,12 @@ Gera uma string de dígitos CNPJ válida aleatória. Um número de filial
|
|
|
276
305
|
opcional pode ser fornecido; o padrão é 1.
|
|
277
306
|
|
|
278
307
|
Argumentos:
|
|
279
|
-
|
|
308
|
+
|
|
309
|
+
- branch (int): Um número de filial opcional a ser incluído no CNPJ.
|
|
280
310
|
|
|
281
311
|
Retorna:
|
|
282
|
-
|
|
312
|
+
|
|
313
|
+
- str: Um CNPJ válido gerado aleatoriamente.
|
|
283
314
|
|
|
284
315
|
Exemplo:
|
|
285
316
|
|
|
@@ -287,7 +318,7 @@ Exemplo:
|
|
|
287
318
|
>>> from brutils import generate_cnpj
|
|
288
319
|
>>> generate_cnpj()
|
|
289
320
|
'34665388000161'
|
|
290
|
-
>>>
|
|
321
|
+
>>> generate_cnpj(1234)
|
|
291
322
|
"01745284123455"
|
|
292
323
|
```
|
|
293
324
|
|
|
@@ -301,10 +332,12 @@ exatamente 8 dígitos. Esta função não verifica se o CEP é um CEP real, pois
|
|
|
301
332
|
valida apenas o formato da string.
|
|
302
333
|
|
|
303
334
|
Argumentos:
|
|
304
|
-
|
|
335
|
+
|
|
336
|
+
- cep (str): A string contendo o CEP a ser verificado.
|
|
305
337
|
|
|
306
338
|
Retorno:
|
|
307
|
-
|
|
339
|
+
|
|
340
|
+
- bool: True se o CEP for válido (8 dígitos), False caso contrário.
|
|
308
341
|
|
|
309
342
|
Exemplo:
|
|
310
343
|
|
|
@@ -325,11 +358,13 @@ Esta função recebe um CEP como entrada e, se for um CEP válido com 8 dígitos
|
|
|
325
358
|
o formata no padrão "12345-678".
|
|
326
359
|
|
|
327
360
|
Argumentos:
|
|
328
|
-
|
|
361
|
+
|
|
362
|
+
- cep (str): O CEP (Código de Endereçamento Postal) de entrada a ser
|
|
329
363
|
formatado.
|
|
330
364
|
|
|
331
365
|
Retorna:
|
|
332
|
-
|
|
366
|
+
|
|
367
|
+
- str: O CEP formatado no formato "12345-678" se for válido, None se não for
|
|
333
368
|
válido.
|
|
334
369
|
|
|
335
370
|
Example:
|
|
@@ -351,11 +386,13 @@ fornecido. Esta função recebe um CEP como entrada e remove todas as ocorrênci
|
|
|
351
386
|
dos caracteres '.' e '-' dele.
|
|
352
387
|
|
|
353
388
|
Argumentos:
|
|
354
|
-
|
|
389
|
+
|
|
390
|
+
- cep (str): O CEP (Código de Endereçamento Postal) de entrada que contém os
|
|
355
391
|
símbolos a serem removidos.
|
|
356
392
|
|
|
357
393
|
Retorna:
|
|
358
|
-
|
|
394
|
+
|
|
395
|
+
- str: Uma nova string com os símbolos especificados removidos.
|
|
359
396
|
|
|
360
397
|
Exemplo:
|
|
361
398
|
|
|
@@ -375,7 +412,8 @@ Gera um número de CEP (Código de Endereçamento Postal) aleatório de 8 dígit
|
|
|
375
412
|
como uma string.
|
|
376
413
|
|
|
377
414
|
Retorna:
|
|
378
|
-
|
|
415
|
+
|
|
416
|
+
- str: Um número de 8 dígitos gerado aleatoriamente.
|
|
379
417
|
|
|
380
418
|
Exemplo:
|
|
381
419
|
|
|
@@ -387,34 +425,105 @@ Exemplo:
|
|
|
387
425
|
'29641407'
|
|
388
426
|
```
|
|
389
427
|
|
|
428
|
+
### get_address_from_cep
|
|
429
|
+
|
|
430
|
+
Busca as informações de endereço a partir de um CEP (Código de Endereçamento Postal) utilizando a API da ViaCEP.
|
|
431
|
+
|
|
432
|
+
Argumentos:
|
|
433
|
+
|
|
434
|
+
- cep (str): O CEP a ser utilizado na busca.
|
|
435
|
+
- raise_exceptions (bool, opcional): Se deve gerar exceções quando o CEP for inválido ou não for encontrado. O padrão é False.
|
|
436
|
+
|
|
437
|
+
Retorna:
|
|
438
|
+
|
|
439
|
+
- Address | None: Um objeto Address (TypedDict) contendo as informações de endereço se o CEP for encontrado, caso contrário, None.
|
|
440
|
+
|
|
441
|
+
Exemplo:
|
|
442
|
+
|
|
443
|
+
```python
|
|
444
|
+
>>> from brutils import get_address_from_cep
|
|
445
|
+
>>> get_address_from_cep("12345678")
|
|
446
|
+
{
|
|
447
|
+
"cep": "12345-678",
|
|
448
|
+
"logradouro": "Rua Example",
|
|
449
|
+
"complemento": "",
|
|
450
|
+
"bairro": "Example",
|
|
451
|
+
"localidade": "Example",
|
|
452
|
+
"uf": "EX",
|
|
453
|
+
"ibge": "1234567",
|
|
454
|
+
"gia": "1234",
|
|
455
|
+
"ddd": "12",
|
|
456
|
+
"siafi": "1234"
|
|
457
|
+
}
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
### get_cep_information_from_address
|
|
461
|
+
|
|
462
|
+
Busca o CEP e outras informações a partir de um endereço utilizando a API da ViaCEP.
|
|
463
|
+
|
|
464
|
+
Argumentos:
|
|
465
|
+
|
|
466
|
+
- federal_unit (str): Abreviação de duas letras do estado brasileiro.
|
|
467
|
+
- city (str): Nome da cidade.
|
|
468
|
+
- street (str): Nome (ou substring) da rua.
|
|
469
|
+
- raise_exceptions (bool, opcional): Se deve gerar exceções quando o endereço é inválido ou não foi encontrado. O padrão é False.
|
|
470
|
+
|
|
471
|
+
Retorna:
|
|
472
|
+
|
|
473
|
+
- list[Address] | None: Uma lista de objetos Address (TypedDict) contendo as informações de endereço se o endereço for encontrado, None caso contrário.
|
|
474
|
+
|
|
475
|
+
Exemplo:
|
|
476
|
+
|
|
477
|
+
```python
|
|
478
|
+
>>> from brutils import get_cep_information_from_address
|
|
479
|
+
>>> get_cep_information_from_address("EX", "Example", "Rua Example")
|
|
480
|
+
[
|
|
481
|
+
{
|
|
482
|
+
"cep": "12345-678",
|
|
483
|
+
"logradouro": "Rua Example",
|
|
484
|
+
"complemento": "",
|
|
485
|
+
"bairro": "Example",
|
|
486
|
+
"localidade": "Example",
|
|
487
|
+
"uf": "EX",
|
|
488
|
+
"ibge": "1234567",
|
|
489
|
+
"gia": "1234",
|
|
490
|
+
"ddd": "12",
|
|
491
|
+
"siafi": "1234"
|
|
492
|
+
}
|
|
493
|
+
]
|
|
494
|
+
```
|
|
495
|
+
|
|
390
496
|
## Telefone
|
|
391
497
|
|
|
392
498
|
### is_valid_phone
|
|
393
499
|
|
|
394
500
|
Retorna se um número de telefone brasileiro é válido conforme o formato da string.
|
|
395
501
|
Não verifica se o número realmente existe.
|
|
396
|
-
|
|
397
502
|
```
|
|
503
|
+
|
|
398
504
|
is_valid_phone(phone_number, type)
|
|
505
|
+
|
|
399
506
|
```
|
|
400
507
|
|
|
401
508
|
Argumentos:
|
|
402
|
-
* phone_number (str):
|
|
403
|
-
* o número de telefone a ser validado
|
|
404
|
-
* apenas dígitos, sem símbolos
|
|
405
|
-
* sem o código do país
|
|
406
|
-
* deve incluir o número de DDD com dois dígitos
|
|
407
|
-
* exemplo: '+55 48 9999 9999' deve ser utilizado como '4899999999'
|
|
408
|
-
* obrigatório
|
|
409
509
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
510
|
+
- phone_number (str):
|
|
511
|
+
- o número de telefone a ser validado
|
|
512
|
+
- apenas dígitos, sem símbolos
|
|
513
|
+
- sem o código do país
|
|
514
|
+
- deve incluir o número de DDD com dois dígitos
|
|
515
|
+
- exemplo: '+55 48 9999 9999' deve ser utilizado como '4899999999'
|
|
516
|
+
- obrigatório
|
|
517
|
+
|
|
518
|
+
- type (str):
|
|
519
|
+
- 'mobile' para validar apenas números de celular
|
|
520
|
+
- 'landline' para validar apenas números de telefone fixo
|
|
521
|
+
- caso não especificado, valida para um para o outro.
|
|
522
|
+
- opcional
|
|
415
523
|
|
|
416
524
|
Retorna:
|
|
417
|
-
|
|
525
|
+
|
|
526
|
+
- bool: True se o número é válido, False caso contrário.
|
|
418
527
|
|
|
419
528
|
Exemplo:
|
|
420
529
|
|
|
@@ -429,15 +538,19 @@ True
|
|
|
429
538
|
```
|
|
430
539
|
|
|
431
540
|
### format_phone
|
|
541
|
+
|
|
432
542
|
Formata um número de telefone para exibição visual. Esta função recebe uma string representando um número de telefone contendo apenas números como entrada e adiciona símbolos de formatação padrão para exibição.
|
|
433
543
|
|
|
434
544
|
Argumentos:
|
|
435
|
-
|
|
545
|
+
|
|
546
|
+
- phone (str): Uma string representando um número de telefone.
|
|
436
547
|
|
|
437
548
|
Retorna:
|
|
438
|
-
|
|
549
|
+
|
|
550
|
+
- str: O número de telefone formatado para exibição ou None se não for válido.
|
|
439
551
|
|
|
440
552
|
Exemplo:
|
|
553
|
+
|
|
441
554
|
```python
|
|
442
555
|
>>> from brutils import format_phone
|
|
443
556
|
>>> format_phone("11994029275")
|
|
@@ -445,7 +558,7 @@ Exemplo:
|
|
|
445
558
|
>>> format_phone("1635014415")
|
|
446
559
|
'(16)3501-4415'
|
|
447
560
|
>>> format_phone("333333")
|
|
448
|
-
|
|
561
|
+
None
|
|
449
562
|
```
|
|
450
563
|
|
|
451
564
|
### remove_symbols_phone
|
|
@@ -453,12 +566,15 @@ Exemplo:
|
|
|
453
566
|
Remove símbolos do número de telefone. Esta função recebe um número de telefone como entrada e remove todos os símbolos, como parênteses '()', traços '-' e espaços ' '.
|
|
454
567
|
|
|
455
568
|
Argumentos:
|
|
456
|
-
|
|
569
|
+
|
|
570
|
+
- phone (str): O número de telefone de entrada que contém os símbolos a serem removidos.
|
|
457
571
|
|
|
458
572
|
Retorna:
|
|
459
|
-
|
|
573
|
+
|
|
574
|
+
- str: Uma nova string com os símbolos especificados removidos.
|
|
460
575
|
|
|
461
576
|
Exemplo:
|
|
577
|
+
|
|
462
578
|
```python
|
|
463
579
|
>>> from brutils import remove_symbols_phone
|
|
464
580
|
>>> remove_symbols_phone('(21)2569-6969')
|
|
@@ -474,12 +590,15 @@ Exemplo:
|
|
|
474
590
|
Remove o código internacional (+55) de uma string que contém um número de telefone brasileiro, mantendo outros caracteres especiais.
|
|
475
591
|
|
|
476
592
|
Argumentos:
|
|
477
|
-
|
|
593
|
+
|
|
594
|
+
- phone (str): O número de telefone de entrada que pode conter o código internacional.
|
|
478
595
|
|
|
479
596
|
Retorna:
|
|
480
|
-
|
|
597
|
+
|
|
598
|
+
- str: Uma nova string sem o código internacional, preservando outros caracteres especiais.
|
|
481
599
|
|
|
482
600
|
Exemplo:
|
|
601
|
+
|
|
483
602
|
```python
|
|
484
603
|
>>> from brutils import remove_international_dialing_code
|
|
485
604
|
>>> remove_international_dialing_code("5521994029275")
|
|
@@ -499,12 +618,14 @@ Exemplo:
|
|
|
499
618
|
Gera um número de telefone aleatório válido.
|
|
500
619
|
|
|
501
620
|
Argumentos:
|
|
502
|
-
|
|
621
|
+
|
|
622
|
+
- type (str): Pode ser "landline" ou "mobile".
|
|
503
623
|
Se não for especificado, a função gera um número
|
|
504
624
|
aleatório de qualquer tipo.
|
|
505
625
|
|
|
506
626
|
Retorna:
|
|
507
|
-
|
|
627
|
+
|
|
628
|
+
- str: Um número de telefone válido gerado aleatoriamente.
|
|
508
629
|
|
|
509
630
|
Exemplo:
|
|
510
631
|
|
|
@@ -525,10 +646,12 @@ Exemplo:
|
|
|
525
646
|
Verificar se uma string corresponde a um endereço de e-mail válido.
|
|
526
647
|
|
|
527
648
|
Argumentos:
|
|
528
|
-
|
|
649
|
+
|
|
650
|
+
- email (str): A string de entrada a ser verificada.
|
|
529
651
|
|
|
530
652
|
Retorna:
|
|
531
|
-
|
|
653
|
+
|
|
654
|
+
- bool: Verdadeiro se o email for um endereço de e-mail válido, Falso
|
|
532
655
|
caso contrário.
|
|
533
656
|
|
|
534
657
|
Exemplo:
|
|
@@ -546,6 +669,33 @@ False
|
|
|
546
669
|
False
|
|
547
670
|
```
|
|
548
671
|
|
|
672
|
+
## Data
|
|
673
|
+
|
|
674
|
+
## convert_date_to_text
|
|
675
|
+
|
|
676
|
+
Converte uma data em sua representação textual.
|
|
677
|
+
|
|
678
|
+
Argumentos:
|
|
679
|
+
- date (str): Uma string no formato dd/mm/aaaa
|
|
680
|
+
|
|
681
|
+
Retorna:
|
|
682
|
+
- A represetação textual da data ou None caso a data esteja mal formatada ou a data seja inválida.
|
|
683
|
+
|
|
684
|
+
Exemplo:
|
|
685
|
+
|
|
686
|
+
````python
|
|
687
|
+
>>> from brutils import convert_date_to_text
|
|
688
|
+
>>> convert_date_to_text("25/12/2000")
|
|
689
|
+
"Vinte e cinco de dezembro de dois mil"
|
|
690
|
+
>>> convert_date_to_text("31/02/2000")
|
|
691
|
+
None
|
|
692
|
+
>>> convert_date_to_text("29/02/2024")
|
|
693
|
+
"Vinte e nove de fevereiro de dois mil e vinte e quatro"
|
|
694
|
+
>>> convert_date_to_text("1/08/2024")
|
|
695
|
+
"Primeiro de agosto de dois mil e vinte e quatro"
|
|
696
|
+
````
|
|
697
|
+
|
|
698
|
+
|
|
549
699
|
## Placa de Carro
|
|
550
700
|
|
|
551
701
|
### is_valid_license_plate
|
|
@@ -555,12 +705,14 @@ Esta função não verifica se a placa de carro é uma placa de carro real,
|
|
|
555
705
|
apenas valida o formato da string.
|
|
556
706
|
|
|
557
707
|
Argumentos:
|
|
558
|
-
|
|
559
|
-
|
|
708
|
+
|
|
709
|
+
- license_plate (str): Uma string representando uma placa de carro.
|
|
710
|
+
- type (str): "old_format" ou "mercosul".
|
|
560
711
|
Se não especificado, verifica um ou outro.
|
|
561
712
|
|
|
562
713
|
Retorna:
|
|
563
|
-
|
|
714
|
+
|
|
715
|
+
- bool: True se a placa de carro for válida, False caso contrário.
|
|
564
716
|
|
|
565
717
|
Exemplo:
|
|
566
718
|
|
|
@@ -584,26 +736,28 @@ Formata uma placa de carro no padrão correto.
|
|
|
584
736
|
Esta função recebe uma placa de carro em qualquer formato (LLLNNNN ou LLLNLNN) e retorna uma versão formatada.
|
|
585
737
|
|
|
586
738
|
Argumentos:
|
|
587
|
-
|
|
739
|
+
|
|
740
|
+
- license_plate (str): Uma string representando uma placa de carro.
|
|
588
741
|
|
|
589
742
|
Retorna:
|
|
590
|
-
|
|
743
|
+
|
|
744
|
+
- str: A string da placa de carro formatada ou
|
|
591
745
|
'None' se a entrada for inválida.
|
|
592
746
|
|
|
593
747
|
Exemplo:
|
|
594
748
|
|
|
595
749
|
```python
|
|
596
750
|
>>> from brutils import format_license_plate
|
|
597
|
-
>>> format_license_plate("ABC1234")
|
|
751
|
+
>>> format_license_plate("ABC1234")
|
|
598
752
|
"ABC-1234"
|
|
599
753
|
# formato antigo (contém traço)
|
|
600
|
-
>>> format_license_plate("abc1234")
|
|
754
|
+
>>> format_license_plate("abc1234")
|
|
601
755
|
"ABC-1234"
|
|
602
756
|
# formato antigo (contém traço)
|
|
603
|
-
>>> format_license_plate("ABC1D23")
|
|
757
|
+
>>> format_license_plate("ABC1D23")
|
|
604
758
|
"ABC1D23"
|
|
605
759
|
# formato mercosul
|
|
606
|
-
>>> format_license_plate("abc1d23")
|
|
760
|
+
>>> format_license_plate("abc1d23")
|
|
607
761
|
"ABC1D23"
|
|
608
762
|
# formato mercosul
|
|
609
763
|
>>> format_license_plate("ABCD123")
|
|
@@ -615,10 +769,12 @@ None
|
|
|
615
769
|
Remove o símbolo de hífen (-) de uma string de placa de carro.
|
|
616
770
|
|
|
617
771
|
Argumentos:
|
|
618
|
-
|
|
772
|
+
|
|
773
|
+
- license_plate_number (str): Uma string de placa de carro contendo símbolos a serem removidos.
|
|
619
774
|
|
|
620
775
|
Retorna:
|
|
621
|
-
|
|
776
|
+
|
|
777
|
+
- str: A string da placa de carro com os símbolos especificados removidos.
|
|
622
778
|
|
|
623
779
|
Exemplo:
|
|
624
780
|
|
|
@@ -639,10 +795,12 @@ from brutils import remove_symbols_license_plate
|
|
|
639
795
|
Gera uma placa de carro válida no formato especificado. Caso nenhum formato seja fornecido, ele retornará uma placa de carro no formato Mercosul.
|
|
640
796
|
|
|
641
797
|
Argumentos:
|
|
642
|
-
|
|
798
|
+
|
|
799
|
+
- format (str): O formato desejado para a placa de carro. 'LLLNNNN' para o formato antigo ou 'LLLNLNN' para o formato Mercosul. O padrão é 'LLLNLNN'.
|
|
643
800
|
|
|
644
801
|
Retorna:
|
|
645
|
-
|
|
802
|
+
|
|
803
|
+
- str: Um número de placa de carro gerado aleatoriamente ou
|
|
646
804
|
None se o formato for inválido.
|
|
647
805
|
|
|
648
806
|
Exemplo:
|
|
@@ -664,10 +822,12 @@ None
|
|
|
664
822
|
Converte uma placa de carro no formato antigo (LLLNNNN) para o formato Mercosul (LLLNLNN).
|
|
665
823
|
|
|
666
824
|
Argumentos:
|
|
667
|
-
|
|
825
|
+
|
|
826
|
+
- license_plate(str): Uma string com o tamanho adequado que representa a placa no formato antigo.
|
|
668
827
|
|
|
669
828
|
Retorna:
|
|
670
|
-
|
|
829
|
+
|
|
830
|
+
- str: A placa Mercosul convertida (LLLNLNN) ou None se a entrada for inválida.
|
|
671
831
|
|
|
672
832
|
Exemplo:
|
|
673
833
|
|
|
@@ -687,10 +847,12 @@ Retorna o formato de uma placa de carro. 'LLLNNNN' para o formato antigo e
|
|
|
687
847
|
'LLLNLNN' para o formato Mercosul.
|
|
688
848
|
|
|
689
849
|
Argumentos:
|
|
690
|
-
|
|
850
|
+
|
|
851
|
+
- license_plate (str): Uma string de placa de carro sem símbolos.
|
|
691
852
|
|
|
692
853
|
Retorna:
|
|
693
|
-
|
|
854
|
+
|
|
855
|
+
- str: O formato da placa de carro (LLLNNNN, LLLNLNN) ou
|
|
694
856
|
'None' se o formato for inválido.
|
|
695
857
|
|
|
696
858
|
Exemplo:
|
|
@@ -716,15 +878,19 @@ None
|
|
|
716
878
|
Verifica se o número PIS/PASEP é valido. Apenas números, formatados como string. Não verifica se o PIS/PASEP realmente existe.
|
|
717
879
|
|
|
718
880
|
Referências:
|
|
719
|
-
|
|
881
|
+
|
|
882
|
+
- <https://www.macoratti.net/alg_pis.htm>.
|
|
720
883
|
|
|
721
884
|
Argumentos:
|
|
722
|
-
|
|
885
|
+
|
|
886
|
+
- pis (str): Número PIS como uma string com o comprimento apropriado.
|
|
723
887
|
|
|
724
888
|
Retorna:
|
|
725
|
-
|
|
889
|
+
|
|
890
|
+
- bool: True se o PIS for válido, False caso contrário.
|
|
726
891
|
|
|
727
892
|
Exemplo:
|
|
893
|
+
|
|
728
894
|
```python
|
|
729
895
|
from brutils import is_valid_pis
|
|
730
896
|
>>> is_valid_pis("82178537464")
|
|
@@ -738,10 +904,12 @@ True
|
|
|
738
904
|
Formata uma string de PIS (Programa de Integração Social) válida com símbolos e adiciona símbolos de formatação padrão para exibição.
|
|
739
905
|
|
|
740
906
|
Argumentos:
|
|
741
|
-
|
|
907
|
+
|
|
908
|
+
- pis (str): Uma string válida de PIS contendo apenas números.
|
|
742
909
|
|
|
743
910
|
Retorna:
|
|
744
|
-
|
|
911
|
+
|
|
912
|
+
- str: Uma string de PIS formatada com símbolos visuais padrão ou None se a entrada for inválida.
|
|
745
913
|
|
|
746
914
|
Exemplo:
|
|
747
915
|
|
|
@@ -758,10 +926,12 @@ from brutils import format_pis
|
|
|
758
926
|
Esta função recebe uma string de PIS (Programa de Integração Social) com símbolos de formatação e retorna uma versão limpa sem símbolos. Remove apenas os símbolos "-" e "." , propositalmente não remove outros símbolos.
|
|
759
927
|
|
|
760
928
|
Argumentos:
|
|
761
|
-
|
|
929
|
+
|
|
930
|
+
- pis (str): Uma string de PIS que pode conter símbolos de formatação.
|
|
762
931
|
|
|
763
932
|
Retorna:
|
|
764
|
-
|
|
933
|
+
|
|
934
|
+
- str: Uma string de PIS limpa, sem símbolos de formatação.
|
|
765
935
|
|
|
766
936
|
Exemplo:
|
|
767
937
|
|
|
@@ -781,7 +951,8 @@ from brutils import remove_symbols_pis
|
|
|
781
951
|
Gera uma string de dígitos contendo um número de um PIS brasileiro válido aleatório.
|
|
782
952
|
|
|
783
953
|
Retorna:
|
|
784
|
-
|
|
954
|
+
|
|
955
|
+
- str: Um número PIS válido gerado aleatoriamente como string.
|
|
785
956
|
|
|
786
957
|
Exemplo:
|
|
787
958
|
|
|
@@ -801,11 +972,13 @@ Verifica se um ID de processo jurídico é válido, não verifica se o ID de pro
|
|
|
801
972
|
jurídico real; ela apenas valida o formato da string.
|
|
802
973
|
|
|
803
974
|
Argumentos:
|
|
804
|
-
|
|
975
|
+
|
|
976
|
+
- legal_process_id (str): Uma string contendo apenas dígitos que representa
|
|
805
977
|
o ID do processo jurídico.
|
|
806
978
|
|
|
807
979
|
Retorna:
|
|
808
|
-
|
|
980
|
+
|
|
981
|
+
- bool: True se o ID do processo jurídico for válido, False caso
|
|
809
982
|
contrário.
|
|
810
983
|
|
|
811
984
|
Examplo:
|
|
@@ -828,11 +1001,13 @@ False
|
|
|
828
1001
|
Formata um ID de processo jurídico em um formato padrão.
|
|
829
1002
|
|
|
830
1003
|
Argumentos:
|
|
831
|
-
|
|
1004
|
+
|
|
1005
|
+
- legal_process_id (str): Uma string de 20 dígitos que representa o ID do
|
|
832
1006
|
processo jurídico.
|
|
833
1007
|
|
|
834
1008
|
Retorna:
|
|
835
|
-
|
|
1009
|
+
|
|
1010
|
+
- str: O ID do processo jurídico formatado ou None se a entrada for inválida.
|
|
836
1011
|
|
|
837
1012
|
Exemplo:
|
|
838
1013
|
|
|
@@ -853,11 +1028,13 @@ Esta função recebe um processo jurídico como entrada e remove todas as
|
|
|
853
1028
|
ocorrências dos caracteres '.' e '-' dele.
|
|
854
1029
|
|
|
855
1030
|
Argumentos:
|
|
856
|
-
|
|
1031
|
+
|
|
1032
|
+
- legal_process (str): Um processo jurídico contendo símbolos a serem
|
|
857
1033
|
removidos.
|
|
858
1034
|
|
|
859
1035
|
Retorna:
|
|
860
|
-
|
|
1036
|
+
|
|
1037
|
+
- str: A string do processo jurídico com os símbolos especificados removidos.
|
|
861
1038
|
|
|
862
1039
|
Exemplo:
|
|
863
1040
|
|
|
@@ -876,13 +1053,15 @@ from brutils import remove_symbols_legal_process
|
|
|
876
1053
|
Gera um número válido aleatório de ID de processo jurídico.
|
|
877
1054
|
|
|
878
1055
|
Argumentos:
|
|
879
|
-
|
|
1056
|
+
|
|
1057
|
+
- year (int): O ano para o ID do processo jurídico (o padrão é o ano atual).
|
|
880
1058
|
Não pode ser um ano do passado.
|
|
881
|
-
|
|
1059
|
+
- orgao (int): O órgão (1-9) para o ID do processo jurídico
|
|
882
1060
|
(o padrão é aleatório).
|
|
883
1061
|
|
|
884
1062
|
Retorna:
|
|
885
|
-
|
|
1063
|
+
|
|
1064
|
+
- str: Um ID de processo jurídico gerado aleatoriamente.
|
|
886
1065
|
None caso algum dos argumento seja inválido.
|
|
887
1066
|
|
|
888
1067
|
Exemplo:
|
|
@@ -903,17 +1082,20 @@ Exemplo:
|
|
|
903
1082
|
|
|
904
1083
|
### is_valid_voter_id
|
|
905
1084
|
|
|
906
|
-
Verifica se um número de
|
|
1085
|
+
Verifica se um número de Título de Eleitor brasileiro é válido. Não verifica se realmente existe.
|
|
907
1086
|
|
|
908
1087
|
Referências:
|
|
909
|
-
|
|
910
|
-
|
|
1088
|
+
|
|
1089
|
+
- <https://pt.wikipedia.org/wiki/T%C3%ADtulo_de_eleitor>
|
|
1090
|
+
- <http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/>
|
|
911
1091
|
|
|
912
1092
|
Argumentos:
|
|
913
|
-
|
|
1093
|
+
|
|
1094
|
+
- voter_id (str): string representando o número do título de eleitor a ser verificado.
|
|
914
1095
|
|
|
915
1096
|
Retorna:
|
|
916
|
-
|
|
1097
|
+
|
|
1098
|
+
- bool: True se o número do título de eleitor for válido. False, caso contrário.
|
|
917
1099
|
|
|
918
1100
|
Exemplo:
|
|
919
1101
|
|
|
@@ -925,6 +1107,243 @@ False
|
|
|
925
1107
|
True
|
|
926
1108
|
```
|
|
927
1109
|
|
|
1110
|
+
### format_voter_id
|
|
1111
|
+
|
|
1112
|
+
Formata um número de Título de Eleitor para exibição visual.
|
|
1113
|
+
|
|
1114
|
+
Esta função recebe uma string de Título de Eleitor contendo
|
|
1115
|
+
apenas números como entrada e adiciona os espaços de formatação
|
|
1116
|
+
padrão para exibição.
|
|
1117
|
+
|
|
1118
|
+
Argumentos:
|
|
1119
|
+
* voter_id (str): Uma string de Título de Eleitor contendo apenas números.
|
|
1120
|
+
|
|
1121
|
+
Retorna:
|
|
1122
|
+
* str: O Título de Eleitor formatado com os espaços, se for válido.
|
|
1123
|
+
Retorna None se não for válido.
|
|
1124
|
+
|
|
1125
|
+
Exemplo:
|
|
1126
|
+
|
|
1127
|
+
```python
|
|
1128
|
+
>>> from brutils import format_voter_id
|
|
1129
|
+
>>> format_voter_id("246593980493")
|
|
1130
|
+
'2465 9398 04 93'
|
|
1131
|
+
>>> format_voter_id("202715292895")
|
|
1132
|
+
'2027 1529 28 95'
|
|
1133
|
+
>>> format_voter_id("739035552205")
|
|
1134
|
+
>>>
|
|
1135
|
+
```
|
|
1136
|
+
|
|
1137
|
+
### generate_voter_id
|
|
1138
|
+
|
|
1139
|
+
Gera uma string de dígitos de Título de Eleitor válida aleatória a partir de um estado brasileiro informado.
|
|
1140
|
+
|
|
1141
|
+
Args:
|
|
1142
|
+
* federative_union (str): Unidade Federativa para o título de eleitor que será gerado. O valor padrão "ZZ" é usado para Títulos de Eleitor emitidos para estrangeiros.
|
|
1143
|
+
|
|
1144
|
+
Retorna:
|
|
1145
|
+
* str: Um Título de Eleitor válido gerado aleatoriamente.
|
|
1146
|
+
|
|
1147
|
+
Exemplo:
|
|
1148
|
+
|
|
1149
|
+
```python
|
|
1150
|
+
>>> from brutils import generate_voter_id
|
|
1151
|
+
>>> generate_voter_id()
|
|
1152
|
+
'183475722801'
|
|
1153
|
+
>>> generate_voter_id(federative_union ="MG")
|
|
1154
|
+
'950125640248'
|
|
1155
|
+
```
|
|
1156
|
+
|
|
1157
|
+
## IBGE
|
|
1158
|
+
|
|
1159
|
+
### convert_code_to_uf
|
|
1160
|
+
Converte um determinado código do IBGE (string de 2 dígitos) para sua UF (abreviatura estadual) correspondente.
|
|
1161
|
+
|
|
1162
|
+
Args:
|
|
1163
|
+
* code (str): O código IBGE de 2 dígitos a ser convertido.
|
|
1164
|
+
|
|
1165
|
+
Retorna:
|
|
1166
|
+
* str or None: O código UF correspondente ao código IBGE, ou None se o
|
|
1167
|
+
código IBGE for inválido.
|
|
1168
|
+
|
|
1169
|
+
Exemplo:
|
|
1170
|
+
|
|
1171
|
+
```python
|
|
1172
|
+
>>> from brutils.ibge.uf import convert_code_to_uf
|
|
1173
|
+
>>> convert_code_to_uf("12")
|
|
1174
|
+
'AC'
|
|
1175
|
+
>>> convert_code_to_uf("33")
|
|
1176
|
+
'RJ'
|
|
1177
|
+
>>> convert_code_to_uf("99")
|
|
1178
|
+
>>>
|
|
1179
|
+
```
|
|
1180
|
+
|
|
1181
|
+
### get_code_by_municipality_name
|
|
1182
|
+
|
|
1183
|
+
Retorna o código IBGE para um dado nome de município e código de UF.
|
|
1184
|
+
|
|
1185
|
+
Essa função recebe uma string representando o nome de um município e o código da UF, e retorna o código IBGE correspondente (string). A função lida com os nomes ignorando diferenças de maiúsculas, acentos, tratando o caractere "ç" como "c", e ignorando diferenças de maiúsculas para o código da UF.
|
|
1186
|
+
|
|
1187
|
+
Argumentos:
|
|
1188
|
+
* municipality_name (str): O nome do município.
|
|
1189
|
+
* uf (str): O código UF do estado.
|
|
1190
|
+
|
|
1191
|
+
Retorna:
|
|
1192
|
+
* str: O código IBGE do município. Retorna None se o nome não for válido ou não existir.
|
|
1193
|
+
|
|
1194
|
+
Exemplo:
|
|
1195
|
+
|
|
1196
|
+
```python
|
|
1197
|
+
>>> from brutils import get_code_by_municipality_name
|
|
1198
|
+
>>> get_code_by_municipality_name("São Paulo", "SP")
|
|
1199
|
+
"3550308"
|
|
1200
|
+
>>> get_code_by_municipality_name("goiania", "go")
|
|
1201
|
+
"5208707"
|
|
1202
|
+
>>> get_code_by_municipality_name("Conceição do Coité", "BA")
|
|
1203
|
+
"2908408"
|
|
1204
|
+
>>> get_code_by_municipality_name("conceicao do Coite", "Ba")
|
|
1205
|
+
"2908408"
|
|
1206
|
+
>>> get_code_by_municipality_name("Municipio Inexistente", "")
|
|
1207
|
+
None
|
|
1208
|
+
>>> get_code_by_municipality_name("Municipio Inexistente", "RS")
|
|
1209
|
+
None
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
### get_municipality_by_code
|
|
1213
|
+
|
|
1214
|
+
Retorna o nome do município e a UF para um código do IBGE.
|
|
1215
|
+
|
|
1216
|
+
Args:
|
|
1217
|
+
* code (str): O código do IBGE para o município.
|
|
1218
|
+
|
|
1219
|
+
Returns:
|
|
1220
|
+
* tuple: Retorna uma Tupla formatado como ("Município", "UF").
|
|
1221
|
+
* None: Retorna None se o código for inválido.
|
|
1222
|
+
|
|
1223
|
+
Example:
|
|
1224
|
+
|
|
1225
|
+
```python
|
|
1226
|
+
>>> from brutils import get_municipality_by_code
|
|
1227
|
+
>>> get_municipality_by_code(3550308)
|
|
1228
|
+
("São Paulo", "SP")
|
|
1229
|
+
```
|
|
1230
|
+
|
|
1231
|
+
### convert_uf_to_name
|
|
1232
|
+
Converte um código de UF brasileiro (por exemplo, 'SP') no nome completo do estado ('São Paulo').
|
|
1233
|
+
|
|
1234
|
+
A busca é case-insensitive (não diferencia maiúsculas de minúsculas) e ignora espaços em branco ao redor.
|
|
1235
|
+
|
|
1236
|
+
Argumentos:
|
|
1237
|
+
* uf (str): Código de UF com duas letras.
|
|
1238
|
+
|
|
1239
|
+
Retorna:
|
|
1240
|
+
* str | None: O nome completo do estado, ou ``None`` se o código for inválido.
|
|
1241
|
+
|
|
1242
|
+
Exemplo:
|
|
1243
|
+
|
|
1244
|
+
```python
|
|
1245
|
+
>>> from brutils.ibge.uf import convert_uf_to_name
|
|
1246
|
+
>>> convert_uf_to_name('SP')
|
|
1247
|
+
'São Paulo'
|
|
1248
|
+
>>> convert_uf_to_name('rj')
|
|
1249
|
+
'Rio de Janeiro'
|
|
1250
|
+
```
|
|
1251
|
+
|
|
1252
|
+
## Feriados
|
|
1253
|
+
|
|
1254
|
+
### is_holiday
|
|
1255
|
+
|
|
1256
|
+
Verifica se uma determinada data é um feriado nacional ou estadual no Brasil.
|
|
1257
|
+
|
|
1258
|
+
Esta função recebe um objeto `datetime` como a data e uma UF opcional (Unidade Federativa) para especificar feriados estaduais. Retorna `True` se a data for um feriado, `False` se não for, ou `None` se a data ou UF forem inválidas. Nota: a função não abrange feriados municipais.
|
|
1259
|
+
|
|
1260
|
+
Argumentos:
|
|
1261
|
+
|
|
1262
|
+
- `date (datetime)`: A data a ser verificada.
|
|
1263
|
+
- `uf (str, opcional)`: A abreviação do estado (UF) para verificar feriados estaduais. Se não fornecido, apenas feriados nacionais são considerados.
|
|
1264
|
+
|
|
1265
|
+
Retorna:
|
|
1266
|
+
|
|
1267
|
+
- `bool | None`: `True` se a data for um feriado, `False` se não for, ou `None` se a data ou UF forem inválidas.
|
|
1268
|
+
|
|
1269
|
+
Exemplo:
|
|
1270
|
+
|
|
1271
|
+
```python
|
|
1272
|
+
>>> from datetime import datetime
|
|
1273
|
+
>>> from brutils import is_holiday
|
|
1274
|
+
|
|
1275
|
+
>>> is_holiday(datetime(2024, 1, 1))
|
|
1276
|
+
True
|
|
1277
|
+
>>> is_holiday(datetime(2024, 1, 2))
|
|
1278
|
+
False
|
|
1279
|
+
>>> is_holiday(datetime(2024, 3, 2), uf="SP")
|
|
1280
|
+
False
|
|
1281
|
+
>>> is_holiday(datetime(2024, 12, 25), uf="RJ")
|
|
1282
|
+
True
|
|
1283
|
+
```
|
|
1284
|
+
|
|
1285
|
+
## Monetário
|
|
1286
|
+
|
|
1287
|
+
### format_currency
|
|
1288
|
+
|
|
1289
|
+
Formata um número seguindo o padrão monetário brasileiro. O número será formatado
|
|
1290
|
+
adicionando o símbolo R$ como prefixo, vírgula como separador decimal, e ponto como
|
|
1291
|
+
agrupador de milhar.
|
|
1292
|
+
|
|
1293
|
+
Argumentos:
|
|
1294
|
+
* float ou Decimal: Um número com ou sem casas decimais.
|
|
1295
|
+
|
|
1296
|
+
Retorna:
|
|
1297
|
+
* str ou None: O número formatado seguindo o padrão brasileiro.
|
|
1298
|
+
|
|
1299
|
+
Exemplo:
|
|
1300
|
+
|
|
1301
|
+
```python
|
|
1302
|
+
>>> from brutils.currency import format_currency
|
|
1303
|
+
>>> format_currency(1259.03)
|
|
1304
|
+
'R$ 1.259,03'
|
|
1305
|
+
>>> format_currency(0)
|
|
1306
|
+
'R$ 0,00'
|
|
1307
|
+
>>> format_currency("not a number")
|
|
1308
|
+
None
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
### convert_real_to_text
|
|
1312
|
+
|
|
1313
|
+
Converte um valor monetário em reais para sua representação por extenso. Esta função recebe um número decimal representando um valor monetário em reais e o converte para uma string com o valor escrito por extenso em português do Brasil. Ela trata tanto a parte inteira (reais) quanto a parte fracionária (centavos), respeitando a gramática correta para os casos de singular e plural, bem como casos especiais como zero e valores negativos.
|
|
1314
|
+
|
|
1315
|
+
Argumentos:
|
|
1316
|
+
- amount (decimal): O valor monetário a ser convertido por extenso.
|
|
1317
|
+
- A parte inteira representa os reais.
|
|
1318
|
+
- A parte decimal representa os centavos.
|
|
1319
|
+
- 2 casas decimais.
|
|
1320
|
+
|
|
1321
|
+
Retorna:
|
|
1322
|
+
- str: Uma string com o valor monetário escrito por extenso em português do Brasil.
|
|
1323
|
+
- Retorna "Zero reais" para o valor 0,00.
|
|
1324
|
+
- Retorna None se o valor for inválido ou absolutamente maior que 1 quatrilhão.
|
|
1325
|
+
- Trata valores negativos, adicionando "Menos" no início da string.
|
|
1326
|
+
|
|
1327
|
+
Limitações:
|
|
1328
|
+
- Esta função pode perder precisão em ±1 centavo para casos em que o valor absoluto
|
|
1329
|
+
ultrapasse trilhões devido a erros de arredondamento de ponto flutuante.
|
|
1330
|
+
|
|
1331
|
+
Exemplo:
|
|
1332
|
+
|
|
1333
|
+
```python
|
|
1334
|
+
>>> from brutils.currency import convert_real_to_text
|
|
1335
|
+
>>> convert_real_to_text(1523.45)
|
|
1336
|
+
'Mil, quinhentos e vinte e três reais e quarenta e cinco centavos'
|
|
1337
|
+
>>> convert_real_to_text(0.01)
|
|
1338
|
+
'Um centavo'
|
|
1339
|
+
>>> convert_real_to_text(0.00)
|
|
1340
|
+
'Zero reais'
|
|
1341
|
+
>>> convert_real_to_text(-50.25)
|
|
1342
|
+
'Menos cinquenta reais e vinte e cinco centavos'
|
|
1343
|
+
>>> convert_real_to_text("invalid")
|
|
1344
|
+
None
|
|
1345
|
+
```
|
|
1346
|
+
|
|
928
1347
|
# Novos Utilitários e Reportar Bugs
|
|
929
1348
|
|
|
930
1349
|
Caso queira sugerir novas funcionalidades ou reportar bugs, basta criar
|
|
@@ -956,3 +1375,11 @@ Vamos construir juntos! 🚀🚀
|
|
|
956
1375
|
[github-issues-doc]: https://docs.github.com/pt/issues/tracking-your-work-with-issues/creating-an-issue
|
|
957
1376
|
[github-issues]: https://github.com/brazilian-utils/brutils-python/issues
|
|
958
1377
|
|
|
1378
|
+
## ❤️ Quem já Contribuiu
|
|
1379
|
+
|
|
1380
|
+
<a href="https://github.com/brazilian-utils/brutils-python/graphs/contributors">
|
|
1381
|
+
<img src="https://contrib.rocks/image?repo=brazilian-utils/brutils-python" />
|
|
1382
|
+
</a></br></br>
|
|
1383
|
+
|
|
1384
|
+
_Feito por [contrib.rocks](https://contrib.rocks)._
|
|
1385
|
+
|