Skip to main content

Package to validate data in a fluent way

Project description

\n

fluent_validator

Validate Your Data with Ease!

Code style: black PyPI version PyPI - Downloads PyPI - Python Version GitHub stars GitHub forks GitHub license

Overview

fluent_validator is a Python package that makes data validation a breeze! Say goodbye to complex, nested if statements and hello to a fluent and expressive way to validate your data. With fluent_validator, you can easily define and execute validation rules for your data in a clean and readable manner.

Features

  • Fluent Syntax: Define validation rules in a clean and fluent manner.
  • No Extra Dependencies: fluent_validator is lightweight and doesn't require any additional packages.
  • Python 3.7+ Support: It works seamlessly with Python versions 3.7, 3.8, 3.9, 3.10, and 3.11.
  • Extensive Validation Library: Check out our extensive list of available validations to cover all your validation needs.

Installation

You can install fluent_validator using pip:

pip install fluent-validator

Usage

Here's a quick example of how to use fluent_validator:

from fluent_validator import validate, validate_all

# Validate a single value
validate(10).not_is_none().greater_than(5).not_equal(40)

# Or validate multiple values
validate_all(10, 100).not_is_none().greater_than(5).not_equal(40)

Available Validations

fluent_validator offers a wide range of validations to suit your needs.

Notably, all validations have a corresponding negative form. Simply prefix the method with not_.

For example, the negative of is_none() is not_is_none().

Check out the full list of available above.

Validation Description
between(min_vl, max_vl) Check if the object is within the specified range.
contains_at_least(value) Check if the object (assumed to be iterable) contains at least the specified number of elements.
contains_at_most(value) Check if the object (assumed to be iterable) contains at most the specified number of elements.
contains_exactly(value) Check if the object (assumed to be iterable) contains exactly the specified number of elements.
equal(value) Check if the object is equal to the specified value.
greater_or_equal_than(value) Check if the object is greater than or equal to the specified value.
greater_than(value) Check if the object is greater than the specified value.
has_unique_values() Check if the object (assumed to be iterable) contains unique values. Note: This function assumes that the object's elements are hashable.
is_bool() Check if the object is a boolean.
is_callable() Check if the object is callable (e.g., a function or method).
is_false() Check if the object is a boolean and has a value of False.
is_in() Check if the object is in a collection of values.
is_instance() Check if the object is an instance of one or more specified types.
is_iterable() Check if the object is iterable.
is_none() Check if the object is None.
is_number() Check if the object is a number (int or float).
is_string() Check if the object is a string.
is_true() Check if the object is a boolean and has a value of True.
less_or_equal_than(value) Check if the object is less than or equal to the specified value.
less_than(value) Check if the object is less than the specified value.
max(value) Check if the object is less than or equal to the specified maximum value.
min(value) Check if the object is greater than or equal to the specified minimum value.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions about fluent_validator, please feel free to open an issue. We're here to help!

Happy Validating! 🚀

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

fluent_validator-0.1.0.tar.gz (5.2 kB view hashes)

Uploaded Source

Built Distribution

fluent_validator-0.1.0-py3-none-any.whl (6.4 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