HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/faker/providers/ssn/en_IN/__init__.py
from faker.utils import checksums

from .. import Provider as BaseProvider


class Provider(BaseProvider):
    """
    Faker provider for Indian Identifiers
    """

    aadhaar_id_formats = ("%##########",)

    def aadhaar_id(self) -> str:
        """
        Aadhaar is a 12 digit person identifier generated for residents of
        India.
        Details: https://en.wikipedia.org/wiki/Aadhaar
        Official Website: https://uidai.gov.in/my-aadhaar/about-your-aadhaar.html
        """

        aadhaar_digits = self.numerify(self.random_element(self.aadhaar_id_formats))
        checksum = checksums.calculate_luhn(int(aadhaar_digits))

        aadhaar_number = f"{aadhaar_digits}{checksum}"

        return aadhaar_number