LICENSE
README.md
pyproject.toml
src/simplibs/validate/__init__.py
src/simplibs/validate/raise_invalid.py
src/simplibs/validate/validate.py
src/simplibs/validate/exceptions/ParamError.py
src/simplibs/validate/exceptions/ValidateError.py
src/simplibs/validate/exceptions/ValidationError.py
src/simplibs/validate/exceptions/__init__.py
src/simplibs/validate/exceptions/build_validation_error.py
src/simplibs/validate/rules/__init__.py
src/simplibs/validate/rules/base_class/Rule.py
src/simplibs/validate/rules/base_class/__init__.py
src/simplibs/validate/rules/containers/AllOf.py
src/simplibs/validate/rules/containers/AnyOf.py
src/simplibs/validate/rules/containers/Compose.py
src/simplibs/validate/rules/containers/ForEach.py
src/simplibs/validate/rules/containers/NoneOf.py
src/simplibs/validate/rules/containers/Not.py
src/simplibs/validate/rules/containers/__init__.py
src/simplibs/validate/rules/containers/_helpers/__init__.py
src/simplibs/validate/rules/containers/_helpers/as_predicate.py
src/simplibs/validate/rules/containers/_helpers/build_child_exception.py
src/simplibs/validate/rules/containers/_helpers/describe_rule.py
src/simplibs/validate/rules/containers/_init_validators/__init__.py
src/simplibs/validate/rules/containers/_init_validators/raise_container_param_not_type_error.py
src/simplibs/validate/rules/containers/_init_validators/raise_requires_at_least_one_rule_error.py
src/simplibs/validate/rules/containers/_init_validators/raise_rule_param_not_callable.py
src/simplibs/validate/rules/containers/_init_validators/validate_compose_param_is_callable.py
src/simplibs/validate/rules/predicates/__init__.py
src/simplibs/validate/rules/predicates/_helpers/__init__.py
src/simplibs/validate/rules/predicates/_helpers/accepts_one_positional_argument.py
src/simplibs/validate/rules/predicates/_helpers/format_container.py
src/simplibs/validate/rules/predicates/_init_validators/__init__.py
src/simplibs/validate/rules/predicates/_init_validators/rule_errors/__init__.py
src/simplibs/validate/rules/predicates/_init_validators/rule_errors/raise_has_length_param_conflict_error.py
src/simplibs/validate/rules/predicates/_init_validators/rule_errors/raise_regex_param_invalid_pattern_error.py
src/simplibs/validate/rules/predicates/_init_validators/rule_errors/raise_user_rule_param_wrong_arity.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/__init__.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_min_max_bounds_inverted_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_min_max_incomparable_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_missing_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_not_callable_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_not_container_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_not_non_negative_integer_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_not_string_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_errors/raise_param_not_type_error.py
src/simplibs/validate/rules/predicates/_init_validators/shared_validators/__init__.py
src/simplibs/validate/rules/predicates/_init_validators/shared_validators/validate_param_is_integer.py
src/simplibs/validate/rules/predicates/_init_validators/shared_validators/validate_param_is_not_zero.py
src/simplibs/validate/rules/predicates/_init_validators/shared_validators/validate_param_is_primitive_number.py
src/simplibs/validate/rules/predicates/_init_validators/shared_validators/validate_param_remainder_in_range.py
src/simplibs/validate/rules/predicates/arithmetic/CloseTo.py
src/simplibs/validate/rules/predicates/arithmetic/DivisibleBy.py
src/simplibs/validate/rules/predicates/arithmetic/HasRemainder.py
src/simplibs/validate/rules/predicates/arithmetic/__init__.py
src/simplibs/validate/rules/predicates/checkers/IsEmpty.py
src/simplibs/validate/rules/predicates/checkers/IsFalse.py
src/simplibs/validate/rules/predicates/checkers/IsNone.py
src/simplibs/validate/rules/predicates/checkers/IsTrue.py
src/simplibs/validate/rules/predicates/checkers/NotEmpty.py
src/simplibs/validate/rules/predicates/checkers/__init__.py
src/simplibs/validate/rules/predicates/collections/AllUnique.py
src/simplibs/validate/rules/predicates/collections/HasItem.py
src/simplibs/validate/rules/predicates/collections/HasKey.py
src/simplibs/validate/rules/predicates/collections/HasKeys.py
src/simplibs/validate/rules/predicates/collections/IsContainer.py
src/simplibs/validate/rules/predicates/collections/IsSubsetOf.py
src/simplibs/validate/rules/predicates/collections/IsSupersetOf.py
src/simplibs/validate/rules/predicates/collections/__init__.py
src/simplibs/validate/rules/predicates/comparisons/Equals.py
src/simplibs/validate/rules/predicates/comparisons/GreaterOrEqual.py
src/simplibs/validate/rules/predicates/comparisons/GreaterThan.py
src/simplibs/validate/rules/predicates/comparisons/InRange.py
src/simplibs/validate/rules/predicates/comparisons/LessOrEqual.py
src/simplibs/validate/rules/predicates/comparisons/LessThan.py
src/simplibs/validate/rules/predicates/comparisons/NotEquals.py
src/simplibs/validate/rules/predicates/comparisons/__init__.py
src/simplibs/validate/rules/predicates/introspection/HasAttribute.py
src/simplibs/validate/rules/predicates/introspection/HasLength.py
src/simplibs/validate/rules/predicates/introspection/IsCallable.py
src/simplibs/validate/rules/predicates/introspection/IsDataclass.py
src/simplibs/validate/rules/predicates/introspection/IsHashable.py
src/simplibs/validate/rules/predicates/introspection/IsInstance.py
src/simplibs/validate/rules/predicates/introspection/IsIterable.py
src/simplibs/validate/rules/predicates/introspection/IsSubclass.py
src/simplibs/validate/rules/predicates/introspection/IsType.py
src/simplibs/validate/rules/predicates/introspection/__init__.py
src/simplibs/validate/rules/predicates/logic/Is.py
src/simplibs/validate/rules/predicates/logic/IsIn.py
src/simplibs/validate/rules/predicates/logic/IsNot.py
src/simplibs/validate/rules/predicates/logic/NotIn.py
src/simplibs/validate/rules/predicates/logic/UserRule.py
src/simplibs/validate/rules/predicates/logic/__init__.py
src/simplibs/validate/rules/predicates/numeric/IsBool.py
src/simplibs/validate/rules/predicates/numeric/IsDecimal.py
src/simplibs/validate/rules/predicates/numeric/IsFloat.py
src/simplibs/validate/rules/predicates/numeric/IsInfinity.py
src/simplibs/validate/rules/predicates/numeric/IsInteger.py
src/simplibs/validate/rules/predicates/numeric/IsNan.py
src/simplibs/validate/rules/predicates/numeric/IsNumber.py
src/simplibs/validate/rules/predicates/numeric/IsPi.py
src/simplibs/validate/rules/predicates/numeric/IsPrimitiveNumber.py
src/simplibs/validate/rules/predicates/numeric/IsZero.py
src/simplibs/validate/rules/predicates/numeric/__init__.py
src/simplibs/validate/rules/predicates/strings/Contains.py
src/simplibs/validate/rules/predicates/strings/EndsWith.py
src/simplibs/validate/rules/predicates/strings/IsBlank.py
src/simplibs/validate/rules/predicates/strings/IsString.py
src/simplibs/validate/rules/predicates/strings/IsSubstringOf.py
src/simplibs/validate/rules/predicates/strings/NotBlank.py
src/simplibs/validate/rules/predicates/strings/Regex.py
src/simplibs/validate/rules/predicates/strings/StartsWith.py
src/simplibs/validate/rules/predicates/strings/__init__.py
src/simplibs/validate/rules/typing/IsAny.py
src/simplibs/validate/rules/typing/IsTyping.py
src/simplibs/validate/rules/typing/__init__.py
src/simplibs/validate/rules/typing/build_typing_rule.py
src/simplibs/validate/rules/typing/_builders/ORIGIN_TABLE.py
src/simplibs/validate/rules/typing/_builders/__init__.py
src/simplibs/validate/rules/typing/_builders/build_annotated_rule.py
src/simplibs/validate/rules/typing/_builders/build_any_of_rule.py
src/simplibs/validate/rules/typing/_builders/build_callable_rule.py
src/simplibs/validate/rules/typing/_builders/build_elements_rule.py
src/simplibs/validate/rules/typing/_builders/build_key_value_rule.py
src/simplibs/validate/rules/typing/_builders/build_literal_rule.py
src/simplibs/validate/rules/typing/_builders/build_tuple_rule.py
src/simplibs/validate/rules/typing/_builders/build_type_rule.py
src/simplibs/validate/rules/typing/_validations/__init__.py
src/simplibs/validate/rules/typing/_validations/raise_unsupported_annotation_error.py
src/simplibs/validate/rules/typing/tools/__init__.py
src/simplibs/validate/rules/typing/tools/get_supported_origins.py
src/simplibs/validate/rules/typing/tools/is_supported_annotation.py
src/simplibs/validate/testing/__init__.py
src/simplibs/validate/testing/assert_rule_contract.py
src/simplibs/validate/testing/assert_validate_wrapper.py
src/simplibs/validate/testing/asserts/__init__.py
src/simplibs/validate/testing/asserts/assert_rule_build_exception.py
src/simplibs/validate/testing/asserts/assert_rule_is_valid.py
src/simplibs/validate/testing/asserts/assert_rule_param_error.py
src/simplibs/validate/testing/asserts/assert_rule_raise_invalid.py
src/simplibs/validate/testing/asserts/assert_rule_validate.py
src/simplibs/validate/tools/__init__.py
src/simplibs/validate/tools/log_this/__init__.py
src/simplibs/validate/tools/log_this/log_this.py
src/simplibs/validate/tools/log_this/_helpers/__init__.py
src/simplibs/validate/tools/log_this/_helpers/format_bound_arguments.py
src/simplibs/validate/tools/log_this/_helpers/get_context_info.py
src/simplibs/validate/tools/log_this/_helpers/log_exception.py
src/simplibs/validate/tools/log_this/_helpers/log_start.py
src/simplibs/validate/tools/log_this/_helpers/log_success.py
src/simplibs/validate/tools/override_rules/__init__.py
src/simplibs/validate/tools/override_rules/override_rules.py
src/simplibs/validate/tools/override_rules/_validations/__init__.py
src/simplibs/validate/tools/override_rules/_validations/raise_override_rules_invalid_error.py
src/simplibs/validate/tools/validate_call/__init__.py
src/simplibs/validate/tools/validate_call/validate_call.py
src/simplibs/validate/tools/validate_call/_helpers/__init__.py
src/simplibs/validate/tools/validate_call/_helpers/compile_parameter_rules.py
src/simplibs/validate/tools/validate_call/_helpers/compile_return_rule.py
src/simplibs/validate/tools/validate_call/_helpers/get_context_string.py
src/simplibs/validate/tools/validate_call/_helpers/is_bypass_parameter.py
src/simplibs/validate/tools/validate_call/_helpers/should_validate.py
src/simplibs/validate/tools/validate_call/_validations/__init__.py
src/simplibs/validate/tools/validate_call/_validations/raise_no_rule_for_checked_param.py
src/simplibs/validate/tools/validate_call/_validations/raise_no_rule_for_return.py
src/simplibs/validate/tools/validate_dataclass/__init__.py
src/simplibs/validate/tools/validate_dataclass/validate_dataclass.py
src/simplibs/validate/tools/validate_dataclass/_helpers/__init__.py
src/simplibs/validate/tools/validate_dataclass/_helpers/get_dataclass_context_string.py
src/simplibs/validate/tools/validate_dataclass/_validations/__init__.py
src/simplibs/validate/tools/validate_dataclass/_validations/raise_not_a_dataclass_error.py
src/simplibs/validate/tools/validated_type/__init__.py
src/simplibs/validate/tools/validated_type/validated_type.py
src/simplibs/validate/tools/validated_type/_validations/__init__.py
src/simplibs/validate/tools/validated_type/_validations/raise_validated_type_missing_rule_error.py
src/simplibs/validate/tools/validated_type/_validations/raise_validated_type_rule_invalid_error.py
src/simplibs/validate/validators/__init__.py
src/simplibs/validate/validators/validate_bool.py
src/simplibs/validate/validators/validate_container.py
src/simplibs/validate/validators/validate_float.py
src/simplibs/validate/validators/validate_int.py
src/simplibs/validate/validators/validate_mapping.py
src/simplibs/validate/validators/validate_number.py
src/simplibs/validate/validators/validate_str.py
src/simplibs/validate/validators/validate_type.py
src/simplibs/validate/validators/rules/__init__.py
src/simplibs/validate/validators/rules/boolean_rule.py
src/simplibs/validate/validators/rules/container_rule.py
src/simplibs/validate/validators/rules/float_rule.py
src/simplibs/validate/validators/rules/integer_rule.py
src/simplibs/validate/validators/rules/mapping_rule.py
src/simplibs/validate/validators/rules/number_rule.py
src/simplibs/validate/validators/rules/string_rule.py
src/simplibs/validate/validators/rules/type_rule.py
src/simplibs_validate.egg-info/PKG-INFO
src/simplibs_validate.egg-info/SOURCES.txt
src/simplibs_validate.egg-info/dependency_links.txt
src/simplibs_validate.egg-info/requires.txt
src/simplibs_validate.egg-info/top_level.txt
tests/test_raise_invalid.py
tests/test_validate.py