Skip to main content

Spanish DNI utilities for NIE/NIF

Project description

Spanish DNI

SD is a library of utilities for the Python programming language that allows validating both NIE and NIF. It also can be used to generate NIF/NIE list.

Installation

Can be installed via PiPI.

pip install spanish-dni

How to use it

Sample code to validate NIF/NIE list.

from spanish_dni.dni import DNI
from spanish_dni.validator.exceptions import NotValidDNIException
from spanish_dni.validator import validate_dni

my_dnis: list[str] = [
    "23414538D",
    "Y2853959H",
    "23418D",
    "U2853959H",
    "23414538T",
]

for dni in my_dnis:
    valid = True
    try:
        dni_parsed: DNI = validate_dni(dni)
        print(f"DNI {dni} is type {dni_parsed.dni_type}")
    except NotValidDNIException:
        valid = False
        print(f"DNI {dni} is not valid")

Sample code to generate random NIF list of 8 elements with no initial characters provided.

from spanish_dni.generator import generate_dni


for _ in range(8):
    print(generate_dni())

Sample code to generate random NIF list of 8 elements which all of them start with number 0.

from spanish_dni.generator import generate_dni


for _ in range(8):
    print(generate_dni(first_characters="0"))

Sample code to generate random NIE list of 8 elements.

from spanish_dni.generator import generate_dni


for _ in range(8):
    print(generate_dni(is_nie=True))

Limitations

For the moment, it can not be used to generate random NIE with first character parameter. If it is tried, it will raise an IncompatibleParametersDNIGeneratorException exception.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spanish_dni-1.0.3.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

spanish_dni-1.0.3-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file spanish_dni-1.0.3.tar.gz.

File metadata

  • Download URL: spanish_dni-1.0.3.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.4

File hashes

Hashes for spanish_dni-1.0.3.tar.gz
Algorithm Hash digest
SHA256 c0f2399c94150705f9f287aead57dfcac904093a4005cb59149838850e31cf53
MD5 0b9af3ac593f46d631f7f6860c4087c0
BLAKE2b-256 e2e6a050d91407ee916bf199b77ee3c921817dab79d7a4fc870bd745304c143d

See more details on using hashes here.

File details

Details for the file spanish_dni-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: spanish_dni-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.4

File hashes

Hashes for spanish_dni-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8755f7d83e842dfd56c1a339a927cbf58bc6bd03d52077bb278fe615ddeac590
MD5 f993410f120450788f7fe3947c4a2cbb
BLAKE2b-256 4e3fdff7de35122dccbd41d4468d67f546b1a8084c036a253fc79056c1f097af

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page