Skip to main content

Check the value both type and value and then constraint it.

Project description

doCheck

Introduction

doCheck is an open-source type checking module written in Python, released under the Mulan Permissive Software License v2 (MulanPSL-2.0). This module provides a set of reusable Checker classes for validating properties and conditions of different types of values.

Installation

pip install doCheck

Features

  • Provides various logical operator overload methods such as intersection, union, complement, negation, etc., for composing complex data validation rules.
  • Includes LiteralChecker (also known as EnumChecker) to check if a value is in a predefined list.
  • TypeChecker is used to validate if a value belongs to a specific collection of data types.
  • RangeChecker supports conditional checks within a numeric range and allows customization of interval closure.
  • Additionally, CallableChecker and RegexChecker are provided to check if a value is a callable object and if a string matches a regular expression, respectively.

Usage Example

import doCheck as dc

# Create checker instances
is_integer = dc.TypeChecker(int)
is_even = dc.RangeChecker(0, float('inf'), leftClosed=True, step=2)
is_valid_name = dc.RegexChecker(r'^[A-Za-z]+\s[A-Za-z]+$')

# Apply checkers
print(is_integer.check(42))  # Output: True
print(is_even.check(10))     # Output: True
print(is_valid_name.check("John Doe"))  # Output: True

License

doCheck module is licensed under the Mulan Permissive Software License v2.0. For more information about this license, please visit: https://opensource.org/license/mulanpsl-2-0/

| Github | gitee | Static Badge |

Note: To use this module, make sure to import it correctly and comply with the relevant open-source license terms.

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

doCheck-0.1.3.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

doCheck-0.1.3-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

Supported by

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