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_pypi_test_1-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: dni_pypi_test_1-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_pypi_test_1-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8323a7ce00cdf4ab8f08a0d13dec585b16bbf4a0be80bdf68194c5851d2001e1
MD5 0565f20c949a6e27bf16afb0543a4eae
BLAKE2b-256 a7b557c64a77d0e078384b8ca88ae3fc4ea3fcf84f4d4b597891c1b9261b9f75

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