Additional click
parameter types are built on top of the validators
library, providing a wide range of validation options for various data types, including email addresses, IP addresses, credit card numbers, and more. This package simplifies the process of adding robust validation to your Click-based CLI applications.
clicktypes.amex()
clicktypes.base16()
clicktypes.base32()
clicktypes.base58()
clicktypes.base64()
clicktypes.bsc_address()
clicktypes.btc_address()
clicktypes.calling_code()
clicktypes.card_number()
clicktypes.country_code()
clicktypes.cron()
clicktypes.currency()
clicktypes.cusip()
clicktypes.diners()
clicktypes.discover()
clicktypes.domain()
clicktypes.email()
clicktypes.es_cif()
clicktypes.es_doi()
clicktypes.es_nie()
clicktypes.es_nif()
clicktypes.eth_address()
clicktypes.fi_business_id()
clicktypes.fi_ssn()
clicktypes.fr_department()
clicktypes.fr_ssn()
clicktypes.hostname()
clicktypes.iban()
clicktypes.ind_aadhar()
clicktypes.ind_pan()
clicktypes.ipv4()
clicktypes.ipv6()
clicktypes.isin()
clicktypes.jcb()
clicktypes.mac_address()
clicktypes.mastercard()
clicktypes.md5()
clicktypes.mir()
clicktypes.ru_inn()
clicktypes.sedol()
clicktypes.sha1()
clicktypes.sha224()
clicktypes.sha256()
clicktypes.sha384()
clicktypes.sha512()
clicktypes.slug()
clicktypes.trx_address()
clicktypes.unionpay()
clicktypes.url()
clicktypes.uuid()
clicktypes.visa()
pip install click-validators
for clicktypes.eth_address()
validation, additional package eth-hash[pycryptodome]>=0.7.0
is required.
pip install click-validators[eth]
import the module clicktypes
and use the validators as types in click commands.
import click
import clicktypes
@click.command(
help="validate email address",
)
@click.argument(
"email",
type=clicktypes.email(),
)
def main(email):
click.echo(f"valid {email=}")
if __name__ == "__main__":
main()
$ main.py fu@bar.com
valid email='fu@bar.com'
$ main.py fu.bar.com
Usage: main.py [OPTIONS] EMAIL
Try 'main.py --help' for help.
Error: Invalid value for 'EMAIL': 'fu.bar.com'.