A Python library for parsing, validating, manipulating, generating, and formatting RUTs (Chilean identification).
pip install RUTlib
The module exports the following functions:
- clean_rut(rut: str) -> str
- validate_rut(rut: str) -> bool
- get_last_digit_of_rut(rut_numbers: int) -> str
- format_rut(rut: str, with_dots: bool = True) -> str
- generate_rut(length: int = 8, formatted: bool = True) -> str
This function takes a RUT as a string and removes all non-numeric characters, and transforms the input to uppercase.
from RUTlib import clean_rut
print(clean_rut('1.234-3')) # 12343
print(clean_rut('1234-3')) # 12343
print(clean_rut('12343')) # 12343
This function checks whether a RUT is valid according to the RUT verification rules.
from RUTlib import validate_rut
print(validate_rut('1.234-3')) # True
print(validate_rut('1234-3')) # True
print(validate_rut('12343')) # True
print(validate_rut('1.234-0')) # False
This function calculates the verification digit of a RUT.
from RUTlib import get_last_digit_of_rut
print(get_last_digit_of_rut(1234)) # 3
print(get_last_digit_of_rut(1235)) # 1
This function formats a RUT according to RUT conventions.
from RUTlib import format_rut
print(format_rut('12343')) # 1.234-3
print(format_rut('12343', False)) # 1234-3
This function generates a valid RUT randomly.
from RUTlib import generate_rut
print(generate_rut()) # Example: 12.345.678-5 (random)
print(generate_rut(7, False)) # Example: 1234567-5 (random)
If you want to contribute to this module, please create Issues in the repository or submit Pull Requests. Remember to follow the code of conduct and best practices for clean code.
Any changes in the logic of the module's functions should be properly tested and documented.
For more information about the RUT, consult the following link: RUT (Chile)
Version 0.1.3