Name | Rutificador JSON |
Version |
0.0.2
JSON |
| download |
home_page | https:// |
Summary | Esta librería proporciona una implementación en Python para validar y formatear el Rol Único Tributario (RUT) utilizado en Chile. |
upload_time | 2024-05-02 20:31:29 |
maintainer | None |
docs_url | None |
author | Carlos Ortega González |
requires_python | <4.0,>=3.9 |
license | MIT |
keywords |
rut
chile
validación
formateo
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[![Python](https://img.shields.io/badge/Python-3.9%2B-blue)](https://www.python.org/)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
# Rutificador
Una biblioteca Python para validar y formatear RUTs (Rol Único Tributario) chilenos.
## Características
- Validación del formato del RUT.
- Cálculo del dígito verificador del RUT.
- Formateo del RUT con diferentes opciones (separador de miles, mayúsculas, formato de salida).
- Validación y formateo de listas de RUTs.
- Manejo de excepciones personalizadas.
- **Procesamiento de lotes de RUTs:** Permite procesar lotes de RUTs en lugar de hacerlo individualmente, lo que agiliza el trabajo con grandes cantidades de datos.
- **Separación de resultados:** Los resultados de los lotes se entregan por separado, mostrando RUTs válidos e inválidos, y pueden exportarse en varios formatos, incluidos CSV, XML y JSON.
## Instalación
Puedes instalar la librería utilizando pip:
```python
!pip install *****
```
## Uso
### Importar la clase Rut
```python
from rutificador import Rut
```
## Crear Un Objeto
```python
rut1 = Rut('12345678-5')
rut2 = Rut('12.345.670')
```
## Validar un RUT
La validación del RUT se realiza automáticamente al crear un objeto `Rut`. La clase 'Rut' acepta RUTs con y sin dígito verificador así como RUTs con y sin separador de miles. Si el RUT ingresado no es válido, se lanzará una excepción `RutInvalidoError`.
## Calcular el Dígito Verificador de un RUT
```python
from rutificador import RutDigitoVerificador
digito_verificador = RutDigitoVerificador('12345678').digito_verificador
print(digito_verificador) # Salida: 5
```
## Formatear un RUT
```python
# Formato predeterminado
print(rut1.formatear()) # Salida: 12345678-5
# Con separador de miles
print(rut1.formatear(separador_miles=True)) # Salida: 12.345.678-5
# Formato predeterminado (Rut con dígito verificador = 'k')
print(rut2.formatear()) # Salida: 12345670-k
# Con separador de miles y en mayúsculas
print(rut2.formatear(separador_miles=True, mayusculas=True)) # Salida: 12.345.670-K
```
## Validar y Formatear una lista de RUTs con y sin formato
```python
# Sin formato
ruts = ['12345678-5', '12345670-k', '98765432-1']
ruts_validos = Rut.validar_lista_ruts(ruts)
print(Rut.formatear_lista_ruts(ruts_validos, separador_miles=True, mayusculas=True))
# Salida:
# 12.345.678-5
# 12.345.670-K
# 98.765.432-1
# En caso de que hayan RUTs inválidos, el método validar_lista_ruts creará un diccionario dos listas:
# una lista con los RUTs válidos (en el formato especificado) y otra con los inválidos.
# En formato csv
ruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']
csv_ruts = Rut.formatear_lista_ruts(ruts, formato='csv')
print(csv_ruts)
# Salida
RUTs válidos:
rut
12345678-5
9876543-3
1234567-4
18005183-k
# En formato json
ruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']
json_ruts = Rut.formatear_lista_ruts(ruts, formato='json')
print(json_ruts)
# Salida
RUTs válidos:
[{"rut": "12345678-5"}, {"rut": "9876543-3"}, {"rut": "1234567-4"}, {"rut": "18005183-k"}]
# En formato xml
ruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']
xml_ruts = Rut.formatear_lista_ruts(ruts, formato='xml')
print(xml_ruts)
# Salida
RUTs válidos:
<root>
<rut>12345678-5</rut>
<rut>9876543-3</rut>
<rut>1234567-4</rut>
<rut>18005183-k</rut>
</root>
# Formato predeterminado (formato = None)
ruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']
sin_formato_ruts = Rut.formatear_lista_ruts(ruts, formato=None)
print(sin_formato_ruts)
# Salida
RUTs válidos:
12345678-5
9876543-3
1234567-4
18005183-k
```
## Contribuciones
Las contribuciones son bienvenidas. Para colaborar solo debes abrir un 'issue' con el aporte deseado.
## Licencia
Este proyecto está licenciado bajo la Licencia MIT.
## Créditos
Este paquete fue creado por Carlos Ortega y se inspiró en el proyecto [rut-chile](https://github.com/gevalenz/rut-chile) de [gevalenz](https://github.com/gevalenz), que es un módulo Python que proporciona funcionalidades comunes relacionadas con el RUT chileno.
Raw data
{
"_id": null,
"home_page": "https://",
"name": "Rutificador",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": "RUT, Chile, validaci\u00f3n, formateo",
"author": "Carlos Ortega Gonz\u00e1lez",
"author_email": "carlosortega77@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/bf/71/8d246fd7f4b4f4b6d4b2c417d70d23c335d7ce6e2270670f4a5e28995697/rutificador-0.0.2.tar.gz",
"platform": null,
"description": "[![Python](https://img.shields.io/badge/Python-3.9%2B-blue)](https://www.python.org/)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n# Rutificador\n\nUna biblioteca Python para validar y formatear RUTs (Rol \u00danico Tributario) chilenos.\n\n## Caracter\u00edsticas\n\n- Validaci\u00f3n del formato del RUT.\n- C\u00e1lculo del d\u00edgito verificador del RUT.\n- Formateo del RUT con diferentes opciones (separador de miles, may\u00fasculas, formato de salida).\n- Validaci\u00f3n y formateo de listas de RUTs.\n- Manejo de excepciones personalizadas.\n- **Procesamiento de lotes de RUTs:** Permite procesar lotes de RUTs en lugar de hacerlo individualmente, lo que agiliza el trabajo con grandes cantidades de datos.\n- **Separaci\u00f3n de resultados:** Los resultados de los lotes se entregan por separado, mostrando RUTs v\u00e1lidos e inv\u00e1lidos, y pueden exportarse en varios formatos, incluidos CSV, XML y JSON.\n\n## Instalaci\u00f3n\n\nPuedes instalar la librer\u00eda utilizando pip:\n\n```python\n!pip install *****\n```\n\n## Uso\n\n### Importar la clase Rut\n\n```python\nfrom rutificador import Rut\n```\n\n## Crear Un Objeto\n\n```python\nrut1 = Rut('12345678-5')\nrut2 = Rut('12.345.670')\n```\n\n## Validar un RUT\n\nLa validaci\u00f3n del RUT se realiza autom\u00e1ticamente al crear un objeto `Rut`. La clase 'Rut' acepta RUTs con y sin d\u00edgito verificador as\u00ed como RUTs con y sin separador de miles. Si el RUT ingresado no es v\u00e1lido, se lanzar\u00e1 una excepci\u00f3n `RutInvalidoError`.\n\n## Calcular el D\u00edgito Verificador de un RUT\n\n```python\nfrom rutificador import RutDigitoVerificador\n\ndigito_verificador = RutDigitoVerificador('12345678').digito_verificador\nprint(digito_verificador) # Salida: 5\n```\n\n## Formatear un RUT\n\n```python\n# Formato predeterminado\nprint(rut1.formatear()) # Salida: 12345678-5\n\n# Con separador de miles\nprint(rut1.formatear(separador_miles=True)) # Salida: 12.345.678-5\n\n# Formato predeterminado (Rut con d\u00edgito verificador = 'k')\nprint(rut2.formatear()) # Salida: 12345670-k\n\n# Con separador de miles y en may\u00fasculas\nprint(rut2.formatear(separador_miles=True, mayusculas=True)) # Salida: 12.345.670-K\n```\n\n## Validar y Formatear una lista de RUTs con y sin formato\n\n```python\n# Sin formato\nruts = ['12345678-5', '12345670-k', '98765432-1']\nruts_validos = Rut.validar_lista_ruts(ruts)\nprint(Rut.formatear_lista_ruts(ruts_validos, separador_miles=True, mayusculas=True))\n# Salida: \n# 12.345.678-5\n# 12.345.670-K\n# 98.765.432-1\n# En caso de que hayan RUTs inv\u00e1lidos, el m\u00e9todo validar_lista_ruts crear\u00e1 un diccionario dos listas:\n# una lista con los RUTs v\u00e1lidos (en el formato especificado) y otra con los inv\u00e1lidos.\n\n\n# En formato csv\nruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']\ncsv_ruts = Rut.formatear_lista_ruts(ruts, formato='csv')\nprint(csv_ruts)\n# Salida\nRUTs v\u00e1lidos:\nrut\n12345678-5\n9876543-3\n1234567-4\n18005183-k\n\n# En formato json\nruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']\njson_ruts = Rut.formatear_lista_ruts(ruts, formato='json')\nprint(json_ruts)\n# Salida\nRUTs v\u00e1lidos:\n[{\"rut\": \"12345678-5\"}, {\"rut\": \"9876543-3\"}, {\"rut\": \"1234567-4\"}, {\"rut\": \"18005183-k\"}]\n\n# En formato xml\nruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']\nxml_ruts = Rut.formatear_lista_ruts(ruts, formato='xml')\nprint(xml_ruts)\n# Salida\nRUTs v\u00e1lidos:\n<root>\n <rut>12345678-5</rut>\n <rut>9876543-3</rut>\n <rut>1234567-4</rut>\n <rut>18005183-k</rut>\n</root>\n\n# Formato predeterminado (formato = None)\nruts = ['12.345.678', '9876543', '1.234.567-4', '18005183']\nsin_formato_ruts = Rut.formatear_lista_ruts(ruts, formato=None)\nprint(sin_formato_ruts)\n# Salida\nRUTs v\u00e1lidos:\n12345678-5\n9876543-3\n1234567-4\n18005183-k\n```\n\n## Contribuciones\n\nLas contribuciones son bienvenidas. Para colaborar solo debes abrir un 'issue' con el aporte deseado.\n\n## Licencia\n\nEste proyecto est\u00e1 licenciado bajo la Licencia MIT.\n\n## Cr\u00e9ditos\n\nEste paquete fue creado por Carlos Ortega y se inspir\u00f3 en el proyecto [rut-chile](https://github.com/gevalenz/rut-chile) de [gevalenz](https://github.com/gevalenz), que es un m\u00f3dulo Python que proporciona funcionalidades comunes relacionadas con el RUT chileno.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Esta librer\u00eda proporciona una implementaci\u00f3n en Python para validar y formatear el Rol \u00danico Tributario (RUT) utilizado en Chile.",
"version": "0.0.2",
"project_urls": {
"Homepage": "https://",
"Repository": "https://github.com/cortega26/Rutificador"
},
"split_keywords": [
"rut",
" chile",
" validaci\u00f3n",
" formateo"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d02a8575cbc6116bc5fb238d12bd6b98d2677921938d6ae8986f9cffccd25d1b",
"md5": "4d74d2f9a846e91816efe8a0eb04ce7d",
"sha256": "077a3788346f8755bcaf021b49642cf41bb709f5dd7712ea1b4e93a333bf0bc2"
},
"downloads": -1,
"filename": "rutificador-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4d74d2f9a846e91816efe8a0eb04ce7d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 6117,
"upload_time": "2024-05-02T20:31:28",
"upload_time_iso_8601": "2024-05-02T20:31:28.980908Z",
"url": "https://files.pythonhosted.org/packages/d0/2a/8575cbc6116bc5fb238d12bd6b98d2677921938d6ae8986f9cffccd25d1b/rutificador-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bf718d246fd7f4b4f4b6d4b2c417d70d23c335d7ce6e2270670f4a5e28995697",
"md5": "81e53233271f05e3b85f68e98070f4c3",
"sha256": "01a04f4310f925bf2858487a483a3d6ff99aff7d441f5aa9724e8910c1c705b7"
},
"downloads": -1,
"filename": "rutificador-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "81e53233271f05e3b85f68e98070f4c3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.9",
"size": 5554,
"upload_time": "2024-05-02T20:31:29",
"upload_time_iso_8601": "2024-05-02T20:31:29.962144Z",
"url": "https://files.pythonhosted.org/packages/bf/71/8d246fd7f4b4f4b6d4b2c417d70d23c335d7ce6e2270670f4a5e28995697/rutificador-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-02 20:31:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cortega26",
"github_project": "Rutificador",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rutificador"
}