brutils 2.1.0__tar.gz → 2.2.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: brutils
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: Utils library for specific Brazilian businesses
5
5
  Home-page: https://github.com/brazilian-utils/brutils
6
6
  License: MIT
@@ -31,12 +31,10 @@ Description-Content-Type: text/markdown
31
31
 
32
32
  <p>Utils library for Brazilian-specific businesses.</p>
33
33
 
34
-
35
34
  [![codecov](https://codecov.io/gh/brazilian-utils/brutils-python/branch/main/graph/badge.svg?token=5KNECS8JYF)](https://codecov.io/gh/brazilian-utils/brutils-python)
36
35
  [![Downloads per Month](https://shields.io/pypi/dm/brutils)](https://pypistats.org/packages/brutils)
37
36
  [![Package version](https://shields.io/pypi/v/brutils)](https://pypi.org/project/brutils/)
38
37
 
39
-
40
38
  ### [Looking for the english version?](README_EN.md)
41
39
 
42
40
  </div>
@@ -55,7 +53,7 @@ desenvolvimento de aplicações para o business Brasileiro.
55
53
 
56
54
  # Instalação
57
55
 
58
- ```
56
+ ```bash
59
57
  pip install brutils
60
58
  ```
61
59
 
@@ -72,48 +70,51 @@ False
72
70
  # Utilitários
73
71
 
74
72
  - [CPF](#cpf)
75
- - [is_valid_cpf](#is_valid_cpf)
76
- - [format_cpf](#format_cpf)
77
- - [remove_symbols_cpf](#remove_symbols_cpf)
78
- - [generate_cpf](#generate_cpf)
73
+ - [is\_valid\_cpf](#is_valid_cpf)
74
+ - [format\_cpf](#format_cpf)
75
+ - [remove\_symbols\_cpf](#remove_symbols_cpf)
76
+ - [generate\_cpf](#generate_cpf)
79
77
  - [CNPJ](#cnpj)
80
- - [is_valid_cnpj](#is_valid_cnpj)
81
- - [format_cnpj](#format_cnpj)
82
- - [remove_symbols_cnpj](#remove_symbols_cnpj)
83
- - [generate_cnpj](#generate_cnpj)
78
+ - [is\_valid\_cnpj](#is_valid_cnpj)
79
+ - [format\_cnpj](#format_cnpj)
80
+ - [remove\_symbols\_cnpj](#remove_symbols_cnpj)
81
+ - [generate\_cnpj](#generate_cnpj)
84
82
  - [CEP](#cep)
85
- - [is_valid_cep](#is_valid_cep)
86
- - [format_cep](#format_cep)
87
- - [remove_symbols_cep](#remove_symbols_cep)
88
- - [generate_cep](#generate_cep)
83
+ - [is\_valid\_cep](#is_valid_cep)
84
+ - [format\_cep](#format_cep)
85
+ - [remove\_symbols\_cep](#remove_symbols_cep)
86
+ - [generate\_cep](#generate_cep)
87
+ - [get\_address\_from\_cep](#get_address_from_cep)
88
+ - [get\_cep\_information\_from\_address](#get_cep_information_from_address)
89
89
  - [Telefone](#telefone)
90
- - [is_valid_phone](#is_valid_phone)
91
- - [format_phone](#format_phone)
92
- - [remove_symbols_phone](#remove_symbols_phone)
93
- - [remove_international_dialing_code](#remove_international_dialing_code)
94
- - [generate_phone](#generate_phone)
90
+ - [is\_valid\_phone](#is_valid_phone)
91
+ - [format\_phone](#format_phone)
92
+ - [remove\_symbols\_phone](#remove_symbols_phone)
93
+ - [remove\_international\_dialing\_code](#remove_international_dialing_code)
94
+ - [generate\_phone](#generate_phone)
95
95
  - [Email](#email)
96
- - [is_valid_email](#is_valid_email)
96
+ - [is\_valid\_email](#is_valid_email)
97
97
  - [Placa de Carro](#placa-de-carro)
98
- - [is_valid_license_plate](#is_valid_license_plate)
99
- - [format_license_plate](#format_license_plate)
100
- - [remove_symbols_license_plate](#remove_symbols_license_plate)
101
- - [generate_license_plate](#generate_license_plate)
102
- - [convert_license_plate_to_mercosul](#convert_license_plate_to_mercosul)
103
- - [get_format_license_plate](#get_format_license_plate)
98
+ - [is\_valid\_license\_plate](#is_valid_license_plate)
99
+ - [format\_license\_plate](#format_license_plate)
100
+ - [remove\_symbols\_license\_plate](#remove_symbols_license_plate)
101
+ - [generate\_license\_plate](#generate_license_plate)
102
+ - [convert\_license\_plate\_to\_mercosul](#convert_license_plate_to_mercosul)
103
+ - [get\_format\_license\_plate](#get_format_license_plate)
104
104
  - [PIS](#pis)
105
- - [is_valid_pis](#is_valid_pis)
106
- - [format_pis](#format_pis)
107
- - [remove_symbols_pis](#remove_symbols_pis)
108
- - [generate_pis](#generate_pis)
105
+ - [is\_valid\_pis](#is_valid_pis)
106
+ - [format\_pis](#format_pis)
107
+ - [remove\_symbols\_pis](#remove_symbols_pis)
108
+ - [generate\_pis](#generate_pis)
109
109
  - [Processo Jurídico](#processo-jurídico)
110
- - [is_valid_legal_process](#is_valid_legal_process)
111
- - [format_legal_process](#format_legal_process)
112
- - [remove_symbols_legal_process](#remove_symbols_legal_process)
113
- - [generate_legal_process](#generate_legal_process)
114
-
110
+ - [is\_valid\_legal\_process](#is_valid_legal_process)
111
+ - [format\_legal\_process](#format_legal_process)
112
+ - [remove\_symbols\_legal\_process](#remove_symbols_legal_process)
113
+ - [generate\_legal\_process](#generate_legal_process)
115
114
  - [Título Eleitoral](#titulo-eleitoral)
116
115
  - [is_valid_voter_id](#is_valid_voter_id)
116
+ - [format_voter_id](#format_voter_id)
117
+ - [generate_voter_id](#generate_voter_id)
117
118
 
118
119
  ## CPF
119
120
 
@@ -124,10 +125,12 @@ correspondem ao seu número base. Esta função não verifica a existência do C
124
125
  ela apenas valida o formato da string.
125
126
 
126
127
  Argumentos:
127
- * cpf (str): O CPF a ser validado, uma string de 11 dígitos
128
+
129
+ - cpf (str): O CPF a ser validado, uma string de 11 dígitos
128
130
 
129
131
  Retorna:
130
- * bool: Verdadeiro se os dígitos de verificação corresponderem ao número base,
132
+
133
+ - bool: Verdadeiro se os dígitos de verificação corresponderem ao número base,
131
134
  Falso caso contrário.
132
135
 
133
136
  Exemplo:
@@ -147,10 +150,12 @@ Esta função recebe uma string de CPF contendo apenas números como entrada e
147
150
  adiciona símbolos de formatação padrão para exibição.
148
151
 
149
152
  Argumentos:
150
- * cpf (str): Uma string de CPF contendo apenas números.
153
+
154
+ - cpf (str): Uma string de CPF contendo apenas números.
151
155
 
152
156
  Retorna:
153
- * str: O CPF formatado com símbolos visuais se for válido,
157
+
158
+ - str: O CPF formatado com símbolos visuais se for válido,
154
159
  None se não for válido.
155
160
 
156
161
  Exemplo:
@@ -170,10 +175,12 @@ brasileiro). Esta função recebe como entrada uma string de CPF e remove todas
170
175
  ocorrências dos caracteres '.', '-' dela.
171
176
 
172
177
  Argumentos:
173
- * cpf (str): A string de CPF contendo os símbolos a serem removidos.
178
+
179
+ - cpf (str): A string de CPF contendo os símbolos a serem removidos.
174
180
 
175
181
  Retorna:
176
- * str: Uma nova string com os símbolos especificados removidos.
182
+
183
+ - str: Uma nova string com os símbolos especificados removidos.
177
184
 
178
185
  Exemplo:
179
186
 
@@ -188,7 +195,8 @@ Exemplo:
188
195
  Gerar uma string de dígitos de CPF válida aleatória.
189
196
 
190
197
  Retorna:
191
- * str: Um CPF válido gerado aleatoriamente.
198
+
199
+ - str: Um CPF válido gerado aleatoriamente.
192
200
 
193
201
  Exemplo:
194
202
 
@@ -210,10 +218,12 @@ string de dígitos com o comprimento apropriado. Esta função não verifica a
210
218
  existência do CNPJ; ela só valida o formato da string.
211
219
 
212
220
  Argumentos:
213
- * cnpj (str): O CNPJ a ser validado.
221
+
222
+ - cnpj (str): O CNPJ a ser validado.
214
223
 
215
224
  Retorna:
216
- * bool: True se os dígitos de verificação corresponderem ao número base,
225
+
226
+ - bool: True se os dígitos de verificação corresponderem ao número base,
217
227
  False caso contrário.
218
228
 
219
229
  Exemplo:
@@ -234,10 +244,12 @@ Esta função recebe uma string de CNPJ como entrada, valida seu formato e a
234
244
  formata com símbolos visuais padrão para fins de exibição.
235
245
 
236
246
  Argumentos:
237
- * cnpj (str): A string de CNPJ a ser formatada para exibição.
247
+
248
+ - cnpj (str): A string de CNPJ a ser formatada para exibição.
238
249
 
239
250
  Retorna:
240
- * str: O CNPJ formatado com símbolos visuais se for válido, None se não for válido.
251
+
252
+ - str: O CNPJ formatado com símbolos visuais se for válido, None se não for válido.
241
253
 
242
254
  Exemplo:
243
255
 
@@ -257,10 +269,12 @@ Esta função recebe uma string de CNPJ como entrada e remove todas as
257
269
  ocorrências dos caracteres '.', '/' e '-' dela.
258
270
 
259
271
  Argumentos:
260
- * cnpj (str): A string de CNPJ que contém os símbolos a serem removidos.
272
+
273
+ - cnpj (str): A string de CNPJ que contém os símbolos a serem removidos.
261
274
 
262
275
  Retorna:
263
- * str: Uma nova string com os símbolos especificados removidos.
276
+
277
+ - str: Uma nova string com os símbolos especificados removidos.
264
278
 
265
279
  Exemplo:
266
280
 
@@ -276,10 +290,12 @@ Gera uma string de dígitos CNPJ válida aleatória. Um número de filial
276
290
  opcional pode ser fornecido; o padrão é 1.
277
291
 
278
292
  Argumentos:
279
- * branch (int): Um número de filial opcional a ser incluído no CNPJ.
293
+
294
+ - branch (int): Um número de filial opcional a ser incluído no CNPJ.
280
295
 
281
296
  Retorna:
282
- * str: Um CNPJ válido gerado aleatoriamente.
297
+
298
+ - str: Um CNPJ válido gerado aleatoriamente.
283
299
 
284
300
  Exemplo:
285
301
 
@@ -287,7 +303,7 @@ Exemplo:
287
303
  >>> from brutils import generate_cnpj
288
304
  >>> generate_cnpj()
289
305
  '34665388000161'
290
- >>> generate(1234)
306
+ >>> generate_cnpj(1234)
291
307
  "01745284123455"
292
308
  ```
293
309
 
@@ -301,10 +317,12 @@ exatamente 8 dígitos. Esta função não verifica se o CEP é um CEP real, pois
301
317
  valida apenas o formato da string.
302
318
 
303
319
  Argumentos:
304
- * cep (str): A string contendo o CEP a ser verificado.
320
+
321
+ - cep (str): A string contendo o CEP a ser verificado.
305
322
 
306
323
  Retorno:
307
- * bool: True se o CEP for válido (8 dígitos), False caso contrário.
324
+
325
+ - bool: True se o CEP for válido (8 dígitos), False caso contrário.
308
326
 
309
327
  Exemplo:
310
328
 
@@ -325,11 +343,13 @@ Esta função recebe um CEP como entrada e, se for um CEP válido com 8 dígitos
325
343
  o formata no padrão "12345-678".
326
344
 
327
345
  Argumentos:
328
- * cep (str): O CEP (Código de Endereçamento Postal) de entrada a ser
346
+
347
+ - cep (str): O CEP (Código de Endereçamento Postal) de entrada a ser
329
348
  formatado.
330
349
 
331
350
  Retorna:
332
- * str: O CEP formatado no formato "12345-678" se for válido, None se não for
351
+
352
+ - str: O CEP formatado no formato "12345-678" se for válido, None se não for
333
353
  válido.
334
354
 
335
355
  Example:
@@ -351,11 +371,13 @@ fornecido. Esta função recebe um CEP como entrada e remove todas as ocorrênci
351
371
  dos caracteres '.' e '-' dele.
352
372
 
353
373
  Argumentos:
354
- * cep (str): O CEP (Código de Endereçamento Postal) de entrada que contém os
374
+
375
+ - cep (str): O CEP (Código de Endereçamento Postal) de entrada que contém os
355
376
  símbolos a serem removidos.
356
377
 
357
378
  Retorna:
358
- * str: Uma nova string com os símbolos especificados removidos.
379
+
380
+ - str: Uma nova string com os símbolos especificados removidos.
359
381
 
360
382
  Exemplo:
361
383
 
@@ -375,7 +397,8 @@ Gera um número de CEP (Código de Endereçamento Postal) aleatório de 8 dígit
375
397
  como uma string.
376
398
 
377
399
  Retorna:
378
- * str: Um número de 8 dígitos gerado aleatoriamente.
400
+
401
+ - str: Um número de 8 dígitos gerado aleatoriamente.
379
402
 
380
403
  Exemplo:
381
404
 
@@ -387,34 +410,105 @@ Exemplo:
387
410
  '29641407'
388
411
  ```
389
412
 
413
+ ### get_address_from_cep
414
+
415
+ Busca as informações de endereço a partir de um CEP (Código de Endereçamento Postal) utilizando a API da ViaCEP.
416
+
417
+ Argumentos:
418
+
419
+ - cep (str): O CEP a ser utilizado na busca.
420
+ - raise_exceptions (bool, opcional): Se deve gerar exceções quando o CEP for inválido ou não for encontrado. O padrão é False.
421
+
422
+ Retorna:
423
+
424
+ - Address | None: Um objeto Address (TypedDict) contendo as informações de endereço se o CEP for encontrado, caso contrário, None.
425
+
426
+ Exemplo:
427
+
428
+ ```python
429
+ >>> from brutils import get_address_from_cep
430
+ >>> get_address_from_cep("12345678")
431
+ {
432
+ "cep": "12345-678",
433
+ "logradouro": "Rua Example",
434
+ "complemento": "",
435
+ "bairro": "Example",
436
+ "localidade": "Example",
437
+ "uf": "EX",
438
+ "ibge": "1234567",
439
+ "gia": "1234",
440
+ "ddd": "12",
441
+ "siafi": "1234"
442
+ }
443
+ ```
444
+
445
+ ### get_cep_information_from_address
446
+
447
+ Busca o CEP e outras informações a partir de um endereço utilizando a API da ViaCEP.
448
+
449
+ Argumentos:
450
+
451
+ - federal_unit (str): Abreviação de duas letras do estado brasileiro.
452
+ - city (str): Nome da cidade.
453
+ - street (str): Nome (ou substring) da rua.
454
+ - raise_exceptions (bool, opcional): Se deve gerar exceções quando o endereço é inválido ou não foi encontrado. O padrão é False.
455
+
456
+ Retorna:
457
+
458
+ - 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.
459
+
460
+ Exemplo:
461
+
462
+ ```python
463
+ >>> from brutils import get_cep_information_from_address
464
+ >>> get_cep_information_from_address("EX", "Example", "Rua Example")
465
+ [
466
+ {
467
+ "cep": "12345-678",
468
+ "logradouro": "Rua Example",
469
+ "complemento": "",
470
+ "bairro": "Example",
471
+ "localidade": "Example",
472
+ "uf": "EX",
473
+ "ibge": "1234567",
474
+ "gia": "1234",
475
+ "ddd": "12",
476
+ "siafi": "1234"
477
+ }
478
+ ]
479
+ ```
480
+
390
481
  ## Telefone
391
482
 
392
483
  ### is_valid_phone
393
484
 
394
485
  Retorna se um número de telefone brasileiro é válido conforme o formato da string.
395
486
  Não verifica se o número realmente existe.
396
-
397
487
  ```
488
+
398
489
  is_valid_phone(phone_number, type)
490
+
399
491
  ```
400
492
 
401
493
  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
494
 
410
- * type (str):
411
- * 'mobile' para validar apenas números de celular
412
- * 'landline' para validar apenas números de telefone fixo
413
- * caso não especificado, valida para um para o outro.
414
- * opcional
495
+ - phone_number (str):
496
+ - o número de telefone a ser validado
497
+ - apenas dígitos, sem símbolos
498
+ - sem o código do país
499
+ - deve incluir o número de DDD com dois dígitos
500
+ - exemplo: '+55 48 9999 9999' deve ser utilizado como '4899999999'
501
+ - obrigatório
502
+
503
+ - type (str):
504
+ - 'mobile' para validar apenas números de celular
505
+ - 'landline' para validar apenas números de telefone fixo
506
+ - caso não especificado, valida para um para o outro.
507
+ - opcional
415
508
 
416
509
  Retorna:
417
- * bool: True se o número é válido, False caso contrário.
510
+
511
+ - bool: True se o número é válido, False caso contrário.
418
512
 
419
513
  Exemplo:
420
514
 
@@ -429,15 +523,19 @@ True
429
523
  ```
430
524
 
431
525
  ### format_phone
526
+
432
527
  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
528
 
434
529
  Argumentos:
435
- * phone (str): Uma string representando um número de telefone.
530
+
531
+ - phone (str): Uma string representando um número de telefone.
436
532
 
437
533
  Retorna:
438
- * str: O número de telefone formatado para exibição ou None se não for válido.
534
+
535
+ - str: O número de telefone formatado para exibição ou None se não for válido.
439
536
 
440
537
  Exemplo:
538
+
441
539
  ```python
442
540
  >>> from brutils import format_phone
443
541
  >>> format_phone("11994029275")
@@ -445,7 +543,7 @@ Exemplo:
445
543
  >>> format_phone("1635014415")
446
544
  '(16)3501-4415'
447
545
  >>> format_phone("333333")
448
- >>>
546
+ None
449
547
  ```
450
548
 
451
549
  ### remove_symbols_phone
@@ -453,12 +551,15 @@ Exemplo:
453
551
  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
552
 
455
553
  Argumentos:
456
- * phone (str): O número de telefone de entrada que contém os símbolos a serem removidos.
554
+
555
+ - phone (str): O número de telefone de entrada que contém os símbolos a serem removidos.
457
556
 
458
557
  Retorna:
459
- * str: Uma nova string com os símbolos especificados removidos.
558
+
559
+ - str: Uma nova string com os símbolos especificados removidos.
460
560
 
461
561
  Exemplo:
562
+
462
563
  ```python
463
564
  >>> from brutils import remove_symbols_phone
464
565
  >>> remove_symbols_phone('(21)2569-6969')
@@ -474,12 +575,15 @@ Exemplo:
474
575
  Remove o código internacional (+55) de uma string que contém um número de telefone brasileiro, mantendo outros caracteres especiais.
475
576
 
476
577
  Argumentos:
477
- * phone (str): O número de telefone de entrada que pode conter o código internacional.
578
+
579
+ - phone (str): O número de telefone de entrada que pode conter o código internacional.
478
580
 
479
581
  Retorna:
480
- * str: Uma nova string sem o código internacional, preservando outros caracteres especiais.
582
+
583
+ - str: Uma nova string sem o código internacional, preservando outros caracteres especiais.
481
584
 
482
585
  Exemplo:
586
+
483
587
  ```python
484
588
  >>> from brutils import remove_international_dialing_code
485
589
  >>> remove_international_dialing_code("5521994029275")
@@ -499,12 +603,14 @@ Exemplo:
499
603
  Gera um número de telefone aleatório válido.
500
604
 
501
605
  Argumentos:
502
- * type (str): Pode ser "landline" ou "mobile".
606
+
607
+ - type (str): Pode ser "landline" ou "mobile".
503
608
  Se não for especificado, a função gera um número
504
609
  aleatório de qualquer tipo.
505
610
 
506
611
  Retorna:
507
- * str: Um número de telefone válido gerado aleatoriamente.
612
+
613
+ - str: Um número de telefone válido gerado aleatoriamente.
508
614
 
509
615
  Exemplo:
510
616
 
@@ -525,10 +631,12 @@ Exemplo:
525
631
  Verificar se uma string corresponde a um endereço de e-mail válido.
526
632
 
527
633
  Argumentos:
528
- * email (str): A string de entrada a ser verificada.
634
+
635
+ - email (str): A string de entrada a ser verificada.
529
636
 
530
637
  Retorna:
531
- * bool: Verdadeiro se o email for um endereço de e-mail válido, Falso
638
+
639
+ - bool: Verdadeiro se o email for um endereço de e-mail válido, Falso
532
640
  caso contrário.
533
641
 
534
642
  Exemplo:
@@ -555,12 +663,14 @@ Esta função não verifica se a placa de carro é uma placa de carro real,
555
663
  apenas valida o formato da string.
556
664
 
557
665
  Argumentos:
558
- * license_plate (str): Uma string representando uma placa de carro.
559
- * type (str): "old_format" ou "mercosul".
666
+
667
+ - license_plate (str): Uma string representando uma placa de carro.
668
+ - type (str): "old_format" ou "mercosul".
560
669
  Se não especificado, verifica um ou outro.
561
670
 
562
671
  Retorna:
563
- * bool: True se a placa de carro for válida, False caso contrário.
672
+
673
+ - bool: True se a placa de carro for válida, False caso contrário.
564
674
 
565
675
  Exemplo:
566
676
 
@@ -584,26 +694,28 @@ Formata uma placa de carro no padrão correto.
584
694
  Esta função recebe uma placa de carro em qualquer formato (LLLNNNN ou LLLNLNN) e retorna uma versão formatada.
585
695
 
586
696
  Argumentos:
587
- * license_plate (str): Uma string representando uma placa de carro.
697
+
698
+ - license_plate (str): Uma string representando uma placa de carro.
588
699
 
589
700
  Retorna:
590
- * str: A string da placa de carro formatada ou
701
+
702
+ - str: A string da placa de carro formatada ou
591
703
  'None' se a entrada for inválida.
592
704
 
593
705
  Exemplo:
594
706
 
595
707
  ```python
596
708
  >>> from brutils import format_license_plate
597
- >>> format_license_plate("ABC1234")
709
+ >>> format_license_plate("ABC1234")
598
710
  "ABC-1234"
599
711
  # formato antigo (contém traço)
600
- >>> format_license_plate("abc1234")
712
+ >>> format_license_plate("abc1234")
601
713
  "ABC-1234"
602
714
  # formato antigo (contém traço)
603
- >>> format_license_plate("ABC1D23")
715
+ >>> format_license_plate("ABC1D23")
604
716
  "ABC1D23"
605
717
  # formato mercosul
606
- >>> format_license_plate("abc1d23")
718
+ >>> format_license_plate("abc1d23")
607
719
  "ABC1D23"
608
720
  # formato mercosul
609
721
  >>> format_license_plate("ABCD123")
@@ -615,10 +727,12 @@ None
615
727
  Remove o símbolo de hífen (-) de uma string de placa de carro.
616
728
 
617
729
  Argumentos:
618
- * license_plate_number (str): Uma string de placa de carro contendo símbolos a serem removidos.
730
+
731
+ - license_plate_number (str): Uma string de placa de carro contendo símbolos a serem removidos.
619
732
 
620
733
  Retorna:
621
- * str: A string da placa de carro com os símbolos especificados removidos.
734
+
735
+ - str: A string da placa de carro com os símbolos especificados removidos.
622
736
 
623
737
  Exemplo:
624
738
 
@@ -639,10 +753,12 @@ from brutils import remove_symbols_license_plate
639
753
  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
754
 
641
755
  Argumentos:
642
- * 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'.
756
+
757
+ - 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
758
 
644
759
  Retorna:
645
- * str: Um número de placa de carro gerado aleatoriamente ou
760
+
761
+ - str: Um número de placa de carro gerado aleatoriamente ou
646
762
  None se o formato for inválido.
647
763
 
648
764
  Exemplo:
@@ -664,10 +780,12 @@ None
664
780
  Converte uma placa de carro no formato antigo (LLLNNNN) para o formato Mercosul (LLLNLNN).
665
781
 
666
782
  Argumentos:
667
- * license_plate(str): Uma string com o tamanho adequado que representa a placa no formato antigo.
783
+
784
+ - license_plate(str): Uma string com o tamanho adequado que representa a placa no formato antigo.
668
785
 
669
786
  Retorna:
670
- * str: A placa Mercosul convertida (LLLNLNN) ou None se a entrada for inválida.
787
+
788
+ - str: A placa Mercosul convertida (LLLNLNN) ou None se a entrada for inválida.
671
789
 
672
790
  Exemplo:
673
791
 
@@ -687,10 +805,12 @@ Retorna o formato de uma placa de carro. 'LLLNNNN' para o formato antigo e
687
805
  'LLLNLNN' para o formato Mercosul.
688
806
 
689
807
  Argumentos:
690
- * license_plate (str): Uma string de placa de carro sem símbolos.
808
+
809
+ - license_plate (str): Uma string de placa de carro sem símbolos.
691
810
 
692
811
  Retorna:
693
- * str: O formato da placa de carro (LLLNNNN, LLLNLNN) ou
812
+
813
+ - str: O formato da placa de carro (LLLNNNN, LLLNLNN) ou
694
814
  'None' se o formato for inválido.
695
815
 
696
816
  Exemplo:
@@ -716,15 +836,19 @@ None
716
836
  Verifica se o número PIS/PASEP é valido. Apenas números, formatados como string. Não verifica se o PIS/PASEP realmente existe.
717
837
 
718
838
  Referências:
719
- - https://www.macoratti.net/alg_pis.htm.
839
+
840
+ - <https://www.macoratti.net/alg_pis.htm>.
720
841
 
721
842
  Argumentos:
722
- * pis (str): Número PIS como uma string com o comprimento apropriado.
843
+
844
+ - pis (str): Número PIS como uma string com o comprimento apropriado.
723
845
 
724
846
  Retorna:
725
- * bool: True se o PIS for válido, False caso contrário.
847
+
848
+ - bool: True se o PIS for válido, False caso contrário.
726
849
 
727
850
  Exemplo:
851
+
728
852
  ```python
729
853
  from brutils import is_valid_pis
730
854
  >>> is_valid_pis("82178537464")
@@ -738,10 +862,12 @@ True
738
862
  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
863
 
740
864
  Argumentos:
741
- * pis (str): Uma string válida de PIS contendo apenas números.
865
+
866
+ - pis (str): Uma string válida de PIS contendo apenas números.
742
867
 
743
868
  Retorna:
744
- * str: Uma string de PIS formatada com símbolos visuais padrão ou None se a entrada for inválida.
869
+
870
+ - str: Uma string de PIS formatada com símbolos visuais padrão ou None se a entrada for inválida.
745
871
 
746
872
  Exemplo:
747
873
 
@@ -758,10 +884,12 @@ from brutils import format_pis
758
884
  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
885
 
760
886
  Argumentos:
761
- * pis (str): Uma string de PIS que pode conter símbolos de formatação.
887
+
888
+ - pis (str): Uma string de PIS que pode conter símbolos de formatação.
762
889
 
763
890
  Retorna:
764
- * str: Uma string de PIS limpa, sem símbolos de formatação.
891
+
892
+ - str: Uma string de PIS limpa, sem símbolos de formatação.
765
893
 
766
894
  Exemplo:
767
895
 
@@ -781,7 +909,8 @@ from brutils import remove_symbols_pis
781
909
  Gera uma string de dígitos contendo um número de um PIS brasileiro válido aleatório.
782
910
 
783
911
  Retorna:
784
- * str: Um número PIS válido gerado aleatoriamente como string.
912
+
913
+ - str: Um número PIS válido gerado aleatoriamente como string.
785
914
 
786
915
  Exemplo:
787
916
 
@@ -801,11 +930,13 @@ Verifica se um ID de processo jurídico é válido, não verifica se o ID de pro
801
930
  jurídico real; ela apenas valida o formato da string.
802
931
 
803
932
  Argumentos:
804
- * legal_process_id (str): Uma string contendo apenas dígitos que representa
933
+
934
+ - legal_process_id (str): Uma string contendo apenas dígitos que representa
805
935
  o ID do processo jurídico.
806
936
 
807
937
  Retorna:
808
- * bool: True se o ID do processo jurídico for válido, False caso
938
+
939
+ - bool: True se o ID do processo jurídico for válido, False caso
809
940
  contrário.
810
941
 
811
942
  Examplo:
@@ -828,11 +959,13 @@ False
828
959
  Formata um ID de processo jurídico em um formato padrão.
829
960
 
830
961
  Argumentos:
831
- * legal_process_id (str): Uma string de 20 dígitos que representa o ID do
962
+
963
+ - legal_process_id (str): Uma string de 20 dígitos que representa o ID do
832
964
  processo jurídico.
833
965
 
834
966
  Retorna:
835
- * str: O ID do processo jurídico formatado ou None se a entrada for inválida.
967
+
968
+ - str: O ID do processo jurídico formatado ou None se a entrada for inválida.
836
969
 
837
970
  Exemplo:
838
971
 
@@ -853,11 +986,13 @@ Esta função recebe um processo jurídico como entrada e remove todas as
853
986
  ocorrências dos caracteres '.' e '-' dele.
854
987
 
855
988
  Argumentos:
856
- * legal_process (str): Um processo jurídico contendo símbolos a serem
989
+
990
+ - legal_process (str): Um processo jurídico contendo símbolos a serem
857
991
  removidos.
858
992
 
859
993
  Retorna:
860
- * str: A string do processo jurídico com os símbolos especificados removidos.
994
+
995
+ - str: A string do processo jurídico com os símbolos especificados removidos.
861
996
 
862
997
  Exemplo:
863
998
 
@@ -876,13 +1011,15 @@ from brutils import remove_symbols_legal_process
876
1011
  Gera um número válido aleatório de ID de processo jurídico.
877
1012
 
878
1013
  Argumentos:
879
- * year (int): O ano para o ID do processo jurídico (o padrão é o ano atual).
1014
+
1015
+ - year (int): O ano para o ID do processo jurídico (o padrão é o ano atual).
880
1016
  Não pode ser um ano do passado.
881
- * orgao (int): O órgão (1-9) para o ID do processo jurídico
1017
+ - orgao (int): O órgão (1-9) para o ID do processo jurídico
882
1018
  (o padrão é aleatório).
883
1019
 
884
1020
  Retorna:
885
- * str: Um ID de processo jurídico gerado aleatoriamente.
1021
+
1022
+ - str: Um ID de processo jurídico gerado aleatoriamente.
886
1023
  None caso algum dos argumento seja inválido.
887
1024
 
888
1025
  Exemplo:
@@ -903,17 +1040,20 @@ Exemplo:
903
1040
 
904
1041
  ### is_valid_voter_id
905
1042
 
906
- Verifica se um número de título de eleitor brasileiro é válido. Não verifica se realmente existe.
1043
+ Verifica se um número de Título de Eleitor brasileiro é válido. Não verifica se realmente existe.
907
1044
 
908
1045
  Referências:
909
- - https://pt.wikipedia.org/wiki/T%C3%ADtulo_de_eleitor
910
- - http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/
1046
+
1047
+ - <https://pt.wikipedia.org/wiki/T%C3%ADtulo_de_eleitor>
1048
+ - <http://clubes.obmep.org.br/blog/a-matematica-nos-documentos-titulo-de-eleitor/>
911
1049
 
912
1050
  Argumentos:
913
- * voter_id (str): string representando o número do título de eleitor a ser verificado.
1051
+
1052
+ - voter_id (str): string representando o número do título de eleitor a ser verificado.
914
1053
 
915
1054
  Retorna:
916
- * bool: True se o número do título de eleitor for válido. False, caso contrário.
1055
+
1056
+ - bool: True se o número do título de eleitor for válido. False, caso contrário.
917
1057
 
918
1058
  Exemplo:
919
1059
 
@@ -925,6 +1065,54 @@ False
925
1065
  True
926
1066
  ```
927
1067
 
1068
+ ### format_voter_id
1069
+
1070
+ Formata um número de Título de Eleitor para exibição visual.
1071
+
1072
+ Esta função recebe uma string de Título de Eleitor contendo
1073
+ apenas números como entrada e adiciona os espaços de formatação
1074
+ padrão para exibição.
1075
+
1076
+ Argumentos:
1077
+ * voter_id (str): Uma string de Título de Eleitor contendo apenas números.
1078
+
1079
+ Retorna:
1080
+ * str: O Título de Eleitor formatado com os espaços, se for válido.
1081
+ Retorna None se não for válido.
1082
+
1083
+ Exemplo:
1084
+
1085
+ ```python
1086
+ >>> from brutils import format_voter_id
1087
+ >>> format_voter_id("246593980493")
1088
+ '2465 9398 04 93'
1089
+ >>> format_voter_id("202715292895")
1090
+ '2027 1529 28 95'
1091
+ >>> format_voter_id("739035552205")
1092
+ >>>
1093
+ ```
1094
+
1095
+ ### generate_voter_id
1096
+
1097
+ Gera uma string de dígitos de Título de Eleitor válida aleatória a partir de um estado brasileiro informado.
1098
+
1099
+ Args:
1100
+ * 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.
1101
+
1102
+ Retorna:
1103
+ * str: Um Título de Eleitor válido gerado aleatoriamente.
1104
+
1105
+ Exemplo:
1106
+
1107
+ ```python
1108
+ >>> from brutils import generate_voter_id
1109
+ >>> generate_voter_id()
1110
+ '183475722801'
1111
+ >>> generate_voter_id(federative_union ="MG")
1112
+ '950125640248'
1113
+ ```
1114
+
1115
+
928
1116
  # Novos Utilitários e Reportar Bugs
929
1117
 
930
1118
  Caso queira sugerir novas funcionalidades ou reportar bugs, basta criar