Skip to main content

kz-iin-validator

MIT License PyPI version PyPI downloads codecov tests

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

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

  • Production-ready библиотека
  • 100% code coverage - Библиотека полностью покрыта тестами
  • Zero-depency - Не требует дополнительных зависимостей
  • Базовая валидация данных ИИН, таких как дата, месяц, год
  • Генератор ИИН
  • Проверка целостности по хэш сумме ИИН. Алгоритм формирования ИИН регулируется Постановлением правительства РК "Об утверждении Программы перехода на единый номер физического (юридического) лица (индивидуальный идентификационный номер (бизнес-идентификационный номер) в целях создания Национальных реестров идентификационных номеров Республики Казахстан" от 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 safe_validate_iin, validate_iin

iin = "061211600012"
# use kz_iin_validator as in Golang (preferred in production)
validated_iin, error = safe_validate_iin(iin)
# or directly with exceptions raising:
# validated_iin = 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

Извлечь ИИН из текста:

from kz_iin_validator import extract_iin

text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit - 251112401047. Aliquam vel diam ac enim consequat rhoncus 700911204362!."

extracted_iin_list = extract_iin(text)
print(extracted_iin_list)

Metadata

Release files for kz-iin-validator 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kz-iin-validator 0.7.1
File Size Uploaded
kz_iin_validator-0.7.1.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kz-iin-validator 0.7.1
File Interpreter ABI Platform
kz_iin_validator-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 14.6 kB

Release files / kz_iin_validator-0.7.1.tar.gz

Download URL kz_iin_validator-0.7.1.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1234d7d7d7a65e4b91134b2ce798db82191741f5f89c895148be47728898fc5e
BLAKE2b-256 checksum
How to use checksums
bfd341faa62bd1782476e9d1fbfd40fb554357f52efb541b4d9bde42d6782e48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release files / kz_iin_validator-0.7.1-py3-none-any.whl

Download URL kz_iin_validator-0.7.1-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09df53fbb609f5c2e8799e86c0e7360a201a0fec36cb5ae578c0e37e5f4312e8
BLAKE2b-256 checksum
How to use checksums
a780d77f24e72645b73803baa209d8ca82e5a169b23006f25da0704474ae243d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.6

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page