clabe


Nameclabe JSON
Version 2.1.0 PyPI version JSON
download
home_pagehttps://github.com/cuenca-mx/clabe
SummaryValidate and generate the control digit of a CLABE in Mexico
upload_time2025-02-26 19:38:47
maintainerNone
docs_urlNone
authorCuenca
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements pydantic
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CLABE

[![test](https://github.com/cuenca-mx/clabe-python/workflows/test/badge.svg)](https://github.com/cuenca-mx/clabe-python/actions?query=workflow%3Atest)
[![codecov](https://codecov.io/gh/cuenca-mx/clabe-python/branch/main/graph/badge.svg)](https://codecov.io/gh/cuenca-mx/clabe-python)
[![PyPI](https://img.shields.io/pypi/v/clabe.svg)](https://pypi.org/project/clabe/)
[![Downloads](https://pepy.tech/badge/clabe)](https://pepy.tech/project/clabe)

Librería para validar y calcular un número CLABE basado en
https://es.wikipedia.org/wiki/CLABE

## Requerimientos

Python 3.8 o superior.

## Instalación

Se puede instalar desde Pypi usando

```
pip install clabe
```

## Pruebas

Para ejecutar las pruebas

```
$ make test
```

## Uso básico

### Como tipo personalizado en un modelo de Pydantic

```python
from pydantic import BaseModel, ValidationError

from clabe import Clabe


class Account(BaseModel):
    id: str
    clabe: Clabe


account = Account(id='123', clabe='723010123456789019')
print(account)
"""
id='123' clabe='723010123456789019'
"""

try:
    account = Account(id='321', clabe='000000000000000011')
except ValidationError as exc:
    print(exc)
"""
1 validation error for Account
clabe
  código de banco no es válido [type=clabe.bank_code, input_value='000000000000000011', input_type=str]
"""
```

### Obtener el dígito de control de un número CLABE

```python
import clabe
clabe.compute_control_digit('00200000000000000')
```

### Para validar si un número CLABE es válido

```python
import clabe
clabe.validate_clabe('002000000000000008')
```

### Para obtener el banco a partir de 3 dígitos

```python
import clabe
clabe.get_bank_name('002')
```

### Para generar nuevo válido CLABES

```python
import clabe
clabe.generate_new_clabes(10, '002123456')
```

## Agregar un nuevo banco

A partir de la versión **2.0.0**, el paquete ha sido actualizado para utilizar **Pydantic v2**, lo que implica que las versiones anteriores ya no recibirán soporte ni actualizaciones.

No obstante, en versiones anteriores hemos agregado una función que permite añadir bancos adicionales a la lista sin necesidad de crear un PR. Esto es útil para quienes aún utilicen versiones anteriores. Sin embargo, a partir de la versión 2, continuaremos manteniendo y actualizando la lista oficial de bancos mediante PRs en el repositorio.

### Cómo agregar un banco

Para agregar un banco, llama a la función `add_bank` pasando el código de Banxico y el nombre del banco como parámetros.

```python
import clabe
clabe.add_bank('12345', 'New Bank')
```

### Cómo eliminar un banco

De manera similar, puedes eliminar un banco llamando a la función remove_bank con el código del banco que deseas eliminar.

```python
import clabe
clabe.remove_bank('12345')
```

**Nota**: Aunque estas funciones están disponibles para un uso más flexible, recomendamos utilizar siempre la lista oficial de bancos actualizada en la versión 2+.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/cuenca-mx/clabe",
    "name": "clabe",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "Cuenca",
    "author_email": "dev@cuenca.com",
    "download_url": "https://files.pythonhosted.org/packages/20/fc/bd5d4bf0f3b0b9092bacd68f2563b1e76d3be9f5d7fbee4e23578dadaf89/clabe-2.1.0.tar.gz",
    "platform": null,
    "description": "# CLABE\n\n[![test](https://github.com/cuenca-mx/clabe-python/workflows/test/badge.svg)](https://github.com/cuenca-mx/clabe-python/actions?query=workflow%3Atest)\n[![codecov](https://codecov.io/gh/cuenca-mx/clabe-python/branch/main/graph/badge.svg)](https://codecov.io/gh/cuenca-mx/clabe-python)\n[![PyPI](https://img.shields.io/pypi/v/clabe.svg)](https://pypi.org/project/clabe/)\n[![Downloads](https://pepy.tech/badge/clabe)](https://pepy.tech/project/clabe)\n\nLibrer\u00eda para validar y calcular un n\u00famero CLABE basado en\nhttps://es.wikipedia.org/wiki/CLABE\n\n## Requerimientos\n\nPython 3.8 o superior.\n\n## Instalaci\u00f3n\n\nSe puede instalar desde Pypi usando\n\n```\npip install clabe\n```\n\n## Pruebas\n\nPara ejecutar las pruebas\n\n```\n$ make test\n```\n\n## Uso b\u00e1sico\n\n### Como tipo personalizado en un modelo de Pydantic\n\n```python\nfrom pydantic import BaseModel, ValidationError\n\nfrom clabe import Clabe\n\n\nclass Account(BaseModel):\n    id: str\n    clabe: Clabe\n\n\naccount = Account(id='123', clabe='723010123456789019')\nprint(account)\n\"\"\"\nid='123' clabe='723010123456789019'\n\"\"\"\n\ntry:\n    account = Account(id='321', clabe='000000000000000011')\nexcept ValidationError as exc:\n    print(exc)\n\"\"\"\n1 validation error for Account\nclabe\n  c\u00f3digo de banco no es v\u00e1lido [type=clabe.bank_code, input_value='000000000000000011', input_type=str]\n\"\"\"\n```\n\n### Obtener el d\u00edgito de control de un n\u00famero CLABE\n\n```python\nimport clabe\nclabe.compute_control_digit('00200000000000000')\n```\n\n### Para validar si un n\u00famero CLABE es v\u00e1lido\n\n```python\nimport clabe\nclabe.validate_clabe('002000000000000008')\n```\n\n### Para obtener el banco a partir de 3 d\u00edgitos\n\n```python\nimport clabe\nclabe.get_bank_name('002')\n```\n\n### Para generar nuevo v\u00e1lido CLABES\n\n```python\nimport clabe\nclabe.generate_new_clabes(10, '002123456')\n```\n\n## Agregar un nuevo banco\n\nA partir de la versi\u00f3n **2.0.0**, el paquete ha sido actualizado para utilizar **Pydantic v2**, lo que implica que las versiones anteriores ya no recibir\u00e1n soporte ni actualizaciones.\n\nNo obstante, en versiones anteriores hemos agregado una funci\u00f3n que permite a\u00f1adir bancos adicionales a la lista sin necesidad de crear un PR. Esto es \u00fatil para quienes a\u00fan utilicen versiones anteriores. Sin embargo, a partir de la versi\u00f3n 2, continuaremos manteniendo y actualizando la lista oficial de bancos mediante PRs en el repositorio.\n\n### C\u00f3mo agregar un banco\n\nPara agregar un banco, llama a la funci\u00f3n `add_bank` pasando el c\u00f3digo de Banxico y el nombre del banco como par\u00e1metros.\n\n```python\nimport clabe\nclabe.add_bank('12345', 'New Bank')\n```\n\n###\u00a0C\u00f3mo eliminar un banco\n\nDe manera similar, puedes eliminar un banco llamando a la funci\u00f3n remove_bank con el c\u00f3digo del banco que deseas eliminar.\n\n```python\nimport clabe\nclabe.remove_bank('12345')\n```\n\n**Nota**: Aunque estas funciones est\u00e1n disponibles para un uso m\u00e1s flexible, recomendamos utilizar siempre la lista oficial de bancos actualizada en la versi\u00f3n 2+.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Validate and generate the control digit of a CLABE in Mexico",
    "version": "2.1.0",
    "project_urls": {
        "Homepage": "https://github.com/cuenca-mx/clabe"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2206fe377e9177f44e2fa013dbbb9e3cc19ff7fb5f9aaa7628852998378a64e1",
                "md5": "322a35c73023fa0b0f60e998dbee314d",
                "sha256": "3f568c83f056ef2f513a2c44cf7ef5f110292c265049152d348a3853eb4e9bfd"
            },
            "downloads": -1,
            "filename": "clabe-2.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "322a35c73023fa0b0f60e998dbee314d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9703,
            "upload_time": "2025-02-26T19:38:45",
            "upload_time_iso_8601": "2025-02-26T19:38:45.928594Z",
            "url": "https://files.pythonhosted.org/packages/22/06/fe377e9177f44e2fa013dbbb9e3cc19ff7fb5f9aaa7628852998378a64e1/clabe-2.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "20fcbd5d4bf0f3b0b9092bacd68f2563b1e76d3be9f5d7fbee4e23578dadaf89",
                "md5": "b6797b4416188cd6cb750fbd0e3f101b",
                "sha256": "18e96c17d7886e7d4a942d9293cf19810b20579f8e4bfcd85c175c70fe204ab9"
            },
            "downloads": -1,
            "filename": "clabe-2.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b6797b4416188cd6cb750fbd0e3f101b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 8450,
            "upload_time": "2025-02-26T19:38:47",
            "upload_time_iso_8601": "2025-02-26T19:38:47.704519Z",
            "url": "https://files.pythonhosted.org/packages/20/fc/bd5d4bf0f3b0b9092bacd68f2563b1e76d3be9f5d7fbee4e23578dadaf89/clabe-2.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-26 19:38:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cuenca-mx",
    "github_project": "clabe",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.10.3"
                ]
            ]
        }
    ],
    "lcname": "clabe"
}
        
Elapsed time: 1.50908s