Skip to main content

Kazakhstan IIN parser and validator

Project description

kz-iin-validator

codecov tests

kz-iin-validator - Библиотека для проверки и извлечения данных из ИИН на Python 3. ИИН - это Индивидуальный Идентификационный Номер граждан Республики Казахстан (РК) и юридических лиц РК

Возможности:

  • Production-ready библиотека
  • 100% code coverage - Библиотека полностью покрыта тестами
  • Zero-depency - Не требует дополнительных зависимостей
  • Базовая валидация данных ИИН, таких как дата, месяц, год
  • Генератор ИИН
  • Два варианта валидации: стандратное (по умолчанию) и дополнительно с использованием регулярных выражении (включается через аргумент weak_fast_check=True, не рекомендуется к использованию)
  • Проверка целостности по хэш сумме ИИН. Алгоритм формирования ИИН регулируется Постановлением правительства РК "Об утверждении Программы перехода на единый номер физического (юридического) лица (индивидуальный идентификационный номер (бизнес-идентификационный номер) в целях создания Национальных реестров идентификационных номеров Республики Казахстан" от 11 июня 2003 года N 565 - Ссылка на источник приказа

Требования:

  • Python 3.7 и выше * **

* судя по информации утилиты Vermin

** я могу адаптировать (забэкпортить) библиотеку для более старых версии Python, но стоит ли оно? Если что дайте мне знать

TODO:

  • Реализовать поддержку валидации БИН
  • Улучшеная документация
  • Static type hint using Mypy

Схема формирования ИИН:

Схема Schema IIN

Установка:

PyPI:

python3 -m pip install kz-iin-validator

Из GIT репозиторий:

python3 -m pip install git+https://github.com/ZhymabekRoman/kz-iin-validator

Использование:

Валидация ИИН:

from kz_iin_validator import validate_iin

iin = "061211600012"
validated_iin, error = validate_iin(iin)

print(f"ИИН: {iin}")

# Print IIN owner gender:
print(f"Пол: {validated_iin.gender.name.upper()}")

# Print IIN owner born information:
print(f"День: {validated_iin.born_date.day}")
print(f"Месяц: {validated_iin.born_date.month}")
print(f"Год: {validated_iin.born_date.year}")

# or directly access to datetime object:
# validated_iin.born_date._datetime

Генератор ИИН:

from kz_iin_validator import generate_iin

generated_iin = generate_iin()
print(generated_iin) # return generated valid IIN as string

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

kz_iin_validator-0.5.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

kz_iin_validator-0.5.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file kz_iin_validator-0.5.0.tar.gz.

File metadata

  • Download URL: kz_iin_validator-0.5.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for kz_iin_validator-0.5.0.tar.gz
Algorithm Hash digest
SHA256 025211d926b32a749676aa92f80c529a46875fe59ed28750d22c866956575709
MD5 7f40bf460407e7e15f3819a5801bb2a8
BLAKE2b-256 a8394aff2c849835b91dfae9256db502ba1c6d141acb2a7cf66a7cb7842ba8b2

See more details on using hashes here.

File details

Details for the file kz_iin_validator-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kz_iin_validator-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8b6f36b03ee3020d768359129d0d97012be149014e4c2015cad7e625c6bc81c
MD5 5d9f792b1ccea50b02f74fdbd8be55ac
BLAKE2b-256 a2e81688c5977993e745cad53ce8e539744825bed80c57cec1a93cd54b67eed8

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