Kazakhstan IIN parser and validator
Project description
kz-iin-validator
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
Схема формирования ИИН:
Схема
Установка:
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)
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.7.1.tar.gz
(6.6 kB
view hashes)
Built Distribution
Close
Hashes for kz_iin_validator-0.7.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09df53fbb609f5c2e8799e86c0e7360a201a0fec36cb5ae578c0e37e5f4312e8 |
|
MD5 | 5e811954cb044e848d0246a8bc816e97 |
|
BLAKE2b-256 | a780d77f24e72645b73803baa209d8ca82e5a169b23006f25da0704474ae243d |