Skip to main content

additional types for `click` parameter using `validators`.

Project description

click-validators

PyPI - Python Version PyPI - Version PyPI - Downloads PyPI - License GitHub - Pytest GitHub - Page GitHub - Release codecov pre-commit


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.sedol()
  • clicktypes.sha1()
  • clicktypes.sha224()
  • clicktypes.sha256()
  • clicktypes.sha384()
  • clicktypes.sha512()
  • clicktypes.slug()
  • clicktypes.trx_address()
  • clicktypes.unionpay()
  • clicktypes.url()
  • clicktypes.uuid()
  • clicktypes.visa()

Install

pip install click-validators

for clicktypes.eth_address() validation, additional package eth-hash[pycryptodome]>=0.7.0 is required.

PyPI - eth-hash

pip install click-validators[eth]

Usage

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()

Example

$ 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'.

Dependencies

PyPI - click PyPI - validators


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

click_validators-0.1.3.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

click_validators-0.1.3-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file click_validators-0.1.3.tar.gz.

File metadata

  • Download URL: click_validators-0.1.3.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.2 Linux/6.8.0-1021-azure

File hashes

Hashes for click_validators-0.1.3.tar.gz
Algorithm Hash digest
SHA256 112115d0f5f19e9aae4aa83ab8ccaf23c7f152493fa995ef7cd8511def04069b
MD5 09b80d25b3daccd7ed78001852a4b982
BLAKE2b-256 54017d2d5b05beaf858f761edcf08894a8cb21f529a64c15c458c988d625ac58

See more details on using hashes here.

File details

Details for the file click_validators-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: click_validators-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.2 Linux/6.8.0-1021-azure

File hashes

Hashes for click_validators-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 792b666eab90e6ee719ae6eef2d05142283dcb7b3a0d6a485b82955b6728f5d9
MD5 5ad4918660e3513bba27927709d9d040
BLAKE2b-256 5d4b86654243b9bdcdc3996c97a723c3a7b2b913dd728a24201479cc10d904e0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page