Metadata-Version: 2.1
Name: vitya
Version: 0.13.0
Summary: Validators for different russian banking values
Home-page: https://github.com/hicebank/vitya
Author: hicebank.ru
Author-email: inyutin@hicebank.ru
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

# vitya

**WARNING**: This library is still in development stage.

Validators for different russian banking values.  
Values you can validate:
- ИНН ```validate_inn```
    - ИНН для ИП/Физ.Лица ```validate_inn_ip```
    - ИНН для Юр.Лица ```validate_inn_le```
- КПП ```validate_kpp```
- БИК ```validate_bic```
- ОГРН ```validate_ogrn```
    - ОГРНИП ```validate_ogrnip```
- СНИЛС ```validate_snils```
- ОКТМО ```validate_oktmo```

You should pass value as ```str```, otherwise exception will be raised.  
If passed value is wrong, all functions will raise ```ValidationError```.

Also, optionally, you can use validators as Pydantic fields

### Examples:

```python
validate_inn("3664069397")

try:
    validate_inn("770708389")
except ValidationError as e:
    print(f"wrong inn: {e}")
```

```python
validate_kpp("616401001")
validate_bic("044525901")
validate_ogrn("1027700132195")
validate_snils("11223344595")
validate_oktmo("69701000001")
```

```python
from pydantic import BaseModel, ValidationError
from vitya.pydantic_fields import INN


class InnModel(BaseModel):
    inn: INN


inn_model = InnModel(inn="302502032671")
assert inn_model.inn == "302502032671"

try:
    InnModel(inn="3664069398")
except ValidationError as e:
    print(e.errors())
```
