Skip to main content

Deal with Spanish DNIs in a Pythonic way.

Project description

dni

Simple DNI class and operations to make your life easier with Spanish Ids.

Release: 0.1.0

>>> import dni

>>> dni.is_valid("27592354J")
True

>>> # Not a DNI
>>> dni.is_valid("ABC123XYZ")
False

>>> dni.compute_check_letter("27592354")
"J"

>>> some_dni = dni.DNI("27592354J")
>>> some_dni.number
"27592354"
>>> some_dni.check_letter
"J"

>>> some_dni.format(case="upper", separator="-")
"27592354-J"

>>> dni.DNI("27592354J") == dni.DNI("27592354-j")
True

>>> dni.text_contains_dni("El señor Forges, con DNI 12345678Z, sactamente.")
True

>>> dni.extract_dnis_from_text("Mi DNI no es 12543456-S, es el 65412354-D.")
[DNI('12543456S'), DNI('65412354D')]

Install

$ pip install dni`

Features

  • Applies for Spanish DNI IDs.
  • Check validity of DNIs.
  • Get check letter for a DNI number.
  • Avoid primitive obsession with the DNI class. Get the components of the DNI, format it in different ways, check for equality.
  • Find and extract multiple DNIs from text.
  • Get detailed exceptions when a string has issues.

Docs

  • For an extensive compilation of usage examples, check the quickstart in the docs.
  • You can also check the full API reference.

Misc

  • If you spot a bug or want to request a feature, feel free to open an issue in this repository.

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

dni-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

File details

Details for the file dni-0.1.0.tar.gz.

File metadata

  • Download URL: dni-0.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.9

File hashes

Hashes for dni-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a4f9b657137d39401002f72bd56cc594661ff030d79ad1b7131bf2c3603ada26
MD5 289ff8381dd67420c7d8dfdfaf2bcb38
BLAKE2b-256 e8a00d094624c3e6a096cbfca4b828535ec24741fa819b3a1a398642a324746e

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