
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
pip install check-password
Check(lang="ru")
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΏΠΎΡΡΡ ΠΈ Π΄Π°ΡΡ Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄Π°
password() -> bool | str | list
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° Π²Ρ
ΠΎΠ΄ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ True/False, str ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ password: str
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
result_type | str | Π’ΠΈΠΏ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΡΠΎΠΊΡ ΠΈΠ· "bool", "str", "list" | "bool" |
upper | int or bool | ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΡΠΊΠ² Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° | True |
lower | int or bool | ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΡΠΊΠ² Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° | True |
numbers | int or bool | ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡ | True |
symbols | int or bool | ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈ/ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΏΠ΅Ρ. ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² | True |
required_symbol | str | Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΠΏΠ°ΡΠΎΠ»Π΅ | None |
min_length | int | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΠΏΠ°ΡΠΎΠ»Ρ | 6 |
max_length | int | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° ΠΏΠ°ΡΠΎΠ»Ρ | 128 |
check_simple_password | open() | ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΠ°ΡΠΎΠ»Ρ, Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ open('filename.txt') , ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ | None |
max_similarity | int | ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΡ ΠΎΠΆΠ΅ΡΡΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Ρ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ 0.7 | 0.7 |
from check_password import Check
check = Check(lang="ru")
print(check.password("qwerty")) # False
print(check.password("Q1wer@ty")) # True
print(check.password("qwerty", result_type="list")) # ['Π ΠΏΠ°ΡΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²Π΅ΡΡ
Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°', 'Π ΠΏΠ°ΡΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΈΡΡΡ', 'Π ΠΏΠ°ΡΠΎΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ']
print(check.password("Q1wer@ty", check_simple_password=open("filename.txt"), result_type="list")) # ['ΠΠ°ΡΠΎΠ»Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΉ']
print(check.password("qWERty1!", upper=3)) # True
email() -> bool | str | list
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° Π²Ρ
ΠΎΠ΄ ΠΏΠΎΡΡΡ ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ True/False, str ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ email: str
result_type: str
| Π’ΠΈΠΏ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΡΠΎΠΊΡ ΠΈΠ· "bool", "str", "list"from check_password import Check
check = Check(lang="ru")
print(check.email("ivan@gmail.com")) # True
print(check.email("-ivan-@gmail.com")) # False
print(check.email("ivan@gmail.com", result_type="list")) # []
print(check.email(".ivan@gmail.com", result_type="list")) # ['ΠΠ΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»']
date() -> bool | str | list
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° Π²Ρ
ΠΎΠ΄ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ True/False, str ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ date: str
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
date_split | str | Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ | - |
date_format | str | Π€ΠΎΡΠΌΠ°Ρ Π΄Π°ΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΈΠ· "d/m/y", "d/y/m", "m/d/y", "m/y/d", "y/m/d", "y/d/m" | d/m/y |
min_year | str | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ°, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ %d-%m-%Y | 01-01-1900 |
max_year | str | ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π°ΡΠ°, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ %d-%m-%Y | 01-01-3000 |
result_type | str | Π’ΠΈΠΏ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΡΠΎΠΊΡ ΠΈΠ· "bool", "str", "list" | "bool" |
from check_password import Check
check = Check(lang="ru")
print(check.date("01-01-2022")) # True
print(check.date("01-01-2022", max_year="01-01-2021")) # False
print(check.date("01-01-2022", min_year="01-01-2021")) # True
print(check.date("01-01-2022", result_type="list")) # []
print(check.date("54-32-2022", result_type="list")) # ['ΠΠ΅Π²Π΅ΡΠ½Π°Ρ Π΄Π°ΡΠ°']
Generate()
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ
passwords() -> list()
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ ΠΏΠ°ΡΠΎΠ»Ρ:
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
length | int | ΠΠ»ΠΈΠ½Π° ΠΏΠ°ΡΠΎΠ»Ρ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: 6 | 11 |
count | int | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ: 1 | 1 |
upper | bool | ΠΠ°Π»ΠΈΡΠΈΠ΅ Π·Π°Π³Π»Π°Π²Π½ΡΡ Π±ΡΠΊΠ² | True |
number | bool | ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠΈΡΡ | True |
symbol | bool | ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² | True |
from check_password import Generate
print(Generate().passwords()) # -> ['KieSI6:65tg']
print(Generate().passwords(length=20)) # -> ['SD_qOC~v{ip07GA5WISA']
print(Generate().passwords(count=3)) # -> ['TiaZA3:42bt', 'BaoKE7^70cj', 'JuyVO9@69zd']
print(Generate().passwords(upper=False, number=False)) # -> ['pjpawb*yj=a']
FAQs
lib for check password, email or date for validate
We found that check-password demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.