Socket
Book a DemoInstallSign in
Socket

fivalid

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fivalid

Lightweight field data validator.

pipPyPI
Version
0.3.0
Maintainers
1

fivalid

fivalid is lightweight field data validator.

Features

data validation::

>>> from fivalid import validators
>>> num = validators.Number(max=20)
>>> num(10)
>>> num(21)
fivalid.validators.InvalidValueError: over max

data validation and conversion::

>>> from fivalid import BaseField, validators, converters
>>> class PercentageField(BaseField):
...   validator = validators.All(
...     validators.Number(min=0, max=100),
...     validators.String())
...   converter = converters.int_converter
>>> field = PercentageField()
>>> field('99')
99
>>> field('200')
fivalid.validators.InvalidValueError: over max

structured data (e.g. nested dict, nested list) validation and conversion::

>>> from fivalid import StructuredFields, Dict, BaseField
>>> from fivalid.validators import String, Length, All, Flag
>>> from fivalid.converters import truthvalue_converter
>>> class CommentField(BaseField):
...   validator = All(String(), Length(max=500))
>>> class NicknameField(BaseField):
...   validator = All(String(), Length(max=20))
>>> class RememberMeField(BaseField):
...   validator = Flag()
...   converter = truthvalue_converter
>>> rule = Dict(
...   {'comment': CommentField(required=True),
...    'nickname': NicknameField(),
...    'remember me': RememberMeField()}
... )
>>> stfields = StructuredFields(rule)
>>> stfields({'comment': 'Hello, fivalid.',
...           'nickname': 'John Doe',
...           'remember me': '1'}
... )
{'comment': u'Hello, fivalid.', 'nickname': u'John Doe', 'remember me': True}

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts